2012-09-11 118 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#" />