Hi, It is correct, If you use wsdlLocation property, than location will be ignored.
STSClient directly instantiates ClientImpl and calls his invoke() method. Therefore WrappedMessageContext is bypassed and BindingProvider.ENDPOINT_ADDRESS_PROPERTY is not mapped to Message.ENDPOINT_ADDRESS property in the message for STSClient (as normally happens by service proxy invocation). You can set Message.ENDPOINT_ADDRESS in request context directly, it should work: stsClient.getClient().getRequestContext().put(Message.ENDPOINT_ADDRESS, "custom address"); Regards, Andrei. > -----Original Message----- > From: David Mansfield [mailto:c...@dm.cobite.com] > Sent: Samstag, 4. Mai 2013 19:33 > To: Andrei Shakirin > Cc: users@cxf.apache.org > Subject: Re: set the endpoint address of a STSClient created from WSDL > > This method is only used when a WSDL is not used to created the client > afaict. > > Thanks, > David > > On 05/04/2013 11:13 AM, Andrei Shakirin wrote: > > Hi, > > > > Why you don't just use location property of STSClient? > > > > STS client endpoint will be initialized using location property in STSUtils: > > private static Endpoint createSTSEndpoint(Bus bus, > > String namespace, > > String transportId, > > String location, > > String soapVersion, > > Policy policy, > > QName epName, > > boolean sc) throws > > BusException, > EndpointException { > > ... > > EndpointInfo ei = new EndpointInfo(si, transportId); > > ei.setBinding(bi); > > ei.setName(epName == null ? iName : epName); > > ei.setAddress(location); > > si.addEndpoint(ei); > > if (policy != null) { > > ei.addExtensor(policy); > > } > > ... > > } > > > > Regards, > > Andrei. > > > >> -----Original Message----- > >> From: David Mansfield [mailto:c...@dm.cobite.com] > >> Sent: Freitag, 3. Mai 2013 19:22 > >> To: users@cxf.apache.org > >> Subject: set the endpoint address of a STSClient created from WSDL > >> > >> Hi All: > >> > >> I'm using an STSClient configured from spring XML. I have put the > >> BindingProvider.ENDPOINT_ADDRESS_PROPERTY into the > requestContext of > >> the STSClient, and confirmed it sets this on the ClientImpl (in the > >> debugger), but it seems this is not enough to change the actual URL > >> used in the transport. > >> > >> Here's the xml that configures it (unsuccessfully): > >> > >> <bean id="myStsClient" > >> class="org.apache.cxf.ws.security.trust.STSClient"> > >> <constructor-arg ref="myStsCxfBus" /> > >> ... > >> <property > >> name="requestContext[javax.xml.ws.service.endpoint.address]" > >> value="https://blah.blah.blah/blah" /> > >> </bean> > >> > >> I'm willing to do this programmatically. So given a ClientImpl, how > >> could one programmatically set the endpoint address? > >> > >> Thanks, > >> David