我已经成功地从我的WSDL生成了一个Apex类,并且能够通过手动设置HTTP Authorization标头在远程服务器上进行身份验证。我在远程服务器上仔细检查了......
但是,如果我检查webservice调用的结果,我总是得到一个“null”对象。我怀疑Salesforce无法从XML响应中生成对象。关于为什么会这样,我可以尝试什么的任何想法?有人已经有同样的问题吗?
这就是我打电话的方式:
String user = 'username';
String pass = 'secret';
MyService.InfoSoap soapClient = new MyService.InfoSoap();
Blob raw = Blob.valueOf( user + ':' + pass );
String token = EncodingUtil.base64Encode( raw );
soapClient.inputHttpHeaders_x = new Map<String, String>{
'Authorization' => 'Basic ' + token
};
Integer externalId = 1234;
System.debug(
soapClient.getObject(externalId)
);
// prints "null" to the debug log
答案 0 :(得分:2)
我们通过向响应中的每个XML元素添加命名空间来设法解决当前的问题。