动手编写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两种客户端调用方式可以参考下这个博客