我有一个古老的Web服务客户端需要与我的WCF 4.0服务进行通信。客户端是另一家不会改变的公司中的旧系统。我们有新的客户端需要WCF功能,所以我们拥有它,但现在需要更多的工作来支持旧客户端。
我使用Attributes装饰了WCF服务的几个部分,并且许多发出的WSDL看起来像古代客户端用来调用的Web服务。我还有一些看起来不像传统的东西。我在哪里可以看到新服务器看起来像旧的?
旧的(Web服务)系统具有:
<wsdl:portType name="QueueServiceSoap">
<wsdl:operation name="SubmitRequest">
<wsdl:input message="tns:SubmitRequestSoapIn"/>
<wsdl:output message="tns:SubmitRequestSoapOut"/>
</wsdl:operation>
</wsdl:portType>
新的(WCF服务)系统具有:
<wsdl:portType name="QueueServiceSoap">
<wsdl:operation name="SubmitRequest">
<wsdl:input wsaw:Action="https://test.com/SubmitRequest" message="tns:QueueServiceSoap_SubmitRequest_InputMessage"/>
<wsdl:output wsaw:Action="https://test.com/QueueServiceSoap/SubmitRequestResponse" message="tns:QueueServiceSoap_SubmitRequest_OutputMessage"/>
</wsdl:operation>
</wsdl:portType>
我需要将WCF服务更改为WS ...服务帮助?
谢谢!
答案 0 :(得分:0)
创建一个处理HttpModule
的{{1}},使用该BeginRequest
在WSDL被要求(Request["WSDL"] != null)
时附加响应过滤器。响应过滤器将是您编写的继承自MemoryStream
的类,它将适当地更改响应。