Service Configuration
Axis1.x では、サービスの定義にWDDD(Web Service Deployment Descriptor)ファイルが利用されていましたが、Axis2では、service.xml が利用されます。
定義内容も変わっているので、どのような定義ができるか改めて確認。
- service.xml
<service name="name of the service"
scope="name of the scope"
targetNamespace="target namespase for the service">
<description> The description of the service </description>
<transports>
<transport>HTTP</transport>
</transports>
<schema schemaNamespace="schema namespace"/>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass" locked="xsd:false">
org.apache.axis2.sample.echo.EchoImpl
</parameter>
<operation name="echoString" mep="operation MEP">
<actionMapping>Mapping to action</actionMapping>
<module ref=" a module name "/>
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
<excludeOperations>
<operation>method1</operation>
<operation>method2</operation>
</excludeOperations>
</service>| タグ/属性 | 説明 | デフォルト値 |
|---|---|---|
| name | サービスの名前 | |
| scope | サービスのスコープ(Application, SOAPSession, TransportSession, Requestが指定可) | Request |
| targetNamespace | スキーマ定義をする際に対象となる名前空間(WSDLのtargetNamespace) | http://ws.apache.org/axis2 |
| description | サービスの説明 | |
| transports | Webサービスの通信方式 | HTTP |
| schema | スキーマの名前空間 | |
| messageReceivers | デフォルトのMessageReceiver | RawXMLINOutMessageReceiver RawXMLINOnlyMessageReceiver |
| parameter | ServiceClass:サービスクラス | |
| operation | サービスとして公開するメソッドの定義 | |
| excludeOperations | サービスクラスのメソッドの内、公開しないメソッドの定義 |
上の定義を S2Axis2 でも指定できるきるようにしよう。
S2Axis と同じように ServiceDef クラスを用意しようと考えているけど、中身は別物になるね。