XFire与Spring集成WebService客户端的两种开发方式.doc
-
资源ID:17428607
资源大小:151KB
全文页数:3页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
XFire与Spring集成WebService客户端的两种开发方式.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流XFire与Spring集成WebService客户端的两种开发方式.精品文档.XFire与Spring集成时WebService客户端的两种开发方式方式、借助Spring并通过WSDL文件创建WebService客户端1 package com.jadyer.client; 2 import java.io.IOException; 3 import org.codehaus.xfire.client.Client; 4 import org.springframework.core.io.ClassPathResource; 5 import org.springframework.core.io.Resource; 6 * 此时应该将服务方提供的WSDL文件,拷贝到src目录下,即可 7 public class ClientUseSpringFromWSDL 8 public static void main(String args) throws IOException, Exception 9 new ClientUseSpringFromWSDL().generatedClient(); 10 public void generatedClient() throws IOException, Exception 11 / 拷贝到src目录下的对应的WSDL文件 12 String wsdl = "HelloService.wsdl" 13 / 装载WSDL文件 14 Resource resource = new ClassPathResource(wsdl); 15 / 根据WSDL创建客户端实例 16 Client client = new Client(resource.getInputStream(), null); 17 / 调用特定的Web Service方法 18 Object result = client.invoke("sayHello", new Object"玄玉"); 19 / 输出服务端方法的返回结果 20 System.out.println(result0); 方式、借助Spring并通过WSDL访问地址创建WebService客户端 21 package com.jadyer.client; 22 import java.util.List; 23 import org.springframework.context.ApplicationContext; 24 import org.springframework.context.support.ClassPathXmlApplicationContext; 25 import com.jadyer.model.Person; 26 import com.jadyer.model.User; 27 import com.jadyer.server.HelloService; 28 * 此时服务方应该提供给我们两个东西:所提供的服务的接口和WSDL访问地址 29 * 然后我们自己再在src目录下创建一个client.xml文件,用于被客户端调用 30 public class ClientUserSpringFromXML 31 public static void main(String args) 32 new ClientUserSpringFromXML().generatedClient(); 33 public void generatedClient() 34 ApplicationContext ctx = new ClassPathXmlApplicationContext("client.xml"); 35 HelloService helloService = (HelloService) ctx.getBean("XFireServerDemo"); 36 /测试sayHello()方法 37 System.out.println(helloService.sayHello("玄玉"); 38 /测试getPerson()方法 39 User uu = new User(); 40 uu.setName("杨过"); 41 Person pp = helloService.getPerson(uu); 42 System.out.println(pp.getName(); 43 /测试getPersonList()方法 44 List<Person> personList = helloService.getPersonList(24, "万人往"); 45 for(Person p : personList) 46 System.out.println(p.getName(); 接下来是用到的client.xml文件 47 <?xml version="1.0" encoding="UTF-8"?> 48 <!DOCTYPE beans PUBLIC "-/SPRING/DTD BEAN/EN" "http:/www.springframework.org/dtd/spring-beans.dtd"> 49 <beans> 50 <bean id="XFireServerDemo" class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean"> 51 <property name="serviceClass"> 52 <value>com.jadyer.server.HelloService</value> 53 </property> 54 <property name="wsdlDocumentUrl"> 55 <value>http:/127.0.0.1:8080/XFire_Spring_03/services/HelloService?wsdl</value> 56 </property> 57 </bean> 58 </beans> 59 这是一个用于被客户端调用的Spring配置文件,这里定义了一个XFireServerDemo的bean 60 该bean访问wsdlDocumentUrl为http:/127.0.0.1:8080/XFire_Spring_02/XFireServer.ws?wsdl的WSDL 最后是服务方提供的接口以及接口所用到的VO类 61 package com.jadyer.server; 62 import java.util.List; 63 import com.jadyer.model.Person; 64 import com.jadyer.model.User; 65 * 暴露成web服务的接口类 66 public interface HelloService 67 public String sayHello(String name); /简单对象的传递 68 public Person getPerson(User u); /对象的传递 69 public List<Person> getPersonList(Integer age, String name); /List的传递 70 package com.jadyer.model; 71 * 接口用到的VO类 72 public class User 73 private String name; 74 /*-getter和setter略-*/ 75 package com.jadyer.model; 76 * 接口用到的VO类 77 public class Person 78 private Integer age; 79 private String name; 80 /*-getter和setter略-*/