You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Doughty, Michael" <Mi...@bmc.com> on 2010/02/08 14:10:49 UTC

Inaccessible WSDL files after enabling both HTTP and HTTPS in Axis2/Tomcat

I have a problem that I am hoping someone could shed some light on.

I have enabled both HTTP and one-way HTTPS in my Tomcat 6 instance.   Likewise, I have added the correct configuration information to my axis2.xml in the war distribution of Axis2 1.5.1.  The HTTP port is 8080 and the HTTPS port is 8443.  They are running on a 1.5 JRE.

Doing so seems to work ok.  The Web services are all accessible at both the HTTP and HTTPS endpoints, so there seems to be no real issue there.  However, the WSDL and XSD files are inaccessible.  The same endpoints that allow SOAP requests no longer allow any of these "GET" requests to access WSDL and XSD files:  "?wsdl", "?wsdl=somefile.wsdl", "?xsd=somefile.xsd".  In all cases, I get the message "Internal server error".  This happens whether or not I use the HTTP or HTTPS endpoints to access them.  Note that I can  still access these files directly by simply adding "/somefile.wsdl" to the end of the endpoint, but this is undesirable in the case of the main WSDL of the service as the service endpoints are not replaced properly.

Note that this happens whether or not I explicitly declare the available transports in services.xml for the services in question.  I found a FAQ somewhere that said I needed to make sure that xalan-2.7.0.jar was copied into the lib directory of the war distribution, but that file is already there.

Is there something else I need to do here to make this work?  Or is this a known issue that cannot be worked around at this time?

RE: Inaccessible WSDL files after enabling both HTTP and HTTPS in Axis2/Tomcat

Posted by "Doughty, Michael" <Mi...@bmc.com>.
Thanks for the information.  I am glad to hear it is fixed in the main trunk, which I hope means it will make it into the next version of Axis2.

For the time being I've implemented my own logic to create these files at deployment time by modifying the original WSDL file to contain the policy reference, the policy statements, and the modified service endpoint.  They will just have to be accessible for now from the "http(s)://host:port/axis2/services/service/service.wsdl" format.

-----Original Message-----
From: Andreas Veithen [mailto:andreas.veithen@gmail.com] 
Sent: Monday, February 08, 2010 8:44 AM
To: axis-user@ws.apache.org
Subject: Re: Inaccessible WSDL files after enabling both HTTP and HTTPS in Axis2/Tomcat

Michael,

This looks like another example of the issue described in AXIS2-4465.
Not sure if it is possible to make this work properly in 1.5.1, but in
the current trunk the configuration mechanism to enable HTTP and HTTPS
in a servlet environment is much more transparent (and known to work
properly).

Andreas

[1] http://people.apache.org/~veithen/axis2/1_6/servlet-transport.html

On Mon, Feb 8, 2010 at 14:10, Doughty, Michael <Mi...@bmc.com> wrote:
> I have a problem that I am hoping someone could shed some light on.
>
>
>
> I have enabled both HTTP and one-way HTTPS in my Tomcat 6 instance.
> Likewise, I have added the correct configuration information to my axis2.xml
> in the war distribution of Axis2 1.5.1.  The HTTP port is 8080 and the HTTPS
> port is 8443.  They are running on a 1.5 JRE.
>
>
>
> Doing so seems to work ok.  The Web services are all accessible at both the
> HTTP and HTTPS endpoints, so there seems to be no real issue there.
> However, the WSDL and XSD files are inaccessible.  The same endpoints that
> allow SOAP requests no longer allow any of these "GET" requests to access
> WSDL and XSD files:  "?wsdl", "?wsdl=somefile.wsdl", "?xsd=somefile.xsd".
> In all cases, I get the message "Internal server error".  This happens
> whether or not I use the HTTP or HTTPS endpoints to access them.  Note that
> I can  still access these files directly by simply adding "/somefile.wsdl"
> to the end of the endpoint, but this is undesirable in the case of the main
> WSDL of the service as the service endpoints are not replaced properly.
>
>
>
> Note that this happens whether or not I explicitly declare the available
> transports in services.xml for the services in question.  I found a FAQ
> somewhere that said I needed to make sure that xalan-2.7.0.jar was copied
> into the lib directory of the war distribution, but that file is already
> there.
>
>
>
> Is there something else I need to do here to make this work?  Or is this a
> known issue that cannot be worked around at this time?


Re: Inaccessible WSDL files after enabling both HTTP and HTTPS in Axis2/Tomcat

Posted by Andreas Veithen <an...@gmail.com>.
Michael,

This looks like another example of the issue described in AXIS2-4465.
Not sure if it is possible to make this work properly in 1.5.1, but in
the current trunk the configuration mechanism to enable HTTP and HTTPS
in a servlet environment is much more transparent (and known to work
properly).

Andreas

[1] http://people.apache.org/~veithen/axis2/1_6/servlet-transport.html

On Mon, Feb 8, 2010 at 14:10, Doughty, Michael <Mi...@bmc.com> wrote:
> I have a problem that I am hoping someone could shed some light on.
>
>
>
> I have enabled both HTTP and one-way HTTPS in my Tomcat 6 instance.
> Likewise, I have added the correct configuration information to my axis2.xml
> in the war distribution of Axis2 1.5.1.  The HTTP port is 8080 and the HTTPS
> port is 8443.  They are running on a 1.5 JRE.
>
>
>
> Doing so seems to work ok.  The Web services are all accessible at both the
> HTTP and HTTPS endpoints, so there seems to be no real issue there.
> However, the WSDL and XSD files are inaccessible.  The same endpoints that
> allow SOAP requests no longer allow any of these “GET” requests to access
> WSDL and XSD files:  “?wsdl”, “?wsdl=somefile.wsdl”, “?xsd=somefile.xsd”.
> In all cases, I get the message “Internal server error”.  This happens
> whether or not I use the HTTP or HTTPS endpoints to access them.  Note that
> I can  still access these files directly by simply adding “/somefile.wsdl”
> to the end of the endpoint, but this is undesirable in the case of the main
> WSDL of the service as the service endpoints are not replaced properly.
>
>
>
> Note that this happens whether or not I explicitly declare the available
> transports in services.xml for the services in question.  I found a FAQ
> somewhere that said I needed to make sure that xalan-2.7.0.jar was copied
> into the lib directory of the war distribution, but that file is already
> there.
>
>
>
> Is there something else I need to do here to make this work?  Or is this a
> known issue that cannot be worked around at this time?