Just commited the revert to <soap:address location="FOO"/> as requested
... got around the premature MalFormedURLException by deferring the URL
construction in HTTPConduit until its actually required (as opposed to
upfront in the ctor as was previously the case). 

/Eoghan

> -----Original Message-----
> From: Jarek Gawor [mailto:[EMAIL PROTECTED] 
> Sent: 17 April 2007 15:23
> To: [email protected]
> Subject: Re: Per-request or permanent override via 
> BindingProvider.ENDPOINT_ADDRESS_PROPERTY [was RE: svn 
> commit: r529292]
> 
> Per-request. Maybe the solution for the problem wasn't quite 
> right but either way the test case should not change.
> 
> Jarek
> 
> On 4/16/07, Glynn, Eoghan <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> > > -----Original Message-----
> > > From: Jarek Gawor [mailto:[EMAIL PROTECTED]
> > > Sent: 16 April 2007 17:08
> > > To: [email protected]
> > > Subject: Re: svn commit: r529292 - in /incubator/cxf/trunk:
> > > api/src/main/java/org/apache/cxf/endpoint/
> > > api/src/main/java/org/apache/cxf/message/ rt/bindings/http/ 
> > > rt/bindings/object/src/test/java/org/apache/cxf/binding/object
> > > / rt/core/src/main/java/org/apache
> > >
> > > Please do not change the soap:address location in this case.
> > > Yes, the location is not a valid URL but it was testing 
> an important 
> > > case to see if the overwrite of the endpoint address on the proxy 
> > > was working properly. See
> > > https://issues.apache.org/jira/browse/CXF-414
> >
> >
> > Hi Jarek,
> >
> > Looking at your JIRA entry ...
> >
> > "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);
> >         }"
> >
> > Was this code intended as a permanent or per-request 
> over-ride of the 
> > EndpointInfo address?
> >
> > Now what I wanted to avoid is a *permanent* over-ride of the 
> > EndpointInfo address. Instead, I think a setting of 
> > BindingProvider.ENDPOINT_ADDRESS_PROPERTY in the request context 
> > should only extend over a *single* request. So I removed the code 
> > similar to the above from ClientImpl.invoke().
> >
> > An override/restore of the EndpointInfo address for a 
> single request 
> > would also be problematic, as it would be introduce a race 
> condition 
> > for concurrent requests (which would share the same 
> EndpointInfo instance).
> >
> > Now I need to revisit that test anyway, but I think a 
> better solution 
> > may be to avoid the upfront creation of the URL in the HTTPConduit 
> > ctor, in which case the test could probably revert to the 
> > <soap:address location="FOO"/>.
> >
> > But in general, would you agree about a single MEP being 
> the correct 
> > extent of a BindingProvider.ENDPOINT_ADDRESS_PROPERTY 
> setting in the 
> > request context?
> >
> > Cheers,
> > Eoghan
> >
> >
> > > Jarek
> > >
> > > ==============================================================
> > > ================
> > > > ---
> > > >
> > > incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_wo
> > > rld.wsdl
> > > > (original)
> > > > +++
> > > incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world.
> > > > +++ wsdl Mon Apr 16 08:42:53 2007
> > > > @@ -392,7 +392,7 @@
> > > >      </wsdl:service>
> > > >      <wsdl:service name="SOAPServiceBogusAddressTest">
> > > >          <wsdl:port name="SoapPort"
> > > binding="tns:Greeter_SOAPBinding">
> > > > -            <soap:address location="FOO"/>
> > > > +            <soap:address
> > > > + location="http://nowhere.nada.nil:45678/null/never"/>
> > > >          </wsdl:port>
> > > >      </wsdl:service>
> > > >      <wsdl:service name="SOAPServiceMultiPortTypeTest">
> > > >
> > > >
> > > >
> > >
> >
> 

Reply via email to