2010년 3월 12일 금요일

IDispatchMessageInspector

IDispatchMessageInspector 인터페이스를 구현하면 웹서비스의 메세지를 수정을 할수 있습니다.

 

 

두개의 메소드가 있는데

 

1. 요청 받은 soap 메세지를 받은 후 구현부.

 

public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)

 

위에 메소드를 구현하면 soap 메세지를 받은후 실행 되는데 ref Message request가 받은 soap 메세지의 내용이다.

 

request의 header, body를 수정함으로 라우팅, 메세지변환을 할수도 있다.


 

2. 응답 하기전에 할 행동 구현부.

 

public void BeforeSendReply(ref Message reply, object correlationState)

 

위 메소드를 구현하면 요청한 응답을 돌려주기전에 reply를 수정하여서 처리 할수 있다.

 

 

메세지를 수정하려면 soap 메세지의 구조를 알아야하고,

아래를 참고해서 .net에서 soap 메세지를 어떻게 처리하는지 아는게 좋을것 같다.

 

http://msdn.microsoft.com/ko-kr/library/system.servicemodel.channels.message(VS.95).aspx


 

댓글 없음:

댓글 쓰기