我有一個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. SOAP服務響應爲空
- 4. 傳遞soap對象(soap1.2)android時無法獲得HttpResponse的響應?
- 5. 使用node.js傳遞Http響應到網頁的流傳輸
- 6. 在SOAP響應
- 7. SOAP UI響應
- 8. 傳遞JSON作爲流WCF方法
- 9. 燒瓶發送流作爲響應
- 10. 在liferay中傳遞對象作爲對ajax請求的響應
- 11. 將ajax響應作爲參數傳遞給自定義函數
- 12. 在WCF中傳遞異常作爲響應的一部分
- 13. 如何傳遞原始JSON作爲Restful服務的響應?
- 14. 從HTTPContext作爲響應在運行時傳遞一個值
- 15. SOAP響應模式
- 16. PHP - 從SOAP響應
- 17. SOAP響應大小
- 18. 發送SOAP響應
- 19. 格式SOAP響應
- 20. SOAP響應處理
- 21. PHP SOAP空響應
- 22. 處理SOAP響應
- 23. 從Java SOAP響應
- 24. 緩存SOAP響應
- 25. SOAP響應到XML
- 26. 解析SOAP響應
- 27. 截取SOAP響應
- 28. SOAP請求和響應是否通過HTTP作爲序列化對象傳播
- 29. 傳遞形式值作爲POST和獲取JSON作爲響應這裏
- 30. Node.js - 將可讀流傳遞給http響應
使用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