Myeclipse开发WebService接口服务端和客户端.docx
《Myeclipse开发WebService接口服务端和客户端.docx》由会员分享,可在线阅读,更多相关《Myeclipse开发WebService接口服务端和客户端.docx(12页珍藏版)》请在冰豆网上搜索。
Myeclipse开发WebService接口服务端和客户端
查看了网上的各类用Java开发WebService接口的方法,有些麻烦而且行不通,自己实践后,将实践过程记录如下,以备以后之用。
一、服务端发布WebService接口
1、在Myeclipse中,选择File->new->WebServiceProject,然后输入项目名称,框中内容按如下所示选择即可,然后点击next。
2.点击next后,出现如下画面:
3、再点击next,勾选两个框。
4、点击2次next后出现如下界面,勾选所有框
5、点击Finish完成后。
在该项目上的JavaBuildPath,选择Libraries标签,点击AddLibirary,在弹出框中,选择MyEclipseLibrary,如下图所示:
6、点击next后,在弹出框中选择JAX-WS2.1Libraries,并点击Finish,检查Libraries标签中是否已经添加上了刚添加的Lib
7、在下面这个页面上全部勾选:
8、在TestServiceDemo/src目录下,新建如下图结构的类:
其中IServiceHello类为接口,ServiceHelloImpl类为实现,具体代码如下:
IServiceHello类:
packagecom.mf5.app.service;
publicinterfaceIServiceHello
{
publicStringsayHello();
publicStringsayHelloName(Stringname);
}
ServiceHelloImpl类:
packagecom.mf5.app.serviceimpl;
importjavax.jws.WebMethod;
importjavax.jws.WebService;
importjavax.jws.soap.SOAPBinding;
importcom.mf5.app.service.IServiceHello;
@WebService(targetNamespace="http:
//demo.webservice",name="Hello")
@SOAPBinding(style=SOAPBinding.Style.RPC)
publicclassServiceHelloImplimplementsIServiceHello
{
publicfinalStringstr="WebService服务器返回消息...";
@WebMethod
publicStringsayHello()
{
returnstr+"Hello!
";
}
@WebMethod
publicStringsayHelloName(Stringname)
{
returnstr+name;
}
}
9、在WEB-INF目录下,新建一个文件,名称为:
sun-jaxws.xm,其中内容如下:
xmlversion="1.0"encoding="UTF-8"?
>
implementation="com.mf5.app.serviceimpl.ServiceHelloImpl"
url-pattern="/testservice">
10、在web.xml文件中,在 TestServiceDemo 下面添加如下代码:
注意的是,在sun-jaxws.xm中的url-pattern的值与web.xml中的servlet-mapping中映射的url-pattern的值必须是一样的。
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
testservice
com.sun.xml.ws.transport.http.servlet.WSServlet
1
testservice
/testservice
11、可将TestServiceDemo部署在Myeclipse自带的Tomcat中,并启动tomcat服务器。
启动成功后,访问:
http:
//localhost:
8080/TestServiceDemo/testservice,如果出现如下页面,则说明WebService部署成功。
点击页面中的WSDL连接地址,访问的是该WebService的wsdl文件内容:
二、在Myeclipse上编写客户端,访问接口
1、同样新建一个WebServiceProject工程,名字为TestClient。
2、打开cmd命令,进入到项目的src目录下,输入以下命令:
wsimport -keep http:
//localhost:
8080/TestServiceDemo/testservice?
wsdl
回车后就会将wsdl上的接口信息生成java类文件,放在src目录下。
3、刷新项目,可看到src目录下有新文件生成。
4、编写DemoTest类,测试是否能调用接口。
代码如下:
packagecom.mf5.test;
importwebservice.demo.Hello;
importwebservice.demo.ServiceHelloImplService;
publicclassDemoTest
{
publicstaticvoidmain(String[]args)
{
//创建一个用于产生WebServiceImpl实例的工厂,WebServiceImplService类是wsimport工具生成的
ServiceHelloImplServicefactory=newServiceHelloImplService();
//通过工厂生成一个WebServiceImpl实例,WebServiceImpl是wsimport工具生成的
HellowsImpl=factory.getHelloPort();
//调用WebService的sayHello方法
StringresResult=wsImpl.sayHello();
System.out.println("调用WebService的sayHello方法返回的结果是:
"+resResult);
System.out.println("---------------------------------------------------");
//调用WebService的sayHelloName方法
resResult=wsImpl.sayHelloName("寒冰非一日之冻");
System.out.println("调用WebService的save方法返回的结果是:
"+resResult);
}
}
5、运行该DemoTest,检查console如下结果,为成功访问接口。