----------------------------------------------------------------------------
----------------------------------------------------------------------------
<!-- Spring 配置 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-config.xml</param-value>
</context-param>
<!-- Axis 配置 -->
<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>
<servlet-name>AxisAdminServlet</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisAdminServlet</servlet-name>
<url-pattern>/axis2-admin/*</url-pattern>
</servlet-mapping>
----------------------------------------------------------------------------
【spring-config.xml】
----------------------------------------------------------------------------
<bean id="applicationContext" class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" />
<bean id="helloService" class="cn.lou.study.axis2.HelloServiceImpl"></bean>
----------------------------------------------------------------------------
【WEB-INF\modules】中的文件列表:
----------------------------------------------------------------------------
- addressing-1.6.2.mar
- mex-1.6.2.mar
- modules.list
- mtompolicy-1.6.2.mar
- ping-1.6.2.mar
- scripting-1.6.2.mar
- soapmonitor-1.6.2.mar
----------------------------------------------------------------------------
【WEB-INF\services】中的文件列表:
----------------------------------------------------------------------------
- <工程名称>\META-INF\services.xml
- services.list
- version.aar
----------------------------------------------------------------------------
【WEB-INF\services\<工程名称>\META-INF\services.xml】
----------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
<service name="service" targetNamespace="http://kaobian.iteye.com/"
scope="application">
<parameter name="ServiceObjectSupplier">org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
</parameter>
<parameter name="SpringBeanName">helloService</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>
</service>
</serviceGroup>
----------------------------------------------------------------------------
【HelloService.java】的内容:
----------------------------------------------------------------------------
package cn.lou.study.axis2;
public class HelloService {
public String sayHello(String name) {
System.out.println("Hello " + name + "!");
return "Hello " + name + "!";
}
}
----------------------------------------------------------------------------
【HelloServiceClient.java】的内容:
----------------------------------------------------------------------------
package cn.lou.study.axis2;
import javax.xml.namespace.QName;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class HelloServiceClient {
@SuppressWarnings("unchecked")
public static void main(String[] args1) throws Exception {
String str = "{}";
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
options.setAction("sayHello");
EndpointReference targetEPR = new EndpointReference("http://localhost:8080/JavaStudy/services/service");
options.setTo(targetEPR);
Object[] opAddEntryArgs = new Object[] { "Lou" };
Class[] classes = new Class[] { String.class };
serviceClient.setTargetEPR(targetEPR);
QName opAddEntry = new QName("http://axis2.study.lou.cn", "sayHello");
str = serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0].toString();
serviceClient.cleanupTransport();
System.out.println(str);
}
}
----------------------------------------------------------------------------