어떤 메시지 속성을 사용하여 약 :이 (의사 코드) 도움이 될 것입니다 방법
예? IClientMessageInspector을 확인 했습니까?
그것은 다음과 같이 보일 수 있습니다 :
메시지 관리자
public class MessageInspector : IClientMessageInspector
{
...
#region IClientMessageInspector Members
public void AfterReceiveReply(ref System.ServiceModel.Channels.Message reply, object correlationState)
{
//rethrow your exception here, parsing the Soap message
if (reply.IsFault)
{
MessageBuffer buffer = reply.CreateBufferedCopy(Int32.MaxValue);
Message copy = buffer.CreateMessage();
reply = buffer.CreateMessage();
object faultDetail = //read soap detail here;
...
}
}
#endregion
...
}
엔드 포인트 동작
http://weblogs.asp.net/paolopia/archive/2007/08/23/writing-a-wcf-message-inspector.aspx
public class MessageInspectorBehavior : IEndpointBehavior
{
...
#region IEndpointBehavior Members
public void ApplyClientBehavior(ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.ClientRuntime clientRuntime)
{
MessageInspector inspector = new MessageInspector();
clientRuntime.MessageInspectors.Add(inspector);
}
#endregion
...
}
나는 좋은 연습이
use exceptions as faults too으로 생각합니다.
나는이 똑같은 문제가 있었는데, 나는이 질문에 대한 응답이 얼마나 열악한지를 보았을 때 소름 끼쳤다. 나는 꽤 오래된 사람이라도 누군가가 그것을 알아주기를 바라는 현상금을주고 있습니다. –
쿨하지만이게 불가능하다고 생각합니다. 계속 전진했고이 프로젝트에서 더 이상 일하지 않습니다. IIRC, 방금 쓴 약을 삼키고 도처에 그것을 바꿨습니다. 그러나 나는 세부 사항을 기억하지 않는다. –
1 가지 들어, 난 그 말씨가 반대로, FaultExceptiom 싶지 않아요 생각 -> SoapException (테스트 용)? –