如何修复 "faultString: [Virtuoso SOAP server] There is no such procedure" Webservice cfinvoke CF11?

How to fix "faultString: [Virtuoso SOAP server] There is no such procedure" Webservice cfinvoke CF11?

我在使用 ColdFusion 11 调用带有 <cfinvoke> 标记的 Web 服务时出现以下错误。

faultString: [Virtuoso SOAP server] There is no such procedure

我已将所有正确的参数传递给该方法(考虑参数名称大小写)。

调用代码

<cfinvoke Webservice="absolute link" method="method name" wsversion="1" refreshwsdl="true">
    <cfinvokeargument name="paramone" value="valone">
    <cfinvokeargument name="paramtwo" value="valtwo">
</cfinvoke>

在此先感谢您的帮助。

我找到了解决办法。由于某些原因,使用 cfinvoke 标签无法使用他们的 Web 服务。

我使用 cfhttp 标记作为替代,并添加了一个名为 "SOAPAction" 的 header 参数,并将其设置为我无法在此处共享的特定值。还需要将 action 属性设置为 "POST".

最终解决方法代码如下(其中 wsRequest 变量是要发送的 xml):

<cfhttp method="post" url="#application.WSDLEndpoint#">
    <cfhttpparam type="header" name="content-type" value="text/xml"> 
    <cfhttpparam type="header" name="SOAPAction" value="[specific absolute link]"> 
    <cfhttpparam type="header" name="charset" value="utf-8"> 
    <cfhttpparam type="xml" value="#wsRequest#" >
</cfhttp>