Access the WSDL for a customURI - WSO2 ESB
Join the DZone community and get the full member experience.
Join For FreeOk, lets try to access the WSDL.
The WSDL of a custom service url can be accessed from the following workaround.
You can use "main" sequence to route ?wsdl requests to appropriate working WSDL urls.
With this configuration, you can fetch wsdl for proxy service via http://localhost:8280/CustomURL/Part1/Part2?wsdl
If you have multiple proxy services with custom uris, you have to add a <case> statement per proxy service with appropriate wsdl urls.
<proxy xmlns="http://ws.apache.org/ns/synapse" name="CustomerProxy" transports="https,http" statistics="disable" trace="disable" startOnLoad="true"> <target> <outSequence> <send /> </outSequence> <endpoint> <address uri="http://localhost:8280/services/Version" /> </endpoint> </target> <publishWSDL uri="http://localhost:8280/services/Version?wsdl" /> <parameter name="ServiceURI">/CustomURL/Part1/Part2</parameter> </proxy>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="main"> <in> <property name="REST_URL_POSTFIX" action="remove" scope="axis2" /> <switch xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd" source="get-property('To')"> <case regex="/CustomURL/Part1/Part2\?wsdl"> <send> <endpoint> <address uri="http://localhost:8280/services/CustomerProxy?wsdl" format="get" /> </endpoint> </send> </case> </switch> </in> <out> <send /> </out> </sequence>
Published at DZone with permission of Achala Chathuranga Aponso, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments