Search code examples
wso2wso2-esbwso2-enterprise-integrator

WSO2 Enterprise Integrator (wso2ei-6.6.0) - Query Parameters Not Getting Passed Properly


I'm using wso2ei-6.6.0 and I have created a proxy service as below.

<?xml version="1.0" encoding="UTF-8"?><proxy xmlns="http://ws.apache.org/ns/synapse" name="testService" startOnLoad="true" statistics="disable" trace="disable" transports="http,https">
    <target>
        <outSequence>
            <send/>
        </outSequence>
        <endpoint>
            <address uri="https://example.com/scan"/>
        </endpoint>
    </target>
    <description/>
</proxy>

I'm trying to invoke this service passing query parameters but I'm receiving 404 which I assume is due to the query parameters not getting passed properly to the backend.

http://eihost/services/testService/getmethod?param1=xxxx&param2=xxxx&param3=xxxx&param4=xxxx

A direction to resolve this issue is highly appreciated. Thanks in advance.


Solution

  • Proxy services are for SOAP services which don't have the notion of accepting query/path params. Instead, create a Rest API.

    <?xml version="1.0" encoding="UTF-8"?>
    <api context="/testService/getmethod" name="SampleRest" xmlns="http://ws.apache.org/ns/synapse">
        <resource methods="GET">
            <inSequence>
                .........
            </inSequence>
            <outSequence>
                <send/>
            </outSequence>
            <faultSequence/>
        </resource>
    </api>