- - PR -
WSDDの記述エラーについての質問
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-23 21:13
サーバ/クライアント共にJavaを用いて、Webサービスを作っています。 Tomcat+Axis1.1でファイル転送(Attachment機能)を組んでいるのですが、WSDDからWSDLを生成する時にエラーになります。 表示されるエラーは以下のものです. /----ここから AXIS error Sorry, something seems to have gone wrong... here are the details: Fault - ; nested exception is: WSDLException: faultCode=OTHER_ERROR: Can't find prefix for 'urn:クラス名'. Namespace prefixes must be set on the Definition object using the addNamespace(...) method.: AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: WSDLException: faultCode=OTHER_ERROR: Can't find prefix for 'urn:クラス名'. Namespace prefixes must be set on the Definition object using the addNamespace(...) method.: faultActor: faultNode: faultDetail: ここまで----/ 問題はWSDDのtypeMappingだと思いますが、どのようにすれば良いのでしょうか? 上記エラーログだけでは解決方法がわからず困っています。 #参考にしたサイトや書籍では、下記のような記述で問題なさそうなのですが... /----WSDDここから <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:myNS="urn:クラス名"> <service name="クラス名" style="java:RPC"> <parameter name="className" value="クラス名"/> <parameter name="allowedMethods" value="*"/> <parameter name="scope" value="session"/> <typeMapping deserializer="org.apache.axis.encoding.ser.JAFDataHandlerDeserializerFactory" languageSpecificType="java:javax.activation.DataHandler" qname="myNS:DataHandler" serializer="org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </service> </deployment> WSDDここまで----/ |
|
投稿日時: 2005-07-24 00:13
Axis1.1でのファイル転送(Attachment機能)については詳しく知らないのですが、エラーを見る限り「urn:クラス名」がおかしいと怒られているのではないでしょうか?
他の要因で、typeMappingがおかしいと考えたのでしたら、その要因を教えていただければ解決に結びつくかもしれません。(ここにはすばらしい先輩方がたくさんいらっしゃいますので) <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:myNS="urn:クラス名"> <---ここ とりあえず、問題の箇所を削除してやってみてはいかがでしょうか? |
|
投稿日時: 2005-07-24 10:15
私もご指摘の通り、クラス名関係の部分かなと思ったのですが、
xmlns:myNS="urn:クラス名"> <---ここ 上記箇所の記述を削除してみたところ、AdminClientのコマンドが失敗し、 Axisへの登録そのものが失敗してしまいます。 >他の要因で、typeMappingがおかしいと考えたのでしたら、 >その要因を教えていただければ解決に結びつくかもしれません。 さしたる確証はないのですが、肝はDataHandlerの取り扱いだと思っています。 同じクラス名で、DataHandlerを使わない(Attachment機能を使わない)処理であれば、 動作は上手くいきます。 その場合wsddには <typeMapping>エレメントの記述は不要ですので、 今回 <typeMapping>のどこかで間違った記述や、記述が不足しているのでは? と思いまいした。 #他には、Axisのjar関係の不一致も考えてみたのですが、参考資料指定のものと変わらずでした。 |
|
投稿日時: 2005-07-24 21:24
自レスです。
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:myNS="http://xml.apache.org/xml-soap" > 上記のように3行目を変更することにより解決しました。 ↓以下は参考URLです。 http://www.mail-archive.com/axis-user@xml.apache.org/msg12024.html |
1