Hi Jason
On 18/10/13 14:36, Winnebeck, Jason wrote:
Hi Sergey,

Thanks for the response, I set that parameter and from all of the tests I'm 
able to perform now it is working, so I am very happy about this. The CXF-5153 
ticket doesn't explicitly give the name of the parameter so I put a comment on 
it along with an XML example.

The name of the parameter is a little odd, because I do want address updates. 
The pre-generated WSDL/WADL have fake addresses in them and I want them updated 
by CXF to the proper ones... but the parameter says disable updating the 
address... But that's OK because I'm very happy that the service is working in 
the end as this was the last obstacle to using CXF that I could not figure out 
until your help.

That parameter is a servlet level parameter which controls whether a relative jaxws or jaxrs endpoint address value is overridden with the absolute URI or not, this is done by default and causes issues whenever the endpoint is accessed via multiple paths. But I see what you mean, i did not realize you had a pre-generated WADL.
Anyway, good it all works now
Sergey
Jason

-----Original Message-----
From: Sergey Beryozkin [mailto:[email protected]]
Sent: Thursday, October 17, 2013 5:02 PM
To: [email protected]
Cc: Winnebeck, Jason
Subject: Re: Improper WADL endpoint generation

Hi

It is to do with CXF overwriting the endpoint address by default which can be 
disabled, but I hope it will be disabled by default in 3.0 at least:

https://issues.apache.org/jira/browse/CXF-5153

For now just add a "disable-address-updates" servlet parameter with a value  
"true" and it will fix it

Thanks, Sergey

On 17/10/13 21:26, Winnebeck, Jason wrote:
My JAX-RS+JAX-WS webservice is accessible via multiple URLs, and the WADL 
provided by CXF (from my pre-built version) contains as its endpoint whichever 
URL was used to access the server since first boot. UriInfo and the service 
listing URLs also act in the same way in that they remember whoever connects 
first. But the WSDL and link to WSDL from service page works perfectly. Is this 
a bug in CXF or did I misconfigure something? This is a big issue because even 
in real use, multiple URLs will be used.

The project uses CXF 2.7.7 and Jetty 9. The WADL, XSD, and WSDL are pre-built 
and provided to CXF, which modifies WADL and WSDL to point to proper URLs. 
Sometimes Jetty serves directly, in other cases there is an Apache reverse 
proxy, and in this case ProxyPreserveHost On is set so that HTTP Host header is 
appropriate, and I am using X-Forwarded-* headers as well as in Jetty I use the 
org.eclipse.jetty.server.ForwardedRequestCustomizer to listen to these headers. 
I figured between those two techniques, the issue would be resolved but it is 
not.

I can't figure out any way to work around this problem, either, because CXF can 
only generate absolute URL links in the WADL/WSDL.

Jason Winnebeck

----------------------------------------------------------------------
This email message and any attachments are for the sole use of the intended 
recipient(s). Any unauthorized review, use, disclosure or distribution is 
prohibited. If you are not the intended recipient, please contact the sender by 
reply email and destroy all copies of the original message and any attachments.



Reply via email to