You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Maurer Uwe <u....@enbw.com> on 2009/06/19 10:47:04 UTC

service address customization for https

hello,

i am developing a webservice service wich runs with CXF 2.1.3 within a
Tomcat 6 container. I am using a "code first" approach with annotated Java
code. So the WSDL is generated dynamically by the framework. 

The situation ist as follows: 

In production environment all traffic by the webservice clients is done via
https. The Tomcat with my service runs behind a web application firewall,
which terminates the SSL connection with the client. http connections are
not supported and are redirected to https. The web application firewall
passes the requests to my webservice via http.
The client ist written in FLEX and uses a dynamic approach by loading the
WSDL an creating his stubs at runtime.

The problm is:

When the client asks for the WSDL, the WSDL contains a http URL as service
soap:address. This seem logical to me as the reqeust for the WSDL is
forwareded via http from the web application gateway. The client uses this
address for making his requests and tries to access the webserice via http.
Unfortunately the client does not support redirects and so the requests
fail.

The question is:

Is there any way to "tell" CXF that it should use https in the soap:address
tag? 
Configuring it statically in a "contract first" manner is not an ideal
solution because in our test- and pre-production environments we can't use
https connections - this would mean to have specific static WSDL files for
every environment.

Uwe

Re: service address customization for https

Posted by Daniel Kulp <dk...@apache.org>.
 
With 2.1.3, I don't think so.   I think support for this was added in 2.1.4 or 
2.1.5.   A "publishedEndpointUrl" attribute was added to jaxws:endpoint and 
such to specify the URL that the endpoint publishes in the wsdl's and such.

Dan


On Fri June 19 2009 4:47:04 am Maurer Uwe wrote:
> hello,
>
> i am developing a webservice service wich runs with CXF 2.1.3 within a
> Tomcat 6 container. I am using a "code first" approach with annotated Java
> code. So the WSDL is generated dynamically by the framework.
>
> The situation ist as follows:
>
> In production environment all traffic by the webservice clients is done via
> https. The Tomcat with my service runs behind a web application firewall,
> which terminates the SSL connection with the client. http connections are
> not supported and are redirected to https. The web application firewall
> passes the requests to my webservice via http.
> The client ist written in FLEX and uses a dynamic approach by loading the
> WSDL an creating his stubs at runtime.
>
> The problm is:
>
> When the client asks for the WSDL, the WSDL contains a http URL as service
> soap:address. This seem logical to me as the reqeust for the WSDL is
> forwareded via http from the web application gateway. The client uses this
> address for making his requests and tries to access the webserice via http.
> Unfortunately the client does not support redirects and so the requests
> fail.
>
> The question is:
>
> Is there any way to "tell" CXF that it should use https in the soap:address
> tag?
> Configuring it statically in a "contract first" manner is not an ideal
> solution because in our test- and pre-production environments we can't use
> https connections - this would mean to have specific static WSDL files for
> every environment.
>
> Uwe

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog