[AXIS-28] カスタムのWSDLを適用できるようにする Created: 2008-01-02  Updated: 2008-01-13  Resolved: 2008-01-13

Status: Closed
Project: S2Axis
Component/s: S2Axis2
Affects Version/s: S2Axis2 0.4.0
Fix Version/s: S2Axis2 0.5.0

Type: New Feature Priority: Major
Reporter: takanori Assignee: takanori
Resolution: Fixed Votes: 0
Labels: None


 Description   

カスタムのWSDLを適用できるようにする。
Axis2では、以下の方法で指定することが可能。

1. services.xmlで、以下のパラメータを指定する。
<parameter locked="false" name="useOriginalwsdl">true</parameter>
2. services.xmlとカスタムのWSDLファイルを、以下に配置する(aar形式でなくてもサービスはデプロイできる)。
  WEB-INF/services/<サービス名>/META-INF

※参考
org.apache.axis2.deployment.repository.util.ArchiveReader#processWSDLs
org.apache.axis2.description.WSDLToAxisServiceBuilder



 Comments   
Comment by takanori [ 2008-01-13 ]

anyTypeの場合もnameSpabeが適用されるように修正。
→サービスの生成後にWSDLの情報を適用していたのを、サービス生成直前に行うようにした。

以下の仕様変更あり。
・WSDLファイルを配置するのは、クラスパス直下のMETA-INFのみとする。
・JAX-WSは対象外とする。

Comment by takanori [ 2008-01-13 ]

anyTypeの場合に、nameSpageが空になってしまう問題がある。
http://ml.seasar.org/archives/seasar-user/2008-January/012450.html

Comment by takanori [ 2008-01-05 ]

カスタムのWSDLを指定できるようにした。
指定するには、以下の定義を行うようにすることが必要。

------------------------------------------------------------
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>

以下にサンプルを追加
 org/seasar/remoting/axis2/examples/ex06

Generated at Wed Apr 24 10:29:03 JST 2024 using Jira 9.15.0#9150000-sha1:9ead8528714127d8cfabf2446010d7e62c0a195c.