81,091
社区成员
发帖
与我相关
我的任务
分享
String url="http://p2p.ips.net.cn/CreditWS/Service.asmx";
Service service = new Service();
String strSign = IpsCrypto.md5Sign(IPayConfig.ipay_mer_code+IPayConfig.cert_md5);
Call call ;
try {
call = (Call)service.createCall();
call.setTargetEndpointAddress(url);
call.setOperationName("GetBankList");
call.addParameter(new QName("argMerCode"), XMLType.XSD_STRING, ParameterMode.IN);// 给call对象设置方法的参数名、参数类型、参数模式
call.addParameter(new QName("argSign"), XMLType.XSD_STRING, ParameterMode.IN);// 给call对象设置方法的参数名、参数类型、参数模式
call.setReturnType(XMLType.SOAP_STRING);// 设置调用方法的返回值类型
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://tempuri.org/GetBankList");
String obj =(String)call.invoke(new Object[]{IPayConfig.ipay_mer_code,strSign});
System.out.println(obj);
} catch (Exception e) {
e.printStackTrace();
}
<pMerCode></pMerCode><pErrCode>9999</pErrCode><pErrMsg>报文非空字段为空值</pErrMsg>
其中<pMerCode> 节点对应的是我传的参数IPayConfig.ipay_mer_code 是一个常量[/quote]
这是典型的入参必选项为空的错误,服务提供者应该给你提供了一份接口说明文档,你看看这个接口有哪些必选项,是不是没传给他?
WS接口调用的问题,一般解决思路有两个:要么对业务逻辑熟悉,可以参考接口说明文档以及服务器日志自己定位解决,要么就把日志发给服务端开发人员,让他们帮忙定位。[/quote]
参数只有2个 我在调用的时候都传了 而且在这边 2个参数都不为空
<pMerCode></pMerCode><pErrCode>9999</pErrCode><pErrMsg>报文非空字段为空值</pErrMsg>
其中<pMerCode> 节点对应的是我传的参数IPayConfig.ipay_mer_code 是一个常量[/quote]
这是典型的入参必选项为空的错误,服务提供者应该给你提供了一份接口说明文档,你看看这个接口有哪些必选项,是不是没传给他?
WS接口调用的问题,一般解决思路有两个:要么对业务逻辑熟悉,可以参考接口说明文档以及服务器日志自己定位解决,要么就把日志发给服务端开发人员,让他们帮忙定位。
<pMerCode></pMerCode><pErrCode>9999</pErrCode><pErrMsg>报文非空字段为空值</pErrMsg>
其中<pMerCode> 节点对应的是我传的参数IPayConfig.ipay_mer_code 是一个常量