我正在尝试动态修改对 ASMX 服务的 SOAP 请求中的 XML 数据。
我重写GetWebRequest()
了类中的方法,SoapHttpClientProtocol
以便读取和修改RequestStream
包含的 XML 数据。
问题是,请求似乎是空的,里面没有任何数据。这是因为尚未生成和序列化 SOAP 数据还是我做错了什么?
我正在尝试动态修改对 ASMX 服务的 SOAP 请求中的 XML 数据。
我重写GetWebRequest()
了类中的方法,SoapHttpClientProtocol
以便读取和修改RequestStream
包含的 XML 数据。
问题是,请求似乎是空的,里面没有任何数据。这是因为尚未生成和序列化 SOAP 数据还是我做错了什么?
你需要的是一个SoapExtension
. 您可以进入SoapMessageStage.AfterSerialize
舞台ProcessMessage
以修改您的肥皂信息。过去我这样做是为了在无法添加对 Microsoft 的 WSE 库的依赖项的情况下添加 WSSE 标头(因为它不适用于 Mono)。
完整教程在这里:http: //msdn.microsoft.com/en-us/magazine/cc164007.aspx
GetWebRequest
对你的目的GetWebResponse
来说太早了,太晚了。