代码如下,
String WsdlURL = "http://data.jxjsjy.com/webservice/validIdCard.asmx?wsdl";
String namespaceURL = "http://tempuri.org/";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(WsdlURL));
call.setOperationName(new QName(namespaceURL, "ValidUserInfo"));
call.addParameter("idCard", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setReturnType(new QName(namespaceURL, "ValidUserInfoResponse"), UserInfo.class);
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://tempuri.org/ValidUserInfo"); // 注册映射关系 ValidUserInfoResponse ValidUserInfoResult response
QName XljgInfo = new QName("http://tempuri.org/", "UserInfo");//此处的 LoginInfoDict为WSDL文件中complexType name的属性值 //这里注册映射关系,对自定义的类进行序列化与反序列化。
call.registerTypeMapping(UserInfo.class, XljgInfo, new BeanSerializerFactory(UserInfo.class, XljgInfo),
new BeanDeserializerFactory(UserInfo.class, XljgInfo));//ITVAccount.class同上
StringBuffer temp = new StringBuffer();
temp.append("<tem:ValidUserInfo> <tem:idCard>362330198202224585</tem:idCard></tem:ValidUserInfo>");
String temp2 = "362330198202224585";
UserInfo user = (UserInfo) call.invoke(new Object[] { temp2 });
System.out.println(user);
到执行的时候就报错了
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.ArgumentNullException: String 引用没有设置为 String 的实例。
参数名: s
在 System.Text.Encoding.GetBytes(String s)
在 TaoZhi.Common.DEncrypt.DESEncrypt.Encrypt(String Text, String sKey)
在 TaoZhi.Common.DEncrypt.DESEncrypt.Encrypt(String Text)
在 TIMS.Web.webservice.validIdCard.ValidUserInfo(String idCard)
String WsdlURL = "http://data.jxjsjy.com/webservice/validIdCard.asmx?wsdl";
String namespaceURL = "http://tempuri.org/";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(WsdlURL));
call.setOperationName(new QName(namespaceURL, "ValidUserInfo"));
call.addParameter("idCard", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setReturnType(new QName(namespaceURL, "ValidUserInfoResponse"), UserInfo.class);
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://tempuri.org/ValidUserInfo"); // 注册映射关系 ValidUserInfoResponse ValidUserInfoResult response
QName XljgInfo = new QName("http://tempuri.org/", "UserInfo");//此处的 LoginInfoDict为WSDL文件中complexType name的属性值 //这里注册映射关系,对自定义的类进行序列化与反序列化。
call.registerTypeMapping(UserInfo.class, XljgInfo, new BeanSerializerFactory(UserInfo.class, XljgInfo),
new BeanDeserializerFactory(UserInfo.class, XljgInfo));//ITVAccount.class同上
StringBuffer temp = new StringBuffer();
temp.append("<tem:ValidUserInfo> <tem:idCard>362330198202224585</tem:idCard></tem:ValidUserInfo>");
String temp2 = "362330198202224585";
UserInfo user = (UserInfo) call.invoke(new Object[] { temp2 });
System.out.println(user);
到执行的时候就报错了
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.ArgumentNullException: String 引用没有设置为 String 的实例。
参数名: s
在 System.Text.Encoding.GetBytes(String s)
在 TaoZhi.Common.DEncrypt.DESEncrypt.Encrypt(String Text, String sKey)
在 TaoZhi.Common.DEncrypt.DESEncrypt.Encrypt(String Text)
在 TIMS.Web.webservice.validIdCard.ValidUserInfo(String idCard)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货