2012-09-11 86 views
1

我正在创建一个ASP.Net网站来记录我们的ColdFusion网站的错误。这个ASP站点正在公开一些我想传递错误信息的Web服务方法。要测试的整个过程我做了以下内容:使用ColdFusion消费ASP.Net网络服务

[WebMethod] 
public string InsertEvent(string iAppID) { 
    return "Hello, " + iAppID; 
} 

<cffunction name="TestWebService2" access="remote" returntype="Any" > 
    <cfinvoke method="InsertEvent" webservice="http://somewebsite.org/LogEvent.asmx?WSDL" > 
     <cfinvokeargument name="iAppID" value="andy" > 
    </cfinvoke> 
</cffunction> 

我可以调用与ColdFusion的Web服务,只要没有parmeters需要在传递CFINVOKE标记。如果我的参数添加到。 web服务,并尝试将它们传递给该服务我收到以下错误:

无法找到具有参数{iAppID = {1}}的Web服务操作InsertEvent。

ColdFusion服务器是否缓存Web服务调用?还是我错过了别的?

感谢

+2

CF不缓存Web服务定义/假象。因此,请务必在进行更改后添加['refreshWSDL =“true”'](http://help.adobe.com/zh_CN/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7e0a.html)。 – Leigh

回答

1

尝试调用这样的Web服务:

<cfset ws = createObject("webservice","http://somewebsite.org/LogEvent.asmx?WSDL") /> 
<cfset result = ws.InsertEvent("Test Striong") /> 
<cfdump var="#result#" />