Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 21 additions & 4 deletions TransactionProcessor/Common/ClientMessageLogger.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Microsoft.Extensions.Logging;
using System.Net;
using Microsoft.Extensions.Logging;
using Shared.Middleware;

namespace TransactionProcessor.Common;
Expand Down Expand Up @@ -38,12 +39,28 @@ public ClientMessageLogger(String clientName, RequestResponseMiddlewareLoggingCo

#region Methods

public void AfterReceiveReply(ref Message reply, Object correlationState) => LogMessage(LogType.Request,$"Received SOAP reply from {this.ClientName}:\r\n{reply}");

public void AfterReceiveReply(ref Message reply, Object correlationState) {

if (reply.Properties.TryGetValue(
HttpResponseMessageProperty.Name,
out object httpResponseObj))
{
HttpResponseMessageProperty httpResponse = (HttpResponseMessageProperty)httpResponseObj;

HttpStatusCode statusCode = httpResponse.StatusCode;
if (statusCode != HttpStatusCode.OK) {
Logger.LogWarning($"Received failed SOAP reply from {this.ClientName}:\r\n{reply}");
return;
}

LogMessage(LogType.Response, $"Received SOAP reply from {this.ClientName}:\r\n{reply}");
}
}


public Object BeforeSendRequest(ref Message request, IClientChannel channel)
{
LogMessage(LogType.Response, $"Sending SOAP request to {this.ClientName}:\r\n{request}");
LogMessage(LogType.Request, $"Sending SOAP request to {this.ClientName}:\r\n{request}");
return null;
}

Expand Down
Loading