服务器端:
@WebService
public interface PayService {
public String pay(String name);
}
@WebService(endpointInterface="com.lmning.PayService")
public class PayServiceImpl implements PayService {
public String pay(String name) {
System.out.println("service method is called by:"+name);
return "welcom "+name;
}
}
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<bean id="payimpl" class="com.lmning.PayServiceImpl"></bean>
<jaxws:endpoint id="payservice" implementor="#payimpl" address="/pay">
</jaxws:endpoint>
</beans>
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
客户端:
导入服务器端的服务接口:
@WebService
public interface PayService {
public String pay(String name);
}
使用web服务的类:
public class Bank {
/**
* @param args
*/
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
PayService pay = (PayService)ctx.getBean("payserviceClient");
System.out.println(pay.pay("liming"));
}
}
客户端bean.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<jaxws:client id="payserviceClient" address="http://127.0.0.1:8081/spring-cxf/pay"
serviceClass="com.lmning.PayService">
</jaxws:client>
</beans>
ok!