现在的位置: 首页 > 综合 > 正文

java编写及调用webservice

2018年03月31日 ⁄ 综合 ⁄ 共 2277字 ⁄ 字号 评论关闭

动手编写WebService前先了解下它的原理及概念参考博客

一、WebService服务端:

1、创建Web Service Project   项目名:WebServiceTest

2、编写WebService接口

com.test.service.ISayHello.java

package com.test.service; 

/** 
 * WebService服务接口
 * @author  ***** 
 * @version  [版本号, Nov 5, 2014] 
 * @see  [相关类/方法] 
 * @since  [产品/模块版本] 
 */
public interface ISayHello {
	public String Hello(String name);
}

3、编写WebService实现类

com.test.service.impl.SayHelloImpl.java

package com.test.service.impl; 

import com.test.service.ISayHello;

/** 
 * WebService服务类
 * @author  *****
 * @version  [版本号, Nov 5, 2014] 
 * @see  [相关类/方法] 
 * @since  [产品/模块版本] 
 */
public class SayHelloImpl implements ISayHello{

	public String Hello(String name) {
		return name+",您好!";
	}

}

4、导入WebService包

5、编写配置文件

WebServices/services.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<!-- addtime 2014年11月5日11:46:38 start -->
<service>
<name>WebServiceTest</name>
<namespace>www.test.service.com/WebServiceTest</namespace>
<serviceClass>com.test.service.ISayHello</serviceClass>
<implementationClass>com.test.service.impl.SayHelloImpl</implementationClass>
</service>
<!-- addtime 2014年11月5日11:49:20 end -->
</beans>

6、部署并测试

浏览器输入

http://localhost:8080/WebServiceTest/services

二、WebService客户端:

1、创建Web Project   项目名:ClientTest

2、导入相关包(方法同服务端一样,右击项目名-->MyEclipse-->Add XFire...)

3、编写客户端接口

com.test.service.ISayHello.java

 package com.test.service; 

/** 
 * <一句话功能简述> 
 * <功能详细描述> 
 * @author  ***** 
 * @version  [版本号, Nov 5, 2014] 
 * @see  [相关类/方法] 
 * @since  [产品/模块版本] 
 */
public interface ISayHello {

	public String Hello(String name);
}

4、编写接口实现类

com.test.service.TestWS.java

package com.test.service; 

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;

/** 
 * @author  *****
 * @version  [版本号, Nov 5, 2014] 
 * @see  [相关类/方法] 
 * @since  [产品/模块版本] 
 */
public class TestWS {

public static void main(String[] args) {
	String url = "http://192.168.**.**:8080/WebServiceTest/services/WebServiceTest";
	Service service = new ObjectServiceFactory().create(ISayHello.class);
	XFireProxyFactory foctoryProxy = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
	try {
		ISayHello objSayHello = (ISayHello) foctoryProxy.create(service,url);
		System.out.println(objSayHello.Hello("zhangsan"));
	} catch (MalformedURLException e) {
		e.printStackTrace();
	}
}	
}

5、运行测试--测试结果

zhangsan,您好!

WebServices两种客户端调用方式可以参考下这个博客

抱歉!评论已关闭.