我有一個SOAP響應傳回它的主體元素爲...流......我被告知這意味着流正在被傳遞。我將如何去閱讀這個流?我怎樣才能找出它是什麼流?接收流的程序是一個WCF服務。流作爲SOAP響應傳遞
1
A
回答
0
流通常只能讀取一次,所以如果讀取流可能會被使用,您需要重新創建它。你可以做的一個可能的地方是在一個自定義信息編碼器,它包裝原始綁定編碼器。
有兩個WriteMessage
您需要實現的方法。在緩衝的情況下,只需將呼叫委派給封裝的編碼器,並且您將獲得消息內容。在流式傳輸的情況下,您會將傳遞一個內存流的消息寫入包裝的編碼器,檢查內容,然後將流內容寫入作爲參數傳遞的流中。
public override ArraySegment<byte> WriteMessage(Message message, int maxMessageSize, BufferManager bufferManager, int messageOffset)
{
ArraySegment<byte> result = this.wrappedEncoder.WriteMessage(message, maxMessageSize, bufferManager, messageOffset);
// message contents on the array segment.
return result;
}
public override void WriteMessage(Message message, Stream stream)
{
MemoryStream ms = new MemoryStream();
this.wrappedEncoder.WriteMessage(message, ms);
// message contents in the memory stream
ms.Position = 0;
ms.CopyTo(stream);
}
+0
謝謝。我將轉換模式從Streamed切換到Buffered,而不是在我的Web.config中,現在我可以在我的日誌中看到正文 – symbiont 2016-09-30 12:50:12
相關問題
- 1. SOAP:作爲NULL傳遞的整數
- 2. 在PHP中流傳輸大型SOAP響應
- 3. 使用node.js傳遞Http響應到網頁的流傳輸
- 4. SOAP UI響應
- 5. 在SOAP響應
- 6. 傳遞JSON作爲流WCF方法
- 7. 如何傳遞原始JSON作爲Restful服務的響應?
- 8. 從HTTPContext作爲響應在運行時傳遞一個值
- 9. 在liferay中傳遞對象作爲對ajax請求的響應
- 10. 在WCF中傳遞異常作爲響應的一部分
- 11. 將ajax響應作爲參數傳遞給自定義函數
- 12. 格式SOAP響應
- 13. SOAP響應到XML
- 14. 從Java SOAP響應
- 15. 截取SOAP響應
- 16. SOAP響應模式
- 17. SOAP響應大小
- 18. 緩存SOAP響應
- 19. SOAP響應處理
- 20. PHP - 從SOAP響應
- 21. Node.js - 將可讀流傳遞給http響應
- 22. PHP SOAP響應爲空,但__last_response不是
- 23. 將SOAP響應轉換爲JSONArray
- 24. 將XML SOAP響應轉換爲CSV
- 25. 如何在xml中傳遞值作爲SOAP請求
- 26. XmlDocument讀取作爲SOAP消息正文傳遞的XML文件
- 27. 內置SOAP擴展PHP5傳遞PARAMS作爲關聯數組
- 28. 將XML作爲字符串傳遞給LoadRunner中的SOAP請求
- 29. 在SOAP API中將datetime作爲數組傳遞PHP
- 30. 如何將數組作爲參數傳遞給Ruby中的SOAP
使用StreamReader? – talnicolas 2012-02-29 20:49:44
@talnicolas在我的經驗中,StreamReader對於閱讀任意流並不是非常有用... – 2012-02-29 20:54:53
@MarcGravell噢,好吧,這只是一個提示,我並不真正瞭解任何C#。 – talnicolas 2012-02-29 20:56:49