2010-03-03 37 views
4

我目前正在使用C#調用ColdFusion Web服務。 Web服務只是一個用於搜索用戶的簡單查詢。我可以搜索只是罰款,並返回我要尋找的,除非我試着搜索「約翰遜」的用戶則返回:在C#中調用webservice返回客戶端發現的響應內容類型爲'',但預期'text/xml'

Client found response content type of '', but expected 'text/xml'. 
The request failed with the error message: 
-- 

--. 

我不知道爲什麼,對於特定的搜索字符串時它不工作。我認爲它可能超時,但發送請求後立即彈出錯誤。有任何想法嗎???

+0

是否有任何其他信息?我知道我看到過類似的消息,但它說「客戶端發現響應內容類型爲'text/html'...」。這只是意味着服務發回錯誤的HTML,你通常可以看到問題是什麼。你總是可以運行Fiddler來查看實際的請求和響應。 – 2010-03-03 16:37:40

回答

1

我發現這個問題,結果發現有一個無效字符在查詢中的一行中返回,無法放入xml中。刪除了無效字符,它現在工作正常。

1

可能輸出已損壞。嘗試使用網絡分析儀WireShark查看幕後發生的事情。

+0

WireShark報告它正在返回服務器500錯誤 – 2010-03-03 17:06:44

+0

.net應拋出更多相關異常,因爲500表示錯誤。我認爲服務器端出了問題,請檢查它 – Andrey 2010-03-03 17:08:16

+0

正如安德烈所說,500個錯誤是未捕獲的異常。基本上,出了問題(JRun崩潰,語法錯誤,不管),服務器堆棧不知道如何清理處理錯誤。 – 2010-03-03 19:32:29

1

我會從手動調用服務開始,看看原始返回值是什麼。它是否犯了一個錯誤?返回null?第三個選項?

+0

如果我在Web瀏覽器中調用該函數,它將返回正常。我只是在WireShark中監視響應,並發現服務器500錯誤。爲什麼會發生? – 2010-03-03 17:07:47

+1

服務器500是ColdFusion中發生的某種錯誤。檢查ColdFusion日誌。 – 2010-03-03 17:15:00

+0

我在ColdFusion日誌中發現問題,結果發現有一個試圖返回的無效字符。我從用戶名中刪除了字符,現在它工作正常。謝謝您的幫助。 – 2010-03-03 18:42:43

0

只是一個猜測。難道這個特定的查詢沒有找到匹配,所以Web服務返回非XML結果(在你的案例中是空的)?當你問任何其他不存在的名字(一些「等等等等」)時,會發生這種情況嗎?如果這是正確的,那絕對是服務代碼中的一個邏輯錯誤。

相關問題