2016-05-27 1 views

答えて

0

SOAPメッセージの実際の内容を取得する方法については、サーバーに送信しています。 https://wcfpro.wordpress.com/2011/03/29/iclientmessageinspector/

に基づいて第1のWindowsを作成するフォームアプリケーションとSOAP Webサービスへの参照を追加 -

最後に、私は、私は非常に単純なコードで、ここで共有したいの答えを見つけました。

https://wcfpro.wordpress.com/2011/03/29/iclientmessageinspector/

に指定されているそして、そのポスト

public class MyBehavior : IEndpointBehavior 
{ 

    public void AddBindingParameters(
     ServiceEndpoint endpoint, 
     BindingParameterCollection bindingParameters) 
    { 
    } 

    public void ApplyClientBehavior(
     ServiceEndpoint endpoint, 
     ClientRuntime clientRuntime) 
    { 
     clientRuntime.MessageInspectors.Add(new MyMessageInspector()); 
    } 

    public void ApplyDispatchBehavior(
     ServiceEndpoint endpoint, 
     EndpointDispatcher endpointDispatcher) 
    { 
    } 

    public void Validate(
     ServiceEndpoint endpoint) 
    { 
    } 
} 

public class MyMessageInspector : IClientMessageInspector 
{ 
    public void AfterReceiveReply(ref Message reply, object correlationState) 
    { 
     // use 'reply.ToString()' te get content and do something with is 
    } 

    public object BeforeSendRequest(ref Message request, IClientChannel channel) 
    { 
     // use 'request.ToString()' te get content and do something with is 
     return null; 
    } 
} 

のうち、コピー下記参照クラスを作成して、今、把握する私にしばらく時間がかかった最も重要な部分は、来ます。あなたはWebサービスのインスタンスを作成するとき :

MyServiceClient svc = new MyServiceClient(); 

を次に、このコード使用してサービスに動作を追加:

svc.ChannelFactory.Endpoint.Behaviors.Add(new MyBehavior()); 

をそして今、あなたはで動作するように始めることができる何かを持っています!

関連する問題