c# - 如何获取 SOAP 请求消息的 xml 表示形式?

标签 c# xml web-services soap wsdl

我有 SOAP 网络服务的 WSDL,我正在通过我的 MVC 应用程序使用它。

通过将 WSDL 作为 Web 服务添加到我的 Visual Studio 解决方案,它会自动为我创建一个代理类,并为我处理所有序列化/不稳定,这在一段时间内真的很棒。我一直在使用这个代理类来调用/发送我的 SOAP 请求到 Web 服务(使用纯 c# 代码,不涉及 XML),我收到了我的响应消息,一切都运行良好。

但是,现在我需要找到发送到 Web 服务的 SOAP 消息的确切 xml 表示形式。我怎样才能得到/找到/制作这个?

最佳答案

你可以这样做

var serxml = new System.Xml.Serialization.XmlSerializer(request.GetType());
var ms = new MemoryStream();
serxml.Serialize(ms, request);
string xml = Encoding.UTF8.GetString(ms.ToArray());

其中 xml 是您的原始 SOAP

关于c# - 如何获取 SOAP 请求消息的 xml 表示形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46781656/

相关文章:

asp.net - ASSX 处理程序返回 500 内部服务器错误

java - ObjectFactory 工厂 = new ObjectFactory();

c# - 将数组作为命令行参数传递给 Asp.Net Core

java - JAX-B 将字符串映射到 JAXBElement<String>

xml - XML 解析器是否区分 xsi :nil ="true" and omitted elements?

JSONMarshal : Is it possible to serialize/desrialize into/from 'plain' JSON (without metadata)?

c# - 如何让 VS10 Intellisense 在输入时完成推荐成员?

c# - 进行长时间运行的异步调用就这么简单吗?

c# - 通过 HttpClient 使用 Google Cloud AutoML 时收到 401 "Unauthorized"错误

Android:将相同的文本输出显示到多个 EditText