- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本文主要讲解如何使用MyEclipse8.6集成的xfire构建WebService,并构建一个客服端去访问。
新建web Service Project工程,File-new-Web Service Project,弹出如下的对话框:
图 1
2.在Project Name中填写“MyWebService”,在Framework中选择“XFire”。
图 2
点击next后选择默认
图 3
4点击Finish后,自动生成web.xml配置文件,这个是tomcat服务器的配置文件,这个自动生成的文件的作用就是服务器告诉所有访问路径:8080/MyService/services/*的请求全部交给org.codehaus.xfire.transport.http.XFireConfigurableServlet去处理。
新建一个webservice的服务端,File-new-other-MyEclipse-Web Services-Web Service【如果要暴露多个服务一下步骤重复就可】
图 4
图 5
在Strategy中,选择第二个同时把复选框选上
图 6
7.点击next,输入服务类名MyService, 新建一个包名com.server
图 7
8.点击finish,在包server下自动生成一个接口类IMyService和一个实现类MyServiceImpl,在Web Service文件下自动生成services.xml【这个xml的意思就是对发布的web服务接口的描述】
图 8
9.部署这个web service到tomcat上,其实只要驱动tomcat即可,选择MyWebService右击,在出现的选项中选择“Run As”,“3 MyEclipse Server Application”。
10.在浏览器中输入::8080/MyWebService/services 【默认端口是8080,这边列出了所有可以得到的服务方法和相应的wsdl】这边就说明服务端已经成功部署了,点击wsdl如下:
图 9
图 10
11.接着我们新建一个客服端访问这个服务。
新建一个java类,这个java类可以在任意的工程中,不一定要在本工程中。File-New-Other...,出现如下的对话框:
图 11
点击Next,出现如下的对话框,填写的信息如下所示:
图 12
输入如下代码:这边为了能够查看soap报文添加了调试信息
package org.client;
import .MalformedURLException;
import .URL;
import org.codehaus.xfire.client.Client;
public class MyClient {
public static void main(String[] args) throws MalformedURLException,
Exception {
Client client = new Client(new
URL(http://localhost:8080/MyWebService/services/MyService?wsdl)); //这个会根据相应的wsdl秒速构想相应的客服端
client.addInHandler(new org.codehaus.xfire.util.dom.DOMInHandler());
client.addOutHandler(new org.codehaus.xfire.util.dom.DOMOutHandler());
client.addFaultHandler(new org.codehaus.xfire.util.dom.DOMOutHandler());
client.addInHandler(new org.codehaus.xfire.util.LoggingHandler());
client.addOutHandler(new org.codehaus.xfire.util.LoggingHandler());
client.addFaultHandler(new org.codehaus.xfire.util.LoggingHandler());
Object[] results = client.invoke(example, new Object[] { Better late than never. }); //这边调用wsdl描述中的example方法,同时传递参数“Better late than never.”
System.out.println(results[0]); //这边输出
}
}
12.注意如果没有Cl
文档评论(0)