我花了一段时间来研究这个问题,但我很难得到任何有用的答案。
基本上,我有一个以前从WSDL编译的SoapHttpClientProtocol。然后,我从clientProtocol获取我的特定方法的MethodInfo,并使用标准的Invoke方法调用它。
您得到的只是来自web服务转换为对象的响应。我想要做的是获得传递回来的实际SOAP响应,这样我就可以进入实际的XML。我已经看到了一种非线程安全的方式来做这件事,但这在这种情况下是没有帮助的。有没有人知道怎么做。也许是某种形式的代理?
如果有人能帮上忙我会非常感激的。
Assembly assembly = GetLoadedAssembly(@"C:\Assembly.dll");
SoapHttpClientProtocol instanceType = (SoapHttpClientProtocol)assembly.CreateInstance("MyMethod");
MethodInfo method = instanceType.GetType().GetMethod(methodName);
object[] objParameters = {"a parameter"};
object response = method.Invoke(instanceType, objParameters);发布于 2011-02-04 08:01:43
此链接可能很有用:
http://orbinary.com/blog/2010/01/getting-the-raw-soap-xml-sent-via-soaphttpclientprotocol/
提供的示例用于获取传出请求,但它似乎也适用于响应。
如果这不起作用(因为你正在思考),也许这个方法可以用来添加一个SoapExtension:
http://blog.gatosoft.com/2005/07/31/ProgramaticallyRegisteringSoapExtensionsRedux.aspx
微软为SoapExtension本身提供了一个例子:
http://msdn.microsoft.com/en-us/library/bb552923(VS.90).aspx
https://stackoverflow.com/questions/3865679
复制相似问题