【发布时间】:2015-03-30 15:03:45
【问题描述】:
我开发了一个完美运行的 .NET WCF Web 服务,它产生 SOAP 响应。
我的问题是响应的 SOAP 格式,导致我的最终客户无法使用我的网络服务。 (他只期望响应的正文内容。)
为了更好地解释这种情况,我重新创建了一个名为“计算器”的 WCF 演示;一个简单的 Web 服务,它执行两个数字的总和。 (1+1)
当我在 SOAP UI 上测试 Web 服务时,我得到以下响应:
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="_0">
<u:Created>2015-03-30T14:31:44.759Z</u:Created>
<u:Expires>2015-03-30T14:36:44.759Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<SumResponse xmlns="http://MY-PC">
<SumResult>2</SumResult>
</SumResponse>
</s:Body>
</s:Envelope>
虽然,我的最终客户希望收到以下响应:(all through a new wsdl)
<?xml version="1.0" encoding="UTF-8"?>
<SumResponse xmlns="http://MY-PC">
<SumResult>2</SumResult>
</SumResponse>
有没有办法在 WCF Web 服务的响应中省略 SOAP 格式? (可能使用 .NET 标准系统库)
如果没有,有什么办法可以在.NET中实现最终结果?
注意:
我应该使用 .NET framework 4.0,响应应该有:
内容类型'文本/xml; charset=utf-8'(类似于 SOAP 1.1 格式)
【问题讨论】:
-
如果您的客户不想要 SOAP,为什么还要创建 SOAP 服务?
-
因为我不知道。我的交付包括开发一个 Web 服务,它必须由消费者的软件使用。没有其他信息,除了服务的签名和在 .NET 中创建 Web 服务。
标签: .net web-services wcf