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 クラスを用意しようと考えているけど、中身は別物になるね。