SOAP标注无声地失败

时间:2013-05-15 15:17:15

标签: soap salesforce apex-code force.com callout

我已经成功地从我的WSDL生成了一个Apex类,并且能够通过手动设置HTTP Authorization标头在远程服务器上进行身份验证。我在远程服务器上仔细检查了......

  • HTTP身份验证正常工作
  • webservice返回正确的响应XML
  • 不会抛出任何错误(整个代码中没有try / catch语句)

但是,如果我检查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

1 个答案:

答案 0 :(得分:2)

我们通过向响应中的每个XML元素添加命名空间来设法解决当前的问题。