Though they both serve a similar purpose at core (proxy HTTP requests) these two patterns are very different:
pattern:web-service-proxy
is focused on proxying SOAP-style HTTP requests and as such supports auto-rewriting remote WSDLs so their service address uses the proxy address. It is mainly designed to support GET for WSDL requests (detected if the inbound path ends with ?wsdl) and POST for SOAP requests.http-proxy
is focused on generic HTTP requests proxying. It doesn't recognize WSDL requests but it is able to forward inbound headers and paths to the remote address. For example if the proxy listens on/proxy
calling it with/proxy/users/1
will append/users/1
to the configured outbound path.
Now why does your second http-proxy
fails? No idea: you need to provide more information about the issue you are experiencing with it.