[Seasar-user:12450] Re: [S2Axis2]WSDLファイルのURL部分の設定方法について
"元場 羊二郎(Youjirou Motob
"元場 羊二郎(Youjirou Motob
2008年 1月 10日 (木) 18:50:25 JST
たかのり様
話がそれてしまって申し訳ないのですが、もしご存知でしたらご教
授頂けると助かりす。
カスタムWSDLを使用すると、特定のサービスメソッドのレスポンス
xmlのフォーマットが、カスタムWSDLを使用しない場合と異なって
しまうのですが、カスタムWSDLを使用しても、しなくても同じ
フォーマットで返せるかどうかご存知ないでしょうか?
フォーマットが異なるサービスメソッドとしては、wsdlでレスポンスを
<xs:element minOccurs="0" name="return" nillable="true"
type="xs:anyType"/>
としているサービスメソッドのレスポンスxmlが、
カスタムWSDLを使用すると
<メソッド名+Response>
〜略〜
</メソッド名+Response>
カスタムWSDLを使用しないと
<ns:メソッド名+Response>
〜略〜
</ns:メソッド名+Response>
となります。
カスタムWSDLを使用しても、使用しない場合と同じフォーマットで
返したい。と考えています。
Webサービス起動時にwsdlの情報をリードしている段階ではprefix
がns:としてサービスに登録されているように見えるのです
が・・、org.apache.axis2.rpc.receivers.RPCUtilでレスポンス
xmlを生成する段階ではprefixを取得すると空文字列になってし
まっているようです。
以上、宜しくお願い致します。
元場 羊二郎(Youjirou Motoba) さんは書きました:
> たかのり様
>
> お世話になっております。
> 元場です。
>
> 早速のご対応ありがとうございます。
> アップして頂いたjarファイルでカスタムWSDLが適用されることが
> 確認できました。
> 大変助かりました、ありがとうございます。
>
> 以上、宜しくお願い致します。
>
> Takanori Suzuki さんは書きました:
>> たかのりです。
>>
>> カスタムWSDLを適用できるようにしたjarファイルを、
>> 以下にアップしたので確認してみてください。
>>
>> https://www.seasar.org/maven/maven2-snapshot/org/seasar/axis/s2axis2/0.5.0-SNAPSHOT/
>>
>>
>> 以下の方法で利用できます。
>> ------------------------------------------------------------
>> 1. 利用したいWSDLファイルを、以下のどちらかに配置する。
>>
>> ■クラスパス直下のMETA-INFディレクトリの配下
>> 例)WEB-INF/classes/META-INF/EchoFormCustomWSDL.wsdl
>>
>> ■デプロイするサービスと同じクラスパス
>> 例)サービスのパッケージが、org.seasar.remoting.axis2.examples.ex01の場合、
>> WEB-INF/classes/org/seasar/remoting/axis2/examples/ex01/EchoFormCustomWSDL.wsdl
>>
>> 2. diconもしくはserivce.xmlで、カスタムWSDLを利用するように指定。
>> →以下の例では、エンドポイントのアドレスを変更できるよう、
>> modifyUserWSDLPortAddressも指定している。
>>
>> ------------------------------------------------------------
>> ■diconで指定する場合
>> →ServiceDefで、useOriginalwsdlパラメータを指定する(true/falseだが、文字列であることに注意)
>>
>> <component name="WSDLServiceTest"
>> class="org.seasar.remoting.axis2.mock.impl.ServiceMockImpl">
>> <meta name="axis-service">
>> <component class="org.seasar.remoting.axis2.ServiceDef">
>> <initMethod name="addParameter">
>> <arg>"useOriginalwsdl"</arg>
>> <arg>"true"</arg>
>> </initMethod>
>> <initMethod name="addParameter">
>> <arg>"modifyUserWSDLPortAddress"</arg>
>> <arg>"false"</arg>
>> </initMethod>
>> </component>
>> </meta>
>> </component>
>>
>> ■service.xmlで指定する場合
>> → useOriginalwsdlパラメータを指定する。
>>
>> <parameter locked="false" name="useOriginalwsdl">true</parameter>
>> <parameter locked="false" name="modifyUserWSDLPortAddress">false</parameter>
>>
>>
>> 以下に、サンプルを追加したので、参考にしてみてください。
>> ------------------------------------------------------------
>> http://svn.seasar.org/browse/trunk/s2axis2-examples/src/main/resources/org/seasar/remoting/axis2/examples/ex06/?root=s2axis
>> http://svn.seasar.org/browse/trunk/s2axis2-examples/src/main/resources/META-INF/?root=s2axis
>>
>>
>> 以上
>>
>>
>
> //
> motoba
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
//
motoba
Seasar-user メーリングリストの案内