axis 2 springと結合してサービスを作成します。
まずaxis 2とspringに必要なjarパッケージを導入します。ここではこれ以上話しません。
次に作成/WEB-INF/services/module-name/META-INNF/services.xml(module-nameは任意で、カタログ構造はこのように維持する必要があります)。
services.xmlの内容は以下の通りです。
次に作成/WEB-INF/services/module-name/META-INNF/services.xml(module-nameは任意で、カタログ構造はこのように維持する必要があります)。
services.xmlの内容は以下の通りです。
<serviceGroup>
<!-- -->
<service name="demoService">
<parameter name="ServiceObjectSupplier">org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier</parameter>
<!-- spring bean -->
<parameter name="SpringBeanName">demoService</parameter>
<messageReceivers>
<!-- -->
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
<!-- -->
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</messageReceivers>
<!--multiple action -->
<messageReceiver
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" /> <!--multiple action -->
</service>
</serviceGroup>
web.xmlの修正は以下の通りです。
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<!-- axis2 begin -->
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<!-- axis2 end -->
WSDLにアクセスすることでhttp://server-ip-name:port/application-name/services/services-name?wsdlは、生成されたwsdlを得ることができる。