别再复制粘贴那些坑爹的Java Webservice接口代码了!我实测了一个能用的
把一些Java调用接口的事例看过之后, 它们好多都是通过CtrlC、CtrlV得来的, 在好多拿来运用时却发觉存在差错, 这让人烦闷, 为此特意撰写了一篇经过测试的, 仅仅只是一个小例子。服务端为客户端提供接口使用工具-8.6.1-win32--7.0.11开发步骤1.创建工程点击File按钮 , 接着选择New , 随后点击Web , 此时会弹出可以填写Name、选择XFire并一路点击next直至完成的Web窗口。备注: 例子中的Name是Demo。创建完毕之后, 将生成的web.xml文件打开, 能够看到, XFire已然配置妥当。View Code1xml version1.0 encodingUTF-8?2web-appxmlnshttp://java.sun.com/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instanceversion2.5xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd3servlet4servlet-nameXFireServletservlet-name5servlet-classorg.codehaus.xfire.transport.http.XFireConfigurableServletservlet-class6load-on-startup0load-on-startup7servlet8servlet-mapping9servlet-nameXFireServletservlet-name10url-pattern/services/*url-pattern11servlet-mapping12welcome-file-list13welcome-fileindex.jspwelcome-file14welcome-file-list15web-app2.创建服务于选择方面的New Web处, 致使New Web窗口弹出, 进行这样的选择: web from Java class(-up ), 并且将下面的new Java bean勾选起来, 接着予以Next操作, 于Web name之中进行填写, 在Java栏处点击New..., 在弹出的窗口里于Name:中填入com.demo., 而后点击。完成后生成了一个的配置.xmlView Code1xml version1.0 encodingUTF-8?2beansxmlnshttp://xfire.codehaus.org/config/1.034service5nameIMyServicename6serviceClasscom.demo.service.IIMyServiceserviceClass7implementationClass8com.demo.service.IMyServiceImpl9implementationClass10stylewrappedstyle11useliteraluse12scopeapplicationscope13servicebeans生成了接口和默认实现View Code1packagecom.demo.service;2//Generated by MyEclipse34publicinterfaceIIMyService {56publicString example(String message);78}View Code1packagecom.demo.service;2//Generated by MyEclipse34publicclassIMyServiceImplimplementsIIMyService {56publicString example(String message) {7returnmessage;8}910}服务端代码生成完毕。针对测试服务端, 存在这样的前提条件, 即要对服务器进行配置, 并且要去完成服务端的一项工作, 具体就是部署, 之后还要启动它。2.先是进行选择方面的SOAP Web操作, 接着, 要关注Web窗口右侧的WSDL Page操作, 然后, 输入网址: :8080/Demo//?wsdl, 最后呈现出如下图的样子有显示。3.采取双击的动作, 输入hello这个内容, 在其下方将会展示出out():hello 这个情况, 针对此进行的测试是通过的。客户端调用服务端提供的接口方法使用工具需要引入以下这些包, 分别是: -codec-1.2.jar, 还有--3.0.-rc2.jar, 以及jdom.jar, 再就是xfire-all-1.2.6.jar, 另外包含-1.5.1.jar甚至还有--1.0.4.jar。开发步骤1.创建工程将文件菜单选项中的新建, 选择为Java, 命名为Demo, 接着一路点击下一步, 最后, 新建一个名为com.demo的包, 在这个包里面创建两个文件, 其中一个是服务端接口文件也就是将已有的内容直接复制粘贴过来的那个.java文件, 另一个是测试文件Test.java, 它的代码如下:View Code1 package com.demo.client; 2 import org.codehaus.xfire.client.XFireProxyFactory; 3 import org.codehaus.xfire.service.Service; 4 import org.codehaus.xfire.service.binding.ObjectServiceFactory; 5 6 public class Test { 7 /** 8 * param args 9 */ 10 public static void main(String[] args) { 11 // TODO Auto-generated method stub 12 String serviceUrl http://localhost:8080/Demo/services/MyService; 13 Service serviceModel new ObjectServiceFactory().create(IMyService.class, null, http://localhost:8080/Demo/services/MyService?wsdl, null); 14 XFireProxyFactory serviceFactory new XFireProxyFactory(); 15 try{ 16 IMyService service (IMyService)serviceFactory.create(serviceModel,serviceUrl); 17 String hello service.example(hello); 18 System.out.println(hello); 19 }catch(Exception e){ 20 e.printStackTrace(); 21 } 22 } 23 }