1
我使用ColdFusion 8.我有一个SOAP极其有限的经验。什么是适当的SOAP操作?
我试图发送一个SOAP请求。我的SOAP体看起来是这样的:
<cfsavecontent variable="SoapBody">
<cfoutput>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://www.a2zshow.com/DataServices/v2/" >
<soapenv:Header>
<a2zAuthenticationHeader xmlns="http://www.a2zshow.com/DataServices/v2/">
<Key>#Key#</Key>
<UserName>#UserName#</UserName>
<Password>#Password#</Password>
<InstallName>#InstallName#</InstallName>
</a2zAuthenticationHeader>
</soapenv:Header>
<soapenv:Body>
<DataService xmlns="http://www.a2zshow.com/DataServices/ExhibitorListRequest/v1">
<Request>
<a2zXMLRootNode>
<RequestHeader>
<RequestAttribute Search="NONE"/>
</RequestHeader>
<RequestCriteria>
<EventID>#EventID#</EventID>
</RequestCriteria>
</a2zXMLRootNode>
</Request>
</DataService>
</soapenv:Body>
</soapenv:Envelope>
</cfoutput>
</cfsavecontent>
我的SOAP请求如下所示:
<cfhttp
url="#PostURL#"
method="post"
result="httpResponse">
<cfhttpparam
type="header"
name="SOAPAction"
value="#SOAPAction#" />
<cfhttpparam
type="xml"
value="#trim(soapBody)#"/>
</cfhttp>
的SOAPAction的变量设置是这样的:
SOAPAction = "http://www.a2zshow.com/getExhibitorList";
我想我成功地张贴到正确的地方,但我收到一条错误消息,指出客户端无法识别SOAPAction。这是我的错误:
soap:ClientServer did not recognize the value of HTTP Header SOAPAction: http://www.a2zshow.com/getExhibitorList.
此错误似乎告诉我,我没有SOAPAction正确。另一端的那个人告诉我,我已经把所有的东西都设置好了,它应该能够工作。有什么遗漏吗?
你试图跨越的SOAPBody发送为'TYPE =“体”'而不是XML?上周我有一个类似的问题,那就是我发送错误的类型。 – 2012-03-06 19:39:51
我刚试过,没有运气。我确信我被困在有错误的SOAPAction,但我们的供应商没有响应。我只需要知道我是否做了明显错误的事情。 – 2012-03-06 21:08:58
你有没有尝试设置“http://www.a2zshow.com/”作为POSTURL和“getExhibitorList”作为SOAP行动? – Sureround 2012-03-07 03:01:36