Request Structure in WSO2 DSS - wso2

I m working on WSO2 DSS 3.0.0. I m sending request structure via SOAP UI to DSS. I m not getting the expected output.
I want to check what is the request structure query that is hitting DSS.
In short I want to see what Query DSS is forming at runtime.
Any help would be appreciated.
Thanks and Regards.

The request format depends on the data service opertions you have created. Each of these opertion invokes an query. And these queries have input parameters and output parameters. The opertion name + input parameters will determine the format of the request message and the output parameters determine the result format of the message.
You can use the WSDL of the relevant data service for creating the SOAP UI project. Then the request message for each Data Service opertion will be there. Or you can simple try-it the dataservice using available Try-it[1] option for the service. There also you can see the request format for each operation.
[1]http://docs.wso2.org/wiki/display/DSS300/Testing+WSDLs

Related

Parameters in POST call to Data Service in Enterprise Integrator

I'm migrating some data services from DSS to EI but I have problems with the parameters in POST calls. I published a Data Service with a query exposed as a REST resource using the methods POST and GET, just for testing. Then I try to call it using cURL.
The GET is easy because I only need to append the parameter to the URL, but for the POST I try passing it using -d and a JSON or XML structure but always the server responds with error 400 (bad request).
If the resource have no parameters both calls works fine.
Can anyone tell me the right way to pass the parameters to the RESTFUL resource when I use the POST method?
If you publish this service as wsdl service do you have same problems with methods, thats analogies to your post methods? I was catch similar problem when don't set request_box parameter of my service to on. It was look as I send request without parameters, but they was send correcltly in fact.

Error message in wso2 dss

I'm using wso2 esb4.7.0 and wso2 dss 3.1.0.I have created a dataservice in dss and tested using try this service tool.It's working fine but when same dataservice is being fetch in esb using it's adress endpoint it showing following error -
ERROR {org.wso2.carbon.statistics.internal.ResponseTimeCalculator} - wso2statistics.request.received.time is null in the IN MessageContext
why so?is their any problem with esb?or it's internal problem?please let me know..
You have to set message headers using Header mediator. At least you have to set "To" and "Action" headers before you send payload to the data service. To get the write value of To and Action headers you can use Soap Tracer tool in monitor tab of WSO2-DSS management console. Run the tool, try the data service and refresh the tool to see the results of your trying. In the left side of the page of Soap Tracer tool you will see the To and Action, copy values from there and put them in header mediators you are using.

WSO2 - ESB server 4.7 Hangs- when an invalid json format is given as input for rest API

A REST API has been defined ESB. What we have observed is if the json format (invalid json),
the request is hanging and the server doesn't give any response. Ideally it should throw some
error at least and it should not hang.
I had the same situation in WSO2 4.8.1. Try to change JsonStreamBuilder in your axis2.xml to JsonBuilder from (org.apache.synapse.commons.json) or use your own implementation.

How to split the message and receive element into WSO2 ESB 4.7.0

Hi i am receiving the file from remote server which in .csv format into wso2 ESB proxy service and i am getting the response as
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><text xmlns="http://ws.apache.org/commons/ns/payload">firstname,lastname
a,John
b,Scott
c,Tiger
d,Manager
</text></soapenv:Body></soapenv:Envelope>
but how can i split this message element by element and receive each element into ESB Proxy service.
Guide me how can i receive the split message into ESB and store into database.
I guess, you can use smooks mediator and convert CSV data to XML. Then data can be retrieved using XPath. There is a Stackoverflow question on this, Please go through it. Also you can use db report mediator to persist data in to preferred database. You find doc from here. One you convert data to XML, then you can use XPath to define the data that must be persisted in to database. However, you can even write a custom medaitor for ESB, if you want to do some more things than that. Here it explains how to write a custom mediator

WSO2-ESB: SOAP Mediator from wsdl

I have seen some of the SOAP- Example- Mediators. I have not found a transformation based on the endpoint-WSDL.
I want to send some nested named array in json or POX and that data should go into a complete namespaced headered (username, password) SOAP-Request based on the names.
All the examples I have found had either a very simple wsdl or the namespaces were static in the XSL-Transformation.
It should be possible to do that, as I see in for example php-NuSOAP. You feed it with a wsdl-endpoint, the operation you want to execute and the parameter-array, and it calls the Webservice.
I am looking for a solution which is not too much hardcoded for every single service, so the proxy still works when the wsdl changes and Server Clients get changed.
As far as I understand the payload factory mediator in (https://stackoverflow.com/a/12969814/2277620) you would have to hardcode the soap-format in the mediator.
If WSO2 is the wrong tool for that I'd like to have a hint which tool could help.
Thanks in advance!
Marco.
For my understanding, you want to have a proxy, but it's backend service/wsdl may vary..
What , you can do is, you can save the wsdl (dynamic wsdl)in registry and point that in your proxy. whenever you edit the wsdl, proxy will automatically adopt to that..But the request, which you send to your backend should follow the wsdl definitions..It is totally client side responsibility..