2013-04-22 5 views
2

특정 표준에 맞게 작성해야하는 WCF 호스트 서비스가 있습니다. 표준의 대부분의 요구 사항을 달성하기 위해 사용자 지정 바인딩을 사용하고 있습니다.WCF - WS-Addressing "TO"헤더를 서비스 응답에 추가하는 방법

WS-Addressing 헤더는 응답 헤더와 요청 헤더에 필요하며 일부는 자동으로 구성되는 것 같지만 "MessageID", "From"및 "To"요소가 누락되었습니다.

메시지 검사기와 "BeforeSendRequest"메소드를 사용하여 테스트 클라이언트에 "From" "To"및 "ReplyTo"헤더를 추가했습니다. 이것은 예상대로 작동했습니다.

호스트 서비스에서 "BeforeSendReply"메서드를 사용하여 "MessageID", "From"및 "To"요소에 대해 동일한 접근 방식을 사용하려고했습니다. 그러나 "MessageID"와 "From"헤더 만 메시지에 나타납니다. "받는 사람"헤더가 추가되지 않습니다.


의 제안을 제공 할 수있는 사람은 누구입니까? 1. 응답 메시지에 "TO"ws-addressing 헤더를 포함/추가하는 방법은 무엇입니까?
2. WCF가 응답의 메시지 검사기 방법을 사용하여 메시지에 "받는 사람"헤더를 추가하지 않는 이유는 무엇입니까?

답변

0

기본적으로 사용자의 ManualAddressing 속성을 true로 설정하면 서비스의 기본 채널에 더 이상 To : 헤더에 개입하지 않아야 함을 알립니다.

은 당신의 Web.config에 custombinding으로 수행 할 수 있습니다

<customBinding> 
    <binding name="customBinding_manualAddressingEnabled"> 
    <textMessageEncoding /> 
    <httpTransport manualAddressing="true"/> 
    </binding> 
</customBinding> 

자세한 내용은 answer를 참조하십시오.