美文网首页
调用第三方asmx后缀的webservice接口

调用第三方asmx后缀的webservice接口

作者: simperLv | 来源:发表于2019-07-24 17:07 被阅读0次
public static void main(String[] args){
        //  参数列表
        String param1 = "xxx";
        String param2 = "xxx";
        .....
        Object[] o = {param1 , param2 ,....};
        callWebserviceASMX("SendSms",o);
}
public static void callWebserviceASMX(String method, Object[] o) {
        //获取webservice接口地址
        String url = "xxxx.asmx";
        //获取域名地址,server定义的
        String soapaction = "xxx";
        Service service = new Service();
        try {
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(url);
            //设置要调用的方法
            call.setOperationName(new QName(soapaction,method));
            // 设置要传递的参数
            call.addParameter(new QName(soapaction, "param1"),
                    org.apache.axis.encoding.XMLType.XSD_STRING,
                    javax.xml.rpc.ParameterMode.IN);
            call.addParameter(new QName(soapaction, "param2"),
                    org.apache.axis.encoding.XMLType.XSD_STRING,
                    javax.xml.rpc.ParameterMode.IN);
            //设置要返回的数据类型
            call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
            call.setUseSOAPAction(true);
            call.setSOAPActionURI(soapaction+method);
            //调用方法并传递参数
            String result = (String) call.invoke(o);
            System.out.println("result is:::"+result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

中途报了几个缺少jar包的错,看了下别人的博客,然后引入一下就行了

上面这个方法调用成功后,我作为接口用dubbo+zookeeper发布到一个公司的接口管理平台,结果其他端调用这个接口时,Service创建不了,找不Service这个类,据说是包没导,然后导了也没用,于是我又换了另外一种方式,

 public void sendMsg(Map map) throws Exception{
        String phoneStr = (String) map.get("phoneStr");
        String msg = (String) map.get("msg");
        String sendTime = (String) map.get("sendTime");
        Object[] o = {phoneStr,msg,sendTime};
        String url = Configuration.getInstance().getValue("xxx");
        String ECID = Configuration.getInstance().getValue("xxx");
        String UserCode = Configuration.getInstance().getValue("xxx");
        String UserPass = Configuration.getInstance().getValue("xxx");
        Object[] o1 = {ECID,UserCode,UserPass};
        Object[] params = new Object[o.length+o1.length];
        //这里是因为有一些配置是直接在properties文件里写的然后参数顺序也固定,所以我就通过复制数组的方式,把传过来的参数和配置放一起了
        System.arraycopy(o1,0,params,0,o1.length);
        System.arraycopy(o,0,params,o1.length,o.length);
        JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
        String webServicePath = url;
        Client client = null;
        client = dcf.createClient(webServicePath);
        client.invoke("SendSms",params);
    }

这个方式在其他端就可以正常调用了

相关文章

  • 调用第三方asmx后缀的webservice接口

    中途报了几个缺少jar包的错,看了下别人的博客,然后引入一下就行了 上面这个方法调用成功后,我作为接口用dubbo...

  • java调用webservice接口(.asmx)

    前几天开发app时,需要调用其他系统的数据,该系统开发人员给我提供了webservice接口。对于从来没见过web...

  • NetCore 调用WebService

    引用WebService 引用成功 调用WebService接口 http *https

  • 如何用IOS调用WebService(SOAP接口)

    如何用IOS调用WebService(SOAP接口) 这篇文章主要介绍了如何用IOS调用WebService(SO...

  • 调用webservice接口流程。

    1:使用soapUI调用下其他同事给的webservice地址,如果是通的。 就用apache的cxf生成webs...

  • iOS调用webservice接口

    首先了解下webservice三要素 SOAP:基于XML的一种协议规范,用来描述传递信息的格式(接口调用要遵循此...

  • iOS --调用webservice接口

    其实小兵今天写这个东西,主要是为了以后的小伙伴遇到调用WebService接口,主要介绍了如何用IOS调用WebS...

  • iOS 调用webService 接口

    1 ) SOAP:基于XML的一种协议规范,用来描述传递信息的格式(接口调用要遵循此格式)2 ) WSDL:描...

  • HttpClient调用WebService接口

    1.接到需求开发一个服务接口,因原项目是webservice搭建的,所以再此基础上进行开发。数据传递的格式是xml...

  • PHP调用WebService接口

    先测试接口是否可以访问 明确你需要调用的方法以及方法需要的参数 , 以下是我需要调用的方法以及参数类型截图 可以看...

网友评论

      本文标题:调用第三方asmx后缀的webservice接口

      本文链接:https://www.haomeiwen.com/subject/khcfrctx.html