axis,jax-ws,xfire客户端调用分析,以及webservice万能客户端_第1页
axis,jax-ws,xfire客户端调用分析,以及webservice万能客户端_第2页
axis,jax-ws,xfire客户端调用分析,以及webservice万能客户端_第3页
axis,jax-ws,xfire客户端调用分析,以及webservice万能客户端_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java代码<?xml version="1.0" encoding="UTF-8"?><!- Published by JAX-WS RI at " xmlns:tns="" xmlns:xsd="" xmlns="" targetNamespace="" name="UserLinkWebServiceService"><types></types><message name="

2、getUserLink"><part name="linkNo" type="xsd:string"></part></message><message name="getUserLinkResponse"><part name="returnVal" type="xsd:string"></part></message><portType name="UserLinkWebSer

3、vice"><operation name="getUserLink" parameterOrder="linkNo"><input message="tns:getUserLink"></input><output message="tns:getUserLinkResponse"></output></operation></portType><binding name="UserLinkWebS

4、ervicePortBinding" type="tns:UserLinkWebService"><soap:binding transport="" style="rpc"></soap:binding><operation name="getUserLink"><soap:operation soapAction="getUserLink"></soap:operation><input><soap

5、:body use="literal" namespace="></input><output><soap:body use="literal" namespace="></output></operation></binding><service name="UserLinkWebServiceService"><port name="UserLinkWebServicePort" binding=

6、"tns:UserLinkWebServicePortBinding"><soap:address location="></port></service></definitions>1.xfire调用对方给我们的client是使用xfire的client调用,代码如下: Java代码 public class Test  public static void main(String args)          

7、; String url = ""                Client client;  try    client = new Client(new URL(url);   Object params = "123456"         Strin

8、g result = (String)client.invoke("getUserLink", params)0;         XStream xStream = new XStream(new DomDriver();         Map map = (Map)xStream.fromXML(result);   catch (Exception e)    

9、;  e.printStackTrace();   2.axis调用但是由于jar包的原因,我们不能使用上面的方法,想出的第一个解决方案是使用axis的客户端来调用接口,代码如下: Java代码 public class TestReflection  public static void main(String arg)   String url = ""  try    call.setOperationName(new QName(&quo

10、t;", "getUserLink");   String result = (String) call.invoke(new Object "AD0006526305" );   XStream xStream = new XStream(new DomDriver();   Map map = (Map) xStream.fromXML(result);   Iterator it = map.entrySet().ite

11、rator();   while (it.hasNext()     Map.Entry enty = (Entry) it.next();      catch (Exception e)    e.printStackTrace();   3.http模拟调用由于开始对axis的了解有限,在写axis调用是总是有问题,于是便想了另外一个方法,这个方法有点剑走偏锋.但是适用性却很强,因为调用的是java自带的api

12、不会产生兼容性问题. 大家知道webservice请求实际上也就是一个http请求,将数据通过xml文件进行交换. 既然知道了原理我们就可以模拟一个http请求来调用webservice. Java代码 try                  String url2 = ""            URL getUrl = n

13、ew URL(url2);            String send="<soap:Envelope xmlns:soap="" xmlns:xsd="" xmlns:xsi=" xmlns:ns1="4.jax-ws调用最后再写上一个jax-ws的client代码 Java代码 public class Client  / 名字空间     public stati

14、c final String targetNamespace = ""    /服务名    public static final String serName = "UserLinkWebServiceService"    /端口名    public static final String pName = "UserLinkWebServicePort"    /服务地址    public static final String endpointAddress = ""    /方法名    public static final String OPER_NAME = "getUserLink"    /参数名    public static final String INPUT_NMAE = "linkN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论