我有一个古老的web服务客户端,它需要与我的WCF 4.0服务进行对话。客户端是另一家公司的大型旧系统,不会发生变化。我们有需要WCF功能的新客户端,所以我们有它,但现在需要更多的工作来支持旧客户端。
我已经用属性装饰了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服务...帮助?
谢谢!
发布于 2011-01-20 01:29:41
创建一个处理BeginRequest的HttpModule,当请求WSDL提供(Request["WSDL"] != null)时,使用它附加一个响应过滤器。响应筛选器将是您编写的继承自MemoryStream的类,它将相应地更改响应。
可以在http://www.4guysfromrolla.com/articles/120308-1.aspx中找到编写响应过滤器的参考资料
https://stackoverflow.com/questions/4189085
复制相似问题