我有一个WCF客户端,其自定义行为拦截SOAP请求。 在客户端的BeforeSendRequest中,我获取SOAP请求并将其作为参数传递给另一个WS。另一个WS将SOAP信封发布到客户端想要调用的实际服务,并将SOAP响应返回给客户端。 因此,在BeforeSendRequest中,中间服务将真实的SOAP响应作为字符串返回给客户端。
public object BeforeSendRequest(ref System.ServiceModel.Channels.Message request, IClientChannel channel)
{
string soapResponse = myotherProxy.CallService(request.ToString());
return null;
}
如何将返回的SOAP响应(soapResponse)设置为客户端中的真实响应?
希望有人可以提供帮助:)
谢谢你, Adrya
答案 0 :(得分:1)
您可以将'soapResponse'保存到检查器的成员变量中,并将其设置回afterReceiveReply。
但是你为什么要假装打电话给服务呢?你不能只是打电话给其他服务 而不必做检查员的诡计?