I am receiving HTTP requests on a Tibco service using HTTP Receiver element, and I would like a way to extract or parse the Soap Body from the Request, without resorting to using the Soap Event Source element. Is there a way?
you can receive SOAP request across SOAP palette or service palette
You can use serviceagent for soap requests and map your request to related process , serviceagent will check your configuration and send your soap body to process directly
Related
I am currently facing a requirement that could support HTTP Get Request with payload. Also this question has confused me for a long time. Is there a way to send body with a HTTP GET request from browser side? I know you could send get request with body by using Python, Php,cUrl etcs, but how about from browser side?
I have done some investigations on this topic and find out that most of the popular http request libaries such as axios,request,superagent do not support this feature. Even, the fetch and XMLHTTPrequest does not support Get method with payload.(https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/send)
The weird thing is that the standard(or RFCs) did not forbid sending a get request with body.
Here comes my question, is there any way from web browser we could support http get request with body?
I'm using IBM API connect & IBM DataPower 2018.
I have a SOAP web service, and I need to do some customized logging for it by capturing the request\response payload.
When the service returns a valid XML, or even SOAP exception, I could easily handle such cases, and save the request\response payload in separate DB schema for operational purposes.
I updated the response payload by returning non XML response from the backend, like "ABCDEFGHI....".
when I call this service through datapower, it returns clear response.
<errorResponse>
<httpCode>400</httpCode>
<httpMessage>Bad Request</httpMessage>
<moreInformation>Invalid XML payload received.</moreInformation>
</errorResponse>
But I am unable to capture the message.body payload which is in my case "ABCDEFGHI..", the apim.getvariable('message.body') returns nothing.
My question:
How to capture the invalid response payload (none well XML) for SOAP service by using Gateway script?
You can't... as the the message will be rejected prior to processing since DataPower will set the message type to SOAP it will reject anything not being SOAP.
You would need to pass it through a "chaining" API (or service on the DataPower instance) which could capture the response payload.
I have a general REST API (developed using Spring MVC) that takes a list of API requests as its request body.
Each API request in the list has its own URL and request body.
In the implementation of this general REST API, I need to call the corresponding Spring controller method (in the same app) for each of these individual API requests (with their appropriate URL and request body).
(I will then merge all those individual API responses and return it in one big response from the general REST API).
I've been searching around, but I'm unclear how to programmatically call Spring to execute each individual API request. I would ideally like to get back the ResponseEntity from each call instead of the actual JSON response.
(More information:
On the same app server as the general API, I need to translate the URL and JSON request body for each individual API into the arguments to the controller method. I also need to take the URL and have Spring determine which controller method to invoke itself.)
Any help would be greatly appreciated.
Thanks,
Matt
Answer depend on whether the individual URLs that you are planning to invoke is with in the same server (Accessible without using network call) or not
If it is with in the same app server, spawn multiple threads and invoke the individual methods and join the response together and send it back
If it is not within the same app server, there are many Async Restclients are there besides spring's own webclient/restTemplate etc
I am using jmeter to submit a few SOAP messages to the application engine. I need a monitor that can collect some of the application engine's performance statistics. But the only option to query the application statistics is to send a different SOAP message to the application.
How can I use a SOAP/XML-RPC request sampler as a monitor? I can't use HTTP request as a monitor since there's no corresponding HTTP service to retrieve monitor results.
Actually as per Creating WebService Test Plan it is recommended to use HTTP Request sampler to perform SOAP calls. HTTP Request Sampler has "Use as Monitor" checkbox
Don't forget to add HTTP Header Manager in order to send correct Content-Type and SOAPAction headers.
How could I modify OData JSON payload before sending to the server? I am Using DataServiceContext to interact with WebApi OData Service.
Look at the BuildingRequest event on DataServiceContext.
I think what you are look for is request pipeline, which can modify the payload before sending. Please refer:
https://blogs.msdn.microsoft.com/odatateam/2013/07/26/using-the-new-client-hooks-in-wcf-data-services-client/