XFire - WebService

XFire是下一代java SOAP框架。 XFire提供了非常方便的API,使用这些API可以开发面向服务(SOA)的程序。

它支持各种标准,性能优良(基于低内存的STAX模型)。

 

第一步,创建一个Web Project (XFire1)

 

第二步,修改XFire1的web.xml配置文件

由于XFire会使用XfireServlet,负责提供Web Services,并提供每个Web Service的WSDL

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

	<servlet>
		<servlet-name>XFireServlet</servlet-name>
		<display-name>XFire Servlet</display-name>
		<!-- 
			在web.xml文件中定义一个xfireServlet,负责提供Web Services,
			并提供每个Web Service的WSDL。如果你发布一个Web Service(BookService),你可以通过
			http://<server_url[:port]>/<context>/services/BookService来访问这个Web Service
			http://<server_url[:port]>/<context>/services/BookService?WSDL来访问Web Service的WSDL信息
		 -->
		<servlet-class>
			org.codehaus.xfire.transport.http.XFireConfigurableServlet
    </servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>XFireServlet</servlet-name>
		<url-pattern>/servlet/XFireServlet/*</url-pattern>
	</servlet-mapping>

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

 

第三步,创建接口类和实现类

 

package wei.peng.xfire1;

/**
 * 接口类  HelloService
 * @author WPeng
 * @time  2011-3-14 下午03:25:56
 * @email [email protected]
 */
public interface HelloService {
	
	public String hello(String name);
}
 

 

package wei.peng.xfire1;

/**
 * 实现类   HelloServiceImpl
 * @author WPeng
 * @time  2011-3-14 下午03:26:08
 * @email [email protected]
 */
public class HelloServiceImpl implements HelloService {

	@Override
	public String hello(String name) {
		if(name == null){
			return "Hello Guest";
		}
		return "Hello " + name;
	}

}
 

第四步,在WEB-INF/src/META-INF/xfire目录下创建一个services.xml配置文件

 

<beans xmlns="http://xfire.codehaus.org/config/1.0">
	<service>
		<!-- 服务名称 -->
		<name>HelloService</name>
		<!-- 命名空间 -->
		<namespace>http://localhost:10000/HelloService</namespace>
		<!-- 服务接口 -->
		<serviceClass>wei.peng.xfire1.HelloService</serviceClass>
		<!-- 服务实现类 -->
		<implementationClass>wei.peng.xfire1.HelloServiceImpl</implementationClass>
	</service>
</beans>
 

第五步,发布开发的Web Service

 

第六步,使用Xfrie的Client API消费Web Services

 

package wei.peng.client.test;

import java.net.MalformedURLException;
import java.net.URL;

import org.codehaus.xfire.client.Client;


public class TestClient_3_XFire {

	public static void main(String[] args) {
		try {
			Client client = new Client(new URL("http://localhost:10000/XFire1/services/HelloService?wsdl"));
			Object[] results = client.invoke("hello", new Object[]{"wei.peng"});
			System.out.println(results[0]);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
 

 

你可能感兴趣的:(xml,Web,webservice,servlet,SOA)