CXF 配备备忘

CXF 配置备忘
服务端配置:
web.xml

<web-app>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/classes/application-context.xml,/WEB-INF/classes/application-webservice.xml</param-value>
	</context-param>

	<listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	</listener>

	<servlet>
		<servlet-name>CXFServlet</servlet-name>
		<!--<display-name>CXF Servlet</display-name>-->
		<servlet-class>
			org.apache.cxf.transport.servlet.CXFServlet
		</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>CXFServlet</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>
</web-app>



application-webservice.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" />

	<jaxws:endpoint id="helloWorld" implementor="test.HelloWorldImpl" address="/HelloWorld" /> 
	
	<!-- <jaxws:endpoint id="helloWorld" implementor="#helloWorldImpl" address="/HelloWorld" ></jaxws:endpoint>-->
</beans>



IHelloWorld.java
package test;
import javax.jws.WebService;

@WebService
public interface IHelloWorld {
	public String sayHello(String name);
}



HelloWorldImpl.java
package test;
import javax.jws.WebService;

@WebService
public class HelloWorldImpl implements IHelloWorld {

	public String sayHello(String name) {
		System.out.println("sayHello is called by " + name);
		return "Hello " + name;
	}

}




http://127.0.0.1:8088/CXFSpring/HelloWorld?wsdl
CXF 配备备忘


客户端配置:

application-webservice.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">


	<jaxws:client 
		id="helloWorldClient" 
		address="http://127.0.0.1:8088/CXFSpring/HelloWorld" 
		serviceClass="test.IHelloWorld"/>
	
</beans>



package client;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import test.IHelloWorld;


public class Client {

	public static void main(String[] args) {
		ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
		IHelloWorld helloWorld = (IHelloWorld) context.getBean("helloWorldClient");
		System.out.println(helloWorld.sayHello("Test"));
	}

}