我正在尝试使用网络服务来保存数据。 Web服务URL类似于:
http://example.com/webservice1/order.asmx
当我想保存订单时,我会发送一个SOAP信封并且必须调用函数saveorder
。如何在ColdFusion中指定我想调用此函数?
答案 0 :(得分:1)
您必须使用cfhttp
并构建SOAP信封并通过cfhttp
请求传递它。
这是我前段时间写的:
<cfscript>
savecontent variable="local.sSoap" {
WriteOutput("
<?xml version='1.0' encoding='utf-8'?>
<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
<soap:Body>
#arguments.sData#
</soap:Body>
</soap:Envelope>
");
}
</cfscript>
<cfhttp url="https://apiconnector.com/API.asmx" method="post" result="httpResponse">
<cfhttpparam type="header" name="SOAPAction" value="http://apiconnector.com/#arguments.sMethod#"/>
<cfhttpparam type="header" name="accept-encoding" value="no-compression"/>
<cfhttpparam type="xml" value="#trim( local.sSOAP )#"/>
</cfhttp>
你显然必须做出改变以满足自己的需要,但要点就在那里。