cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jarek Gawor (JIRA)" <j...@apache.org>
Subject [jira] Reopened: (CXF-414) Setting ENDPOINT_ADDRESS_PROPERTY property on client proxy has no effect
Date Wed, 14 Mar 2007 16:25:09 GMT

     [ 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.


Mime
View raw message