zoukankan      html  css  js  c++  java
  • java 调用webservice (asmx) 客户端开发示例

    这是本人第一次写博客,其实就是自己做个笔记,写的很粗糙,也希望能给跟我遇到同样问题的你一点帮助。

            因为最近有个项目要调用webservice接口,之前接触的都是Java开发服务端和客户端的接口,开发前服务端一般会给个以http://xxx/services?wsdl地址的文件或者地址。这次对方给我个http://xxxx/service/getinfo.asmx  的连接,我就傻眼了,之前没有遇到过,是不是给错了,跟对方联系说是他们的服务端是用C#开发的。c#没学过,webservice的特性之一就是可以跨语言的,不会只能找度娘。

           参考了:http://blog.csdn.NET/leon_ice/article/details/4466613 的文章自己也总结了点东西

          本文只将如果用java开发客户端

          1、.asmx调用方式和之前cxf 或者xfire 方式不同,不需要生成客户端代码,直接调用使用,先把我的代码贴出来,然后根据代码一步步说明。

    public String test() throws RemoteException, ServiceException, MalformedURLException{

    String inputParam = "测试";
    Service service = new Service();  
    String url = "http://xxxxxxx/service/getinfo.asmx";  //URL地址
    String namespace = "http://tempuri.org/"; 
    String actionUri = "getinfo"; //Action路径  
    String op = "getinfo"; //要调用的方法名  
    Call call = (Call) service.createCall();  
    call.setTargetEndpointAddress(new java.Net.URL(url));  
    call.setUseSOAPAction(true);  
    call.setSOAPActionURI(namespace + actionUri); // action uri  
    call.setOperationName(new QName(namespace, op));// 设置要调用哪个方法  
    // 设置参数名称,具体参照从浏览器中看到的  
    call.addParameter(new QName(namespace, "strMac"), XMLType.XSD_STRING, ParameterMode.IN);  //设置请求参数及类型
    //call.setReturnType(new QName(namespace,"getinfo"),Model.class); //设置返回结果为是某个类
    call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置结果返回类型
    Object[] params = new Object[] {inputParam};  
    String result = (String) call.invoke(params); //方法执行后的返回值  
    System.out.println(result);
    return result;
    }

          2、打开http://xxxx/service/getinfo.asmx  连接会出现类似如下内容,红框部分为调用方法,

       3、点击进去后可以看到,SOAPAction 对应上面代码中的namespace,注意去掉后面的方法名,后面会单独拼接这个方法名

             可以看到请求参数名、类型和返回结果类型。

  • 相关阅读:
    C# 类与类的关系(2)
    如何成为一个优秀的程序员?
    设计模式详细系列教程 (二) 创建型模式
    UML系列 (四) 实战机房收费系统
    UML系列 (三) 四种关系
    HDU 4003 Find Metal Mineral(树形DP+分组背包)
    从零开始的acm竞赛生涯
    2016 ACMICPC ECFinal题解整理
    第四章 复杂选择结构
    第五章 循环结构
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/6646616.html
Copyright © 2011-2022 走看看