咱们在作系统集成时,常常会须要调用webservice接口,本文将讲解在myeclipse中创建一个webservice项目,编写接口和实现类,而且发布webservice,最后在myeclipse中创建客户端调用发布的webservice接口,而且对接口进行测试。本文在结束时提供了测试中使用到的全部源代码。web
友情提示,本文使用的工具为myeclipse 8.5。eclipse
一、第一步,在myeclipse中创建一个webservice项目。工具
输入项目名为WebService,选择XFire,以下图所示。测试
选择Next,以下图spa
再选择Next,以下图。3d
最后点击Finish,就创建好了一个WebService项目。code
二、编写接口HelloService和接口实现类HelloServiceImpl,代码以下xml
package com.service; public interface HelloService { public String hello(); }
package com.service.impl; import com.service.HelloService; public class HelloServiceImpl implements HelloService { public String hello() { return "Hello World..."; } }
三、在WebService项目下的services.xml中配置发布的接口,配置以下:blog
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>MyService</name> <serviceClass>com.service.HelloService</serviceClass> <implementationClass>com.service.impl.HelloServiceImpl</implementationClass> </service> </beans>
四、将此WebService项目发布到Tomcat中,本人测试使用的是Tomcat 6.0,首先须要将Tomcat 6.0配置到myeclipse,而后经过myeclipse将项目发布到Tomcat中,而且启动Tomcat,这里省略,启动后,在IE中输入访问地址http://127.0.0.1:9999/WebService/services,进行访问,其中127.0.0.1为本机IP,9999为Tomcat配置的端口号,WebService为项目发布的名称,services为web.xml文件中配置的Servlet访问地址,访问后以下图所示。接口
点击MyService 右边的[wsdl],能够看到咱们发布的WSDL地址为http://127.0.0.1:9999/WebService/services/MyService?wsdl,至此咱们已经实现了创建WebService项目,而且发布一个简单的WebService接口。
五、在Myeclipse中创建客户端调用WebService发布的接口,而且进行测试。
5-一、首先在Myeclipse中再创建一个WebService项目,项目名为WebServiceClient,创建过程同上。以后在WebServiceClient中创建客户端链接咱们发布的WebService接口。
5-二、在WebServiceClient中创建客户端。选中WebServiceClient项目,选择New下的Other,以下图所示。
选择Other后,以下图。
选择Web Service Client,点击[Next],以下图。
输入信息如上图后,点击[Next],以下图。
输入数据如上图,WSDL URL为咱们发布的WSDL地址,这里咱们选择了包com.client做为测试代码的存放位置,点击【Next】,以下图。
在上图中对WSDL进行校验,上图显示校验未发现错误,点击【Next】,以下图。
点击【Finish】就完成了创建客户端,而且从咱们发布的WebService接口中下载代码到客户端上,以下图
在上图中,咱们能够看到从咱们发布的WebService接口中下载的代码,下面咱们将使用MyServiceClient类调用咱们发布的WebService接口,对接口进行测试。
5-三、在WebServiceClient项目中打开MyServiceClient类,咱们在main方法中添加一行控制台输出代码,以下
public static void main(String[] args) { MyServiceClient client = new MyServiceClient(); //create a default service endpoint MyServicePortType service = client.getMyServiceHttpPort(); System.out.println(service.hello());//新添加的测试代码 //TODO: Add custom client code here // //service.yourServiceOperationHere(); System.out.println("test client completed"); System.exit(0); }
点击鼠标右键,选择Run as - Java Application,执行main方法,以下图。
控制台输出结果为:
由上图能够看到,咱们成功经过客户端调用了发布的WebService接口中的方法。
service.hello(); hello方法为咱们编写的HelloServiceImpl类中的hello方法。