I am developing a few mock services for a handful of web services that comes in various forms (REST, SOAP, contentType: text/xml, mime, url encoded, etc.). In all cases but one, integration server side received the posted data. In each case, the data was received either through “streamToString”, or using mime handlers, tranportInfo.http.query, so on and so forth.
Note: Mock Services for IS was developed, using the original WSDL that partner provided for WSDL-based services, creating a WSD from it. The purpose of these mock servvces was to point pre-prod environments to use these mock services instead of the actual partner-provided services for testing.
However, I am stuck with a WSDL-case, where IS is not able to receive the data that client posts. I can see that my test client successfully posts the data and it is part of the body (using fiddler). However, I used the following methods that worked in one way or other in each of the above cases described.:
-
expected that the IS to auto assign the received post-data to the input document that was created from the WSDL - did not work that way
-
getPipeline.reqBody, which worked in many cases for other cases - did not work as reqBody pipedToFile shows no data in it. Also, I can see that when it attempts to save, it throws XMLCoder decode invalid data type: com.wm.lang.xml.Document
-
getSOAPMessage. The messageContext is not receiving any data. Does IS automatically populates messageContext? If yes, this is not happening
Tried other options
4) getTransportInfo-> requestHeaders.
- io.streamToString but input stream is coming as null
I am new to IS. Any pointers would be very helpful.