2012-10-29 74 views
0

我正在連接到新的Web服務。使用Visual-Studio中添加服務引用,我讓我的方法調用爲:無效的XML響應

void Method(string request); 

的問題是,web服務發送一個響應,這樣空洞應該是一個字符串?因爲我收到了響應的無效XML錯誤。使用小提琴手我可以看到響應爲:

{"errorcode": "000","errormsg": "Alert Added."}<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><AlertResponse xmlns="http://www.quit.com/" /></soap:Body></soap:Envelope> 

顯然,這是無效的XML和XML之前的JSON響應。如何以不同的方式調用/設置服務以獲取響應結果?

+0

現在如何設置服務器?很顯然,該服務正在向客戶端發送無效數據。 – carlosfigueira

+0

我沒有設置服務器。這是一個肥皂1.1或1.2的請求,都給出了相同的迴應。 –

回答

0

這是一個無效的方法,但它不是一個單向的方法,所以服務器會發送一個響應,但是這將是一個空的元素,你的情況:

<soap:Body> 
    <AlertResponse xmlns="http://www.quit.com/" /> 
</soap:Body> 

服務器併發送因爲即使在void方法的情況下,還有其他可能的「響應」,它可能會返回 - 一個例子是一個例外(或者SOAP錯誤錯誤)。

但是,您正在與之通話的服務正在發送無效響應。如果您不擁有該服務,並且仍然需要使用該服務,則可能需要考慮創建一個自定義編碼器,在嘗試使用該編碼器之前,該編碼器能夠從該響應中去除該無關的JSON片段。