Looking for a better way to extract SOAP messeages

I’m working with an order backend system based on Domino. This system communicates with with various order intake systems using webservices. Previously we used Domino agents, acting as our webservices, giving us the possibility to easy capture the incoming SOAP request and store it as log information in the order. This was great in case of troubleshooting.

In the new release we started to use the built-in webservice design objects instead and now we lost this option to log the SOAP request. Or does anyone of you out there have a solution to our problem?

I know that we can capture the request in the web log on the server, but I’m not interested in that. I want to store the SOAP message along with the order.

Same goes for consuming webservices. I would like to be able to capture the actual SOAP message being sent out from our Domino server.

(We managed to do this earlier when we used Windows WinHTTP object, composing the soap msg ourselves :wink:

I would love to have properties on the webservice objects like “SoapRequest” & “SoapResponse”

Subject: Look up SOAP event handlers…

  • In Java, at least, the automagic SOAP capability also removed this functionality for me when they built it into Java instead of using the WSDP. But there is a way to insert event handlers into the SOAP transmit/receive chain, and you may write an event handler that simply dumps the payload to a log. Works, except file transfers bollix it pretty badly, so if you have attached files that are larger than tiny (500k or so) you will likely start having performance issues. But for plain old SOAP it works a treat.

Hope this helps…

Subject: Looking for a solution in Lotusscript

Unfortunately we cannot use Java since our complete business layer is built upon Lotusscript libraries and it would cost too much to rebuild this in Java.

It would be great to hear what Lotus support or development has to say about this. Would it be possible to extract the raw soap request/response using pure Lotusscript?

Subject: Yes it is possible

Just not through the NoteWebServiceEngine. That only exposes the following methods (See LSXSD.LSS):

.invoke(method, variables)

.initialise(“Service”, “port”, “url”, “Object”)

.SetCredentials(username, password)

.SetEndpoint(url)

.SetTimeout(ms)

.SetSSLOptions(OptLong) ’ See const for NOTES_SSL_*

.GetEndpoint() as String

.GetTimeout() as Long

.GetSSLOptions() as Long

.GetLastFault() as WS_FAULT

I did write up an application that intercepted a Web Service consumer and provider and logged the outputs to a selected folder.

It is fairly straight forward. I will see about releasing it later.