You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by Apache Wiki <wi...@apache.org> on 2005/04/04 13:06:15 UTC

[Ws Wiki] Update of "ja/axis/DealingWithCommonExceptions" by ToshiyukiKimura

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Ws Wiki" for change notification.

The following page has been changed by ToshiyukiKimura:
http://wiki.apache.org/ws/ja/axis/DealingWithCommonExceptions

The comment on the change is:
Axis Wiki in Japanese

New page:
##language:ja

'''一般的な Axis 例外 (Java)'''

'''{{{Exception: javax.xml.rpc.ServiceException: Cannot find service: (例外: javax.xml.rpc.ServiceException: サービスが見つかりません:)}}}'''

ここで起こっていることはおそらく、サービスの修飾名を正しく設定していないことでしょう。つまり名前は単純に修飾なしの文字列ではなく、名前空間の URI が含まれていないといけません。普通は、サービスに関連する WSDL を見て、サービスの QName が構築される際にtargetNamespace 属性の値が使われているか確かめればいいでしょう。

'''{{{Exception: No client transport named 'null' found! (例外: 'null' という名前のクライアントのトランスポートが見つかりませんでした。)}}}'''

ここで起こっていることはおそらく、エンドポイントを明示的に設定するのを忘れていたことでしょう。もしあなたのエンドポイントが http スキーマを使用するのであれば、{{{setTargetEndpointAddress}}}関数を使って{{{Call}}}オブジェクトインスタンスに、あなたのエンドポイントが http スキーマを使用していることを設定する必要があります。多くの初心者は http に基づくサービスを使用するので、{{{setTargetEndpointAddress}}}を呼ぶ前にまずエンドポイントから{{{java.net.URL}}}オブジェクトを作成する必要があります。

'''{{{Exception: org.apache.axis.ConfigurationException: Can't find handler name:'null' (例外: org.apache.axis.ConfigurationException: 'null' という名前のハンドラが見つかりませんでした)}}}'''

もし自分のハンドラを書き、それをデプロイメントディスクリプタに追加した際に、<handler> 要素の type 属性の値に java 名前空間接頭辞を忘れると、この例外を見ることになります。

例:
{{{
<handler name="myHandler" type="java:GenericHandler" /> 
}}}
java 接頭辞を付け忘れないようにしましょう。クラス名が長くなり、修飾した java クラス名が代わりにここに来ると間違って仮定してしまうことが時々あるので、これは混乱しやすいのです。