当从 Force.com 调用 Web 服务时,我得到:
System.CalloutException: Web service callout failed: Unexpected element. Parser was expecting element 'http://schemas.xmlsoap.org/soap/envelope/:Envelope' but found ':HTML'
另一端的网络人员要求查看 Salesforce 从他们的服务器获得的完整响应。
有办法实现吗?我尝试从执行匿名中使用调试级别“Finest”运行,但这会产生相同的小消息,但没有进一步的详细信息。
最佳答案
您收到的消息是因为 Saleforce 尝试解析响应时生成了错误,但遗憾的是该错误未记录。
发生解析错误是因为您得到的是 HTML 页面,而不是 SOAP 消息响应。当您访问受防火墙保护的服务时,通常会发生这种情况。这意味着您在计算机上浏览时可能能够看到该服务,但请记住 Salesforce 位于您的防火墙之外,因此 Salesforce 与您的服务的任何通信都将被阻止。
有几种方法可以解决这个问题,但 Salesforce 的这个 wiki 主题最好地涵盖了这些选项: http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_om_outboundmessaging_security.htm
以上内容特定于出站消息传递,但本质上技术问题是相同的。
关于salesforce - Force.com 标注 : Is there a way to get the full response from the target server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11447494/