2011-07-04 51 views
0

我有一個採用多個參數的web服務方法。爲此,設置了BodyStyle = WebMessageBodyStyle.Wrapped。 我想從一個Web服務客戶端訪問此方法,因爲我沒有將服務方法的URL添加到引用 - >添加服務,我得到以下錯誤。從asp.net中的web服務訪問打包的請求web方法

「有下載錯誤。 'HTTP://本地主機:8080 /原料藥/ StoreI'

請求失敗,HTTP狀態405:不允許的方法

元數據包含的參考,可以不解決方法:'http:// localhost:8080/Api/StoreI'

響應消息的內容類型application/json與綁定的內容類型不匹配(application/soap + xml; charset = utf -8)。

如果使用自定義編碼器,請確保IsContentTypeSupported方法正確實施。

響應的前323個字節爲:'{「ErrorCode」:110,「ErrorDetails」:null,「Message」:「傳入消息具有意外的消息格式'Raw'。操作是「XML」,「Json的」。

這可能是因爲WebContentTypeMapper尚未配置的結合。見WebContentTypeMapper的文檔瞭解更多信息。「}」。

遠程服務器返回錯誤:(500)內部服務器錯誤。 如果該服務已在當前解決方案定義,嘗試構建解決方案,並再次添加服務引用「。

我應該怎麼操作才能解決這個問題? 什麼是從訪問一個安全的Web服務的步驟客戶端? 我一個新的Web服務。 的答覆將高度讚賞。 感謝。

回答

0

我不是專家,但改變 BodyStyle = WebMessageBodyStyle.Wrapped 到 BodyStyle = WebMessageBodyStyle.Bare

封裝在操作描述上的用法不會在消息正文上添加一層安全性。它只是將請求(或響應)包裝在一個XML元素

+0

中,但是對於採用多個參數的Web服務方法,應該提到應將BodyStyle作爲包裝提供,否則該服務會提供錯誤。 –