可以添加一个标题&在Salesforce SOAP响应中修改了主体?

时间:2013-07-05 15:10:44

标签: web-services soap salesforce apex-code

从对SOAP请求的测试到我在Salesforce中创建的Web服务,我注意到返回的响应格式如下。

注意我调用的请求函数是GetMsgRQ

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"     xmlns="http://soap.sforce.com/schemas/class/MyIntegrationServices">
<soapenv:Body>
<GetMsgRQResponse>
<result>
        <acctId>001J000000leVpEIAU</acctId>
        <acctName>MyTest</acctName>
     </result>
  </lGetMsgRQResponse>
 </soapenv:Body>
</soapenv:Envelope>

与此相关我想知道是否可以添加SOAP:Header? 另外我注意到响应创建了一个元素“GetMsgRQResponse”(将“Response”添加到“GetMsgRQ”。是否可以创建/指定SOAP:Body而不会发生这种情况?我可以设置整个SOAP正文响应或者Salesforce会不会在这里添加“GetMsgRQResponse”等附加元素和“结果”?

提前感谢您提供任何帮助。我知道我可以使用HTTP请求发送完整的SOAP信封但是根据我的要求,我需要提供响应而不是这样做。

1 个答案:

答案 0 :(得分:0)

我不相信你可以在Apex定义的WebService方法中直接添加任何类型的SOAP头。

如果您绝对没有其他选择,您可以通过REST Web服务(通过@RestResource注释)构建自己的自定义SOAP响应,但这是一个非常难看的解决方案。