WebService(二):XFire实现WebService

          下面使用介绍Java开发WebService的第二种方法,使用XFire开发。利用XFire开发WebService有三种方法。1)一种是从JavaBean中生成;2)二种是从WSDL文件中生成;3)自己建立WebService项目。

           新建webservice工程。

          service接口:HelloWorldService.java

package com.zhangwei.webservice.service;

/**
 * @author zhangwei
 *
 */
public interface HelloWorldService {
	
	public String hello(String name) ;

}

      Service实现:HelloWorldServiceImpl.java

package com.zhangwei.webservice.service.impl;

import com.zhangwei.webservice.service.HelloWorldService;

/**
 * @author zhangwei
 *
 */
public class HelloWorldServiceImpl implements HelloWorldService{

	public String hello(String name) {
		return "hello," +  name;
	}
}

      再修改services.xml文件,加入发布服务的代码。

<service>
		<name>HelloWorldService</name>
		<serviceClass>com.zhangwei.webservice.service.HelloWorldService</serviceClass>
		<implementationClass>com.zhangwei.webservice.service.impl.HelloWorldServiceImpl</implementationClass>
		<style>wrapped</style>
		<use>literal</use>
		<scope>application</scope>
	</service>

          再将WebService项目发布到tomcat,打开浏览器访问http://localhost:8088/webservice/services/HelloWorldService?wsdl,就可以看到webservice发布成功的信息。

          客户端调用HelloWorldService

           HelloWorldClient.java

/**
 * 
 */
package com.zhangwei.webservice.service.client;

import java.net.MalformedURLException;

import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;

import com.zhangwei.webservice.service.HelloWorldService;

/**
 * @author zhangwei
 * 
 */
public class HelloWorldClient {

	/**
	 * @param args
	 * @throws MalformedURLException
	 */
	public static void main(String[] args) throws MalformedURLException {

		Service s = new ObjectServiceFactory().create(HelloWorldService.class);
		XFireProxyFactory xp = new XFireProxyFactory(XFireFactory.newInstance()
				.getXFire());
		String url = "http://localhost:8088/webservice/services/HelloWorldService";
		HelloWorldService hws = (HelloWorldService) xp.create(s, url);
		System.out.println(hws.hello("GodFather!"));
	}

}

 

          运行该类就可以访问发布的WebService。值得注意的客户端需要commons-httpclient这个jar。

         

         

猜你喜欢

转载自zwustudy.iteye.com/blog/1820439