XFire实现WebService服务端及客户端
发布时间:2020-12-17 00:19:20 所属栏目:安全 来源:网络整理
导读:创建Web Service 1.新建Web Project项目 2.右击项目-Myeclipse-Add XFire Web Service,弹窗详细设置如图: 3.创建Web Service,弹窗详细设置如图: 4.系统自动增加文件分析: service.xml ?xml version="1.0" encoding="UTF-8"?beans xmlns="http://xfire.c
创建Web Service
1.新建Web Project项目 2.右击项目->Myeclipse->Add XFire Web Service,弹窗详细设置如图: 3.创建Web Service,弹窗详细设置如图: 4.系统自动增加文件分析: service.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>HelloWorld</name> <serviceClass>hellows.IHelloWorld</serviceClass> <implementationClass> hellows.HelloWorldImpl </implementationClass> <style>wrapped</style> <use>literal</use> <scope>application</scope> </service></beans> IHelloWorld.java package hellows; //Generated by MyEclipse public interface IHelloWorld { public String example(String message); } HelloWorldImpl.java package hellows; //Generated by MyEclipse public class HelloWorldImpl implements IHelloWorld { public String example(String message) { System.out.println(this); return "你好,这是我的第一个Web Service,你输入的消息是:"+message; } } 5.发布运行项目,显示WSDL 这个 Web 服务监听 的地址 是在: http://localhost:8080/HelloWorldService/services/HelloWorld ,当我们企图直接访问时,将 会得到一段报错信息: Invalid SOAP request. 即:无效的SOAP请求。然而, 按照Web 服务的规范,所有的Web 服务都必须提供WSDL描述,那么这里的Web服务也支持,只需要加入?wsdl参数就可以了。访问如下地址: http://localhost:8080/HelloWorldService/services/HelloWorld?wsdl , 得到的输出如下(可以看出WSDL 的确不是给人看的): 创建Java测试客户端 我们需要在 HelloWorldService 这个项目中创建一个类。首先要做的一步就是将类库? XFire HTTP Client Libraries? 添加到项目的构造路径中去。首先在Package Explore? 视图中,右键点击项目根节点,然后选中菜单 Build Path? >? Add Library,接着在弹出的 Add Library对话框中,选中列表项中的 MyEclipse Libraries,然后点击Next按钮进入下一页,选中此页列表中的XFire 1.2 HTTP Client Libraries,如图15.15 所示。最后点击 Finish 按钮结束添加类库的过程。 如图: 随后我们就可以新建客户端类来进行测试了,创建一个类 client.HelloWSClient,源代码清单如下: package wsclient; import java.net.MalformedURLException; import hellows.IHelloWorld; import org.codehaus.xfire.XFireFactory; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.service.*; import org.codehaus.xfire.service.binding.ObjectServiceFactory; public class HelloWSClient { public static void main(String[] args) { Service srvcModel = new ObjectServiceFactory() .create(IHelloWorld.class); XFireProxyFactory factory = new XFireProxyFactory(XFireFactory .newInstance().getXFire()); String helloWorldURL = "http://127.0.0.1:8080/HelloWorldXFire/services/HelloWorld"; try { IHelloWorld srvc = (IHelloWorld) factory.create( srvcModel,helloWorldURL); String result = srvc.example("hello world Java 客户端测试"); System.out.print(result); } catch (MalformedURLException e) { e.printStackTrace(); } } }OK,现在运行这个类,可以得到预期的结果: 你好,这是我的第一个 Web Service,你输入的消息是:hello world Java 客户端测试 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读