Howto: Configure Spring-WS to publish WSDL files with a '?WSDL' style URL?
- by Darren
I am trying to configure web service proxying using Mule ESB.
I am attempting to do this using Mule's WSProxyService, but after stepping through the corresponding code (with the debugger), it is clear that this class replaces endpoint addresses.
The problem is Spring-WS WSDL addresses are of the style http://xxxx/xxxx.wsdl, but WSProxyService expects http://xxxx/xxxx?wsdl or http://xxxx/xxxx&wsdl. It replaces the remote endpoint addresses with the local WSDL address; it cuts the remote WSDL address at the question mark i.e. '?WSDL' is intended to be chopped off, so to create the search term. But because of Spring-WS, this does not work.
To break it down:
WSProxyService ends up trying to use
http://xxxx/xxxx.wsdl
to replace
http://xxxx/xxxx
with
http://yyyy/yyyy
which fails... leading to actual web service call going direct and not through the proxy.
Has anyone ever noticed/solved this problem??
Cheers, Darren