Skip to content

Client reference

This page documents every operation WSLogging declares. WriteError is called from repository source through clsWSLoggingSoapClient; WriteTrace and WriteAudit are declared by the WSDL but have no call site in repository source.


WriteError

Records an exception's application, environment, error date, message, source, page, user, and machine context against the remote logging service.

Field Value
Operation WriteError
SOAP action http://tempuri.org/SAIF/Logging/clsWSLogging/WriteError
Proxy member void WriteError(ErrorInfoStruct inError)
Input message ErrorInfoStruct
Output message None — one-way
Declared faults None declared
Called by LoggingServiceProxy.LogException(ApplicationExceptionDetail detail) (Services/SAIF.Services.Web.Proxies/LoggingServiceProxy.cs:23-27), reached from EnvironmentApi.SAIFExceptionLogger.Log (Services/SAIF.Services.WebApi/EnvironmentApi/App_Start/SAIFExceptionLogger.cs:33)
Source Services/SAIF.Services.Web.Proxies/LoggingServiceProxy.cs:26

Input message

Part Type Required Bound from Purpose
ApplicationName string Not stated in the WSDL detail.Application = "EnvironmentApi" The logical application name
Environment string Not stated in the WSDL detail.Environment = "NetProd" (hard-coded) The deployment track — see BR-LOG-001
ErrorDate dateTime Yes detail.ExceptionDate = DateTime.Now When the exception was captured
ExceptionInfo string Not stated in the WSDL detail.Message = Exception.GetErrorLogFormattedException() The formatted exception message and stack trace
ExceptionSource string Not stated in the WSDL detail.Source = "" Always empty at this call site
MachineName string Not stated in the WSDL detail.Machine = Environment.MachineName The machine that logged the error
PageName string Not stated in the WSDL detail.Page = RequestUri.PageName() Derived from the failing request's URI
StateInfo string Not stated in the WSDL detail.State = "Uri = " + RequestUri The full request URI
Username string Not stated in the WSDL detail.User = context.RequestContext.Principal.Identity.Name The authenticated principal's name; may throw NullReferenceException for an anonymous request*

Output message

This operation declares no output message.

Faults

Fault Surfaces as Handled at the call site
Generic SOAP fault FaultException / CommunicationException / TimeoutException Handled at the upstream caller — a bare catch { } in SAIFExceptionLogger.Log swallows every exception and falls back to Trace.TraceError, but the logging failure itself is not recorded anywhere

Call site

webService.WriteError(detail.ToErrorInfoStruct());
Aspect Finding
Invocation frequency Once per unhandled Web API exception
Result cached No
Timeout at this call site None — binding defaults apply
Retry at this call site None

Notes

  • The upstream caller's bare catch { } (SAIFExceptionLogger.cs:18-37) means a NullReferenceException while building detail — for example an anonymous request with a null Principal — is silently swallowed along with any genuine transport failure*.
  • The LoggingServiceProxy instance constructed for this call is never disposed.

WriteTrace

Declared by the WSDL to record an application, assembly, class, and method trace entry against the remote logging service; no repository source line invokes it.

Field Value
Operation WriteTrace
SOAP action http://tempuri.org/SAIF/Logging/clsWSLogging/WriteTrace
Proxy member void WriteTrace(TraceInfoStruct inTrace)
Input message TraceInfoStruct
Output message None — one-way
Declared faults None declared
Called by No call site found in repository source
Source Services/SAIF.Services.Web.Proxies/Service References/Logging/clsWSLogging.wsdl

Input message

Part Type Required Bound from Purpose
ApplicationName string Not stated in the WSDL Not applicable — no call site The logical application name
AssemblyName string Not stated in the WSDL Not applicable — no call site The assembly emitting the trace
ClassName string Not stated in the WSDL Not applicable — no call site The class emitting the trace
DataText string Not stated in the WSDL Not applicable — no call site Free-form trace payload
Environment string Not stated in the WSDL Not applicable — no call site The deployment track
MachineName string Not stated in the WSDL Not applicable — no call site The machine emitting the trace
MethodName string Not stated in the WSDL Not applicable — no call site The method emitting the trace
MethodPosition string Not stated in the WSDL Not applicable — no call site A position marker within the method
PageName string Not stated in the WSDL Not applicable — no call site The originating page
TraceDate dateTime Yes Not applicable — no call site When the trace entry was captured
TraceID string Not stated in the WSDL Not applicable — no call site A caller-assigned trace identifier
UserName string Not stated in the WSDL Not applicable — no call site The authenticated principal's name

Output message

This operation declares no output message.

Faults

Fault Surfaces as Handled at the call site
Generic SOAP fault Not applicable Not applicable — this operation has no call site in repository source

Call site

No call site found in repository source.

Notes

  • The operation's purpose can only be inferred from its name and its TraceInfoStruct shape; no repository source calls it*.

WriteAudit

Declared by the WSDL to record an application, page, and user audit message against the remote logging service; no repository source line invokes it.

Field Value
Operation WriteAudit
SOAP action http://tempuri.org/SAIF/Logging/clsWSLogging/WriteAudit
Proxy member void WriteAudit(AuditInfoStruct inAudit)
Input message AuditInfoStruct
Output message None — one-way
Declared faults None declared
Called by No call site found in repository source
Source Services/SAIF.Services.Web.Proxies/Service References/Logging/clsWSLogging.wsdl

Input message

Part Type Required Bound from Purpose
ApplicationName string Not stated in the WSDL Not applicable — no call site The logical application name
AuditDate dateTime Yes Not applicable — no call site When the audited action occurred
DataText string Not stated in the WSDL Not applicable — no call site Free-form audit payload
Environment string Not stated in the WSDL Not applicable — no call site The deployment track
MachineName string Not stated in the WSDL Not applicable — no call site The machine emitting the audit entry
MessageText string Not stated in the WSDL Not applicable — no call site The audit message
PageName string Not stated in the WSDL Not applicable — no call site The originating page
UserName string Not stated in the WSDL Not applicable — no call site The authenticated principal's name

Output message

This operation declares no output message.

Faults

Fault Surfaces as Handled at the call site
Generic SOAP fault Not applicable Not applicable — this operation has no call site in repository source

Call site

No call site found in repository source.

Notes

  • The operation's purpose can only be inferred from its name and its AuditInfoStruct shape; no repository source calls it*.

Coverage checklist

Operation Documented section Called by
WriteTrace WriteTrace No call site found in repository source
WriteError WriteError LoggingServiceProxy.LogException
WriteAudit WriteAudit No call site found in repository source

Note: Statements marked with * were inferred from code structure or contextual evidence.

Sources

  • Services/SAIF.Services.Web.Proxies/LoggingServiceProxy.cs
  • Services/SAIF.Services.WebApi/EnvironmentApi/App_Start/SAIFExceptionLogger.cs
  • Services/SAIF.Services.Web.Proxies/Service References/Logging/clsWSLogging.wsdl