栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 使用Axis调用WebService的示例代码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 使用Axis调用WebService的示例代码

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

 

public class TestAxis {
  public static void main(String []args){
    String inConditions = "*公民身份号码姓名110101******李闻100600个人贷款3624221952123***李一闻100600个人贷款1234********王龙100600银行开户110101******100600个人车贷110101******100600230602***100600个人车贷";
    String inLicense = "********"; 
     try{    
 //调用webservice地址   
 String url = "https://www.****.com/services/NciicServices";           //如果url地址中有中文参数,要注意应单独将中文部分进行编码操作后再与URL字符串拼接到一起,编码方式为:URLEncoder.encode("中文部分", "utf-8"); 
 //调用方法名
 String method="nciicCheck";
 Service service = new Service();
 //通过service创建call对象   
 Call call = (Call) service.createCall();          //call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS); 设置soap12协议方式调用
 //设置服务地址
 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.setOperationName(new QName("http://bussiness.***.com", "callPT"));				          //call.addParameter(new QName("http://bussiness.***.com","xmlData"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);          //call.addParameter(new QName("http://bussiness.***.com","methodName"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
          //设置返回类型 
 call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);          //解决错误:服务器未能识别 HTTP 头 SOAPAction 的值           call.setUseSOAPAction(true);          call.setSOAPActionURI(targetNamespace + operationName);
 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: **********
--SOAP Response: <?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>
result===
-72IP地址受限

以上就是Java 使用Axis调用WebService的示例代码的详细内容,更多关于Java 使用Axis调用WebService的资料请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/131398.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号