2009-07-23 56 views
1

是否有工具可以查看發送給IIS服務器上託管的webservice的消息?我有一個用.Net編寫的web服務,我們的ColdFusion人員在構建「複雜」參數時遇到了問題。使用.Net網絡服務監視Coldfusion互操作性的最佳工具

adobe forum question

它運行從.NET客戶端調用時:這個問題是從一個ColdFusion的角度上說明。雖然我們的局域網內的服務器上承載的,我把它拿出來在公共服務器上,因此WSDL可以看作: please take a quick look at this WSDL here

當CF開發商跑她的代碼,她得到:

java.lang.IllegalArgumentException異常:參數類型不匹配

...我想知道是否有一個工具可以在承載我的web服務的服務器上運行,以查看它是否進入WS或被CF使用的Java代碼拒絕並且是不是真的甚至到我的web服務。

回答

0

如果您正在運行WCF,您可以打開跟蹤。就目前而言,沒有什麼可做的。

+0

謝謝。我只運行ASMX,因爲我的webservice必須調用需要WSE 3.0的供應商的ASMX webservice。我非常確定,無論使用哪種Java代理,ColdFusion都會以某種方式看到不匹配,並且我的web服務代碼甚至從未被擊中。 – 2009-07-23 21:04:54

+0

WCF與WSE可以完成的幾乎所有功能都兼容。少數例外之一是不支持DIME。對於其他任何事情,WCF應該「只是工作」。我希望你的供應商瞭解WSE的地位。 「過時」是它的禮貌用語。 – 2009-07-23 21:09:10

0

我在Adobe論壇,你必須進行身份驗證幾行後發現:

ws = CreateObject("webservice", "http://64.8.203.115/fileservice.asmx"); 
ws.setUsername("ourdomain\someuser"); 
ws.setPassword("password"); 

您可以嘗試無需驗證?

此外,你可以嘗試CF8或CF9測試版嗎?可能有AXIS升級可以提供幫助。

我也想指出你這篇博客如果你還沒有看到它:Passing an Array to a .NET Webservice馬克 - 克魯格是一個絕對的CF大師

0

我不能看WSDL(和我意識到這個問題現在已經過去了幾個月),但我會說我使用Coldfusion來使用類似的問題來使用.net webservices,它使用複雜的對象參數。我認爲問題源於.NET和序列化對象之間的不兼容問題。

我偶爾爲解決這類問題而做的一件事是用來消費web服務並手動構建請求,而不是使用CreateObject(「webservice」)功能。顯然這是次優的,但偶爾會有幫助。

我很好奇你是否能夠解決問題以及如何解決問題。

1

我知道這是一個較老的問題,但過去我已經處理了很多這些問題,所以我發佈這個以防萬一任何人仍在尋求幫助。

CF中包含2個很棒的工具,可以幫助您找出在針對Web服務進行開發時不起作用的問題。它們都在\ ColdFusionXXX \ runtime \ bin中。

首先是「wsdl2java」。它需要一個wsdl並自動生成等價的java類。您可以打開它生成的源代碼,以更好地瞭解Web服務所期望的結構。通常java對象結構幾乎可以被1對1轉換爲CF代碼。

第二個工具是「嗅探器」。嗅探器允許您設置本地代理。因此,您可以設置代理來偵聽本地IP和端口,並轉發到承載Web服務的服務器。然後,您只需使用本地IP和端口而不是遠程端口來調用Web服務。請求和響應可以在嗅探器中查看。