Rakesh Rajendra Patil Ответов: 0

Как я могу захватить необработанный запрос soap, если веб-служба / WCF не возвращает никакого ответа ?


Здравствуйте, я хочу захватить необработанный запрос soap после вызова веб-службы.

Я попробовал следующее решение, но оно не работает.

Что я уже пробовал:

публичный класс WCFLogger : ClientBase< iservice>, IService
{
общественные WCFLogger(связывание связывание, адрес адрес endpointaddress )
базовые(обязательные, адрес)
{
этот.Конечная точка.Поведения.Добавить (новый MyFaultLogger());
}

публичный ответ SendCharges (HttpRequestMessageProperty request)
{

верни это.Канал.ClientMethod(запрос);
}

класс MyFaultLogger : IEndpointBehavior, IClientMessageInspector
{
public void AddBindingParameters(конечная точка ServiceEndpoint, BindingParameterCollection bindingParameters)
{
}

общественного недействительными ApplyClientBehavior(ServiceEndpoint конечная точка, ClientRuntime clientRuntime)
{
clientRuntime.MessageInspectors.Добавить это);
}

общественного недействительными ApplyDispatchBehavior(ServiceEndpoint конечная точка, объекте endpointdispatcher объекте endpointdispatcher)
{
}

общественного недействительными проверки(ServiceEndpoint конечная точка)
{
}

общественного недействительными AfterReceiveReply(сообщение номер модели / ref ответить, объектов correlationState)
{
если (ответ.IsFault)
{
Приставка.Задается = ConsoleColor.Красный;
Приставка.WriteLine ("ошибка получена!: {0}", ответ);
Приставка.ResetColor();
}
}

публичный объект BeforeSendRequest(ref Message request, iclientchannel channel)
{
возвращать null;
}
}
}

0 Ответов