使用GetWebRequest修改SOAP请求

时间:2011-11-15 13:43:07

标签: c# soap asmx soaphttpclientprotocol

我正在尝试动态修改SOAP请求中的XML数据到ASMX服务。

我在GetWebRequest()类中重写了SoapHttpClientProtocol方法,以便读取和修改RequestStream包含的XML数据。

问题是,请求似乎是空的,其中没有任何数据。这是因为SOAP数据尚未生成和序列化,还是我做错了什么?

1 个答案:

答案 0 :(得分:2)

您需要的是SoapExtension。您可以挂钩SoapMessageStage.AfterSerialize中的ProcessMessage阶段来修改您的肥皂消息。我过去已经这样做了,在我无法在Microsoft的WSE库中添加依赖项的情况下添加WSSE头文件(因为它不适用于Mono)。

在此完成教程:http://msdn.microsoft.com/en-us/magazine/cc164007.aspx

GetWebRequest对于您的目的来说为时尚早,GetWebResponse为时已晚。