Java调用WebService之Axis实现

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

/**
* @ClassName: TestAxis
* @Description: TODO(描述这个类的作用)
* @author Roy_70
* @date 2017年4月18日 上午9:16:26
*
*/ 

public class TestAxis {
    public static void main(String []args){
        String inConditions = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><ROWS><INFO><SBM>*</SBM></INFO><ROW><GMSFHM>公民身份号码</GMSFHM><XM>姓名</XM></ROW><ROW><GMSFHM>110101******</GMSFHM><XM>李闻</XM><FSD>100600</FSD><YWLX>个人贷款</YWLX></ROW><ROW><GMSFHM>3624221952123***</GMSFHM><XM>李一闻</XM><FSD>100600</FSD><YWLX>个人贷款</YWLX></ROW><ROW><GMSFHM>1234********</GMSFHM><XM>王龙</XM><FSD>100600</FSD><YWLX>银行开户</YWLX></ROW><ROW><GMSFHM>110101******</GMSFHM><XM></XM><FSD>100600</FSD><YWLX>个人车贷</YWLX></ROW><ROW><GMSFHM>110101******</GMSFHM><XM></XM><FSD>100600</FSD><YWLX></YWLX></ROW><ROW><GMSFHM>230602***</GMSFHM><XM></XM><FSD>100600</FSD><YWLX>个人车贷</YWLX></ROW></ROWS>";
        String inLicense = "********";
         try{
                //调用webservice地址
                String url = "https://www.****.com/services/NciicServices";
                //调用方法名
                String method="nciicCheck";
                Service service = new Service();
                //通过service创建call对象
                Call call = (Call) service.createCall();
                //设置服务地址
                call.setTargetEndpointAddress(new java.net.URL(url));
                //设置调用方法
                call.setOperationName(method);
                call.setUseSOAPAction(true);
                //添加方法的参数,有几个添加几个
                //inLicense是参数名,XSD_STRING是参数类型,IN代表传入
                call.addParameter("inLicense", org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter("inConditions", org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                //设置返回类型
                call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
                Object ret= null;
                try{
                    //使用invoke调用方法,Object数据放传入的参数值
                    ret = call.invoke(new Object[] {inLicense,inConditions});
                }catch(Exception e){
                    e.printStackTrace();
                }
                //输出SOAP请求报文
                System.out.println("--SOAP Request: " + call.getMessageContext().getRequestMessage().getSOAPPartAsString());
                //输出SOAP返回报文
                System.out.println("--SOAP Response: " + call.getResponseMessage().getSOAPPartAsString());
                //输出返回信息
                System.out.println("result==="+ret.toString());
        }catch(Exception e){
        e.printStackTrace();
        }
    }
}

下面是输出结果信息:

--SOAP Request: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><nciicCheck soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><inLicense xsi:type="xsd:string">*****</inLicense><inConditions xsi:type="xsd:string">*****</inConditions></nciicCheck></soapenv:Body></soapenv:Envelope>
--SOAP Response: <?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><ns1:nciicCheckResponse xmlns:ns1="https://api.nciic.org.cn/NciicServices"><ns1:out>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;RESPONSE errorcode=&quot;-72&quot; code=&quot;0&quot; countrows=&quot;1&quot;&gt;&lt;ROWS&gt;&lt;ROW&gt;&lt;ErrorCode&gt;-72&lt;/ErrorCode&gt;&lt;ErrorMsg&gt;IP地址受限&lt;/ErrorMsg&gt;&lt;/ROW&gt;&lt;/ROWS&gt;&lt;/RESPONSE&gt;</ns1:out></ns1:nciicCheckResponse></soap:Body></soap:Envelope>
result===<?xml version="1.0" encoding="UTF-8"?>
<RESPONSE errorcode="-72" code="0" countrows="1"><ROWS><ROW><ErrorCode>-72</ErrorCode><ErrorMsg>IP地址受限</ErrorMsg></ROW></ROWS></RESPONSE>

原文地址:https://www.cnblogs.com/lm970585581/p/9538223.html

时间: 2024-08-04 15:12:23

Java调用WebService之Axis实现的相关文章

java 调用webservice采用axis方式时候无法找到参数注意事项

String url = "http://192.168.0.90:8088/wsServerExample"; String namespace = "http://webserver.server.com/"; try { org.apache.axis.client.Service service = new org.apache.axis.client.Service(); Call call = (Call) service.createCall(); /

Java调用WebService

Java调用WebService可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用.理论上是一样的,只不过用Eclipse自动生成代码省事些. 1.编写代码方式: package com.yudun.test; import java.rmi.RemoteException;import org.apache.axis.client.Call;import org.apache.axis

java调用webservice接口方法

webservice的 发布一般都是运用WSDL(web service descriptive language)文件的款式来发布的,在WSDL文件里边,包含这个webservice暴露在外面可供运用的接口.今日查找到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包含许多方面的free webservice provider,utilities->global weather就

Java调用WebService 接口 实例

这里给大家介绍一下,Java调用webservice的一个实例的过程. 本项目不能运行,因为接口地址不可用. 这里只是给大家介绍一个过程,同时留作自己的笔记.如果要学习,可以参照别人的实例.比较好. ①选择项目根目录的src ,右键,new --> webservice client 然后输入地址: http://172.18.100.52:456/hello?wsdl 必须要加wsdl结尾,这样才是一个webservice的接口. finlish.这时候刷新项目.可以看到项目下/src/com

JAVA调用webservice方法(axis)

项目需求上需要调用另一个合作伙伴的webservice接口,之前用的是sax的调用方式,开始摸索这个,感觉这个也挺简单的,现在把自己的实现过程分享给大家,写的不好的地方,望大家勿喷. 详细代码如下: package com.ancs.oa; import java.util.Date; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.En

Java调用WebService的方法总结

1.使用命令wsimport自动生成java代码 wsimport是jdk自带的,可以根据wsdl文档生成客户端调用代码的工具.  wsimport.exe位于JAVA_HOME\bin目录下. 常用参数为: •-d<目录>  - 将生成.class文件.默认参数. •-s<目录> - 将生成.java文件. •-p<生成的新包名> -将生成的类,放于指定的包下. •(wsdlurl) - http://server:port/service?wsdl,必须的参数. 示

(转)java 调用webservice的各种方法总结

原文地址:http://www.blogjava.net/zjhiphop/archive/2009/04/29/webservice.html 现在webservice加xml技术已经逐渐成熟,但要真正要用起来还需时日!!    由于毕业设计缘故,我看了很多关于webservice方面的知识,今天和大家一起来研究研究webservice的各种使用方法.    一.利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务     1.首先建立一个Web serv

java 调用webservice的各种方法总结

一.利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务 1.首先建立一个Web services EndPoint: Java代码 package Hello; import javax.jws.WebService; import javax.jws.WebMethod; import javax.xml.ws.Endpoint; @WebService public class Hello { @WebMethod public String hell

java调用webservice的四种方式

webservice: 就是应用程序之间跨语言的调用 wwww.webxml.com.cn 1.xml 2.    wsdl: webservice description language web服务描述语言 通过xml格式说明调用的地址方法如何调用,可以看错webservice的说明书 3.soap simple object access protoacl (简单对象访问协议) 限定了xml的格式 soap 在http(因为有请求体,所以必须是post请求)的基础上传输xml数据 请求和响