I came across a curios bug where the WSDL uses HTTP Binding rather than SOAP Binding. This caused all sort of hell with the proxy wizard in JDeveloper, which I am working on, but I still ran into problems when I tried to run the client that was generated from the wsimport tool.
It turns out that the JAX-WS dynamic proxy client, the ones with the SEI, doesn't support HTTP/REST out of the box. In order to have this working you need to add both a binding feature and to set the endpoint address. So you code looks something like this:
Port port = service.getMyPort( new BindingTypeFeature(JAWWSProperties.REST_BINDING)); ((BindingProvider)port).getRequestContext( BindingProivider.ENDPOINT_ADDRESS_PROPERTY, "http://..../rest-like-endpoint"); port.doSomethingInteresting(...);
Not something you will come across every day; but worth knowing all the same.
1 comment:
Thanks Gerard for all the fantastic posts. I was searching for an blog/article on creating a WS client using WSDL and deploy it using jdev 11g R1. Can you please give me some pointer. Thanks so much in advance.
Post a Comment