当前位置: 代码迷 >> Web前端 >> WebService(2):XFire实现WebService
  详细解决方案

WebService(2):XFire实现WebService

热度:336   发布时间:2013-03-06 16:20:31.0
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。

?????????

?

?

?????????

  相关解决方案