WebService学习总结七 WebService 对于其他的数据类型
来源:互联网 发布:卡盟比较好用主站域名 编辑:程序博客网 时间:2024/05/16 13:43
客户端参考wsdl文档向服务器发送soap消息(http+xml),服务器依据wsdl进行解析,使用soap消息响应客户端,客户端再根据wsdl文档解析。完成一次交互。
如果使用jdk编写服务端代码,对于返回map的数据类型,无法发布。此时应该使用cxf进行编写服务端代码,支持 int String boolean javabean list set map等数据类型。
客户端对于返回map数据的处理:
//m3方法返回map,解析方式比较特殊
Return r=ds.m3("a"); //返回map时候是个Return,先得到其list ,再解析list的Entry,
List<Entry> l=r.getEntry();
for(Entry e:l){
System.out.println(e.key+","+e.value);
}
服务端代码:
package com.dt.ws;/* * jdk方式发布的webService不支持返回map,cxf支持 */import java.util.List;import java.util.Map;import javax.jws.WebService;@WebServicepublic interface DtService {public boolean m1(int a1,boolean a2,String a3,List a4,Map a5);public List m2(String a1);public Map m3(String a1);}
package com.dt.ws;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.jws.WebService;@WebServicepublic class DtServiceImpl implements DtService {@Overridepublic boolean m1(int a1, boolean a2, String a3, List a4, Map a5) {System.out.println("Server:m1:"+a3);return false;}@Overridepublic List m2(String a1) {System.out.println("Server:m2:"+a1);List l=new ArrayList();l.add("a");l.add("b");return l;}@Overridepublic Map m3(String a1) {System.out.println("Server:m3:"+a1);Map m=new HashMap();m.put("a", "a");m.put("b", "b");return m;}}
package com.dt.ws;import javax.xml.ws.Endpoint;public class Test {public static void main(String[] args) {Endpoint.publish("http://192.168.1.101:8899/WS/DtService", new DtServiceImpl());System.out.println("发布成功");}}
客户端代码:
使用wsimport 生成:
/ws_dataType_client/src/com/dt/ws/DtService.java
/ws_dataType_client/src/com/dt/ws/DtServiceImplService.java
/ws_dataType_client/src/com/dt/ws/M1.java
/ws_dataType_client/src/com/dt/ws/M1Response.java
/ws_dataType_client/src/com/dt/ws/M2.java
/ws_dataType_client/src/com/dt/ws/M2Response.java
/ws_dataType_client/src/com/dt/ws/M3.java
/ws_dataType_client/src/com/dt/ws/M3Response.java
/ws_dataType_client/src/com/dt/ws/ObjectFactory.java
/ws_dataType_client/src/com/dt/ws/package-info.java
package com.dt.ws;import java.util.List;import com.dt.ws.M3Response.Return;import com.dt.ws.M3Response.Return.Entry;/* * jdk方式发布的webService不支持返回map,cxf支持 */public class Test {public static void main(String[] args) {DtServiceImplService factory=new DtServiceImplService();DtService ds=factory.getDtServiceImplPort();System.out.println(ds.m1(0, true, "a", null, null));;System.out.println(ds.m2("a"));//m3方法返回map,解析方式比较特殊Return r=ds.m3("a"); //返回map时候是个Return,先得到其list ,再解析list的Entry,List<Entry> l=r.getEntry();for(Entry e:l){System.out.println(e.key+","+e.value);}}}
- WebService学习总结七 WebService 对于其他的数据类型
- webservice的学习总结
- webservice 总结的学习贴
- WebService学习笔记-CXF支持的数据类型
- 【WebService开发】其他调用webservice的方法
- WebService学习总结(一)——WebService的相关概念
- WebService学习总结(一)——WebService的相关概念
- WebService学习总结(一)——WebService的相关概念
- WebService学习总结(一)——WebService的相关概念
- WebService学习总结(一)——WebService的相关概念
- WebService学习总结(一)——WebService的相关概念
- WebService学习总结六 WebService WSDL文档的标签
- WebService学习总结(一)——WebService的相关概念
- WebService学习总结(一)——WebService的相关概念
- WebService学习总结(一)——WebService的相关概念
- WebService学习总结(一)——WebService的相关概念
- WebService学习总结(一)——WebService的相关概念
- WebService学习总结(一)——WebService的相关概念
- JAX-RS框架,使Tomcat启动即可执行类的方法
- 数据库范式
- 快速熟悉oracle新坏境
- Maven打包配置文件
- Android键盘弹出的研究
- WebService学习总结七 WebService 对于其他的数据类型
- Docker安装完成测试
- ubuntu 两个版本之间切换
- java类加载机制
- zookeeper原理
- php结合redis实现高并发下的抢购、秒杀功能
- URI 和 URL区别
- TimesTen与Materialized View(物化视图)
- 正则表达式