[
https://issues.apache.org/jira/browse/CXF-414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jarek Gawor reopened CXF-414:
-----------------------------
I ran into this problem again. This time I know that the problem is only when
the soap:addresss location value in the wsdl is not a valid URL. For example,
in the wsdl file I had:
<soap:address location="FOO"/>
And setting the BindingProvider.ENDPOINT_ADDRESS_PROPERTY property has no
effect. However, when the location is changed to some valid URL (but
non-existent) the BindingProvider.ENDPOINT_ADDRESS_PROPERTY overwrite works as
expected.
> Setting ENDPOINT_ADDRESS_PROPERTY property on client proxy has no effect
> ------------------------------------------------------------------------
>
> Key: CXF-414
> URL: https://issues.apache.org/jira/browse/CXF-414
> Project: CXF
> Issue Type: Bug
> Components: JAX-WS Runtime
> Reporter: Jarek Gawor
>
> I'm doing the following:
> Greeter g = foo.getPort(Greeter.class);
> (javax.xml.ws.BindingProvider)g).getRequestContext().put(javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
> "http://localhost:8080/jaxws-war-2.0-SNAPSHOT/hello");
> g.greetMe("foo");
> when the ENDPOINT_ADDRESS_PROPERTY is set or not I get the following
> exception:
> org.apache.cxf.interceptor.Fault
> at org.apache.cxf.endpoint.ClientImpl.getConduit(ClientImpl.java:299)
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:138)
> at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
> at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:12
> 4)
> at $Proxy54.greetMe(Unknown Source)
> at
> org.apache.hello_world_soap_http.GreeterImpl.greetMe(GreeterImpl.java
> ....
> Caused by: java.net.MalformedURLException
> at java.net.URL.<init>(URL.java:601)
> at java.net.URL.<init>(URL.java:464)
> at java.net.URL.<init>(URL.java:413)
> at
> org.apache.cxf.transport.http.HTTPConduit.<init>(HTTPConduit.java:138
> )
> at
> org.apache.cxf.transport.http.HTTPConduit.<init>(HTTPConduit.java:111
> )
> at
> org.apache.cxf.transport.http.HTTPConduit.<init>(HTTPConduit.java:97)
> at
> org.apache.cxf.transport.http.HTTPTransportFactory.getConduit(HTTPTra
> nsportFactory.java:115)
> at
> org.apache.cxf.transport.http.HTTPTransportFactory.getConduit(HTTPTra
> nsportFactory.java:111)
> at
> org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTrans
> portFactory.java:152)
> at org.apache.cxf.endpoint.ClientImpl.getConduit(ClientImpl.java:295)
> ... 41 more
> The MalformedURLException s raised in HTTPConduit because
> endpointInfo.getAddress() returns null or empty.
> To fix this I had to add the following to JaxWsClientProxy:
> ...
> ContextPropertiesMapping.mapRequestfromJaxws2Cxf(reqContext);
> String address =
> (String)reqContext.get(org.apache.cxf.message.Message.ENDPOINT_ADDRESS);
> if (address != null) {
> endpoint.getEndpointInfo().setAddress(address);
> }
>
> ..
> context.put(Client.REQUEST_CONTEXT, reqContext);
> Also, I think the problem is when the Service instance is created from full
> WSDL the EndpointInfo is not completely filled out with the service address
> information as specified in WSDL. But that's a separate issue from above.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.