I'm trying to disable the ?wsdl query string functionality while keeping all web service functionality intact due to security concerns. So, I'd like my webservices to continue to run, but NOT return the wsdl document when www.mycomp.com/context/services/MyService?wsdl is opened in a browser.

 

I've noted in the Axis Reference Guide where it states to disable the three default Query string handlers (?list, ?method, ?wsdl) we are to add a parameter like this:

<transport name="http">
  <parameter name="useDefaultQueryStrings" value="false" />
  <parameter name="qs.name" value="class.name" />
</transport>

 

The problem is my <transport> tags in my server.wsdd document look like this:

<transport name="http">

  <requestFlow>

   <handler type="URLMapper"/>

   <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>

  </requestFlow>

 </transport>

 <transport name="local">

  <responseFlow>

   <parameter name="useDefaultQueryStrings" value="false" />

   <handler type="java:org.apache.axis.transport.local.LocalResponder"/>

  </responseFlow>

 </transport>

 

If I put the <parameter name="useDefaultQueryStrings" value="false" /> entity within the <transport> tags, the Application server removed them when it boots.

 

We are using JRun 4.0 SP1a on a Windows 2000 server. I am NOT using the JRun provided Axis implementation, I am using Axis 1.0 RC1.

 

How can I disable the ?wsdl generation? Anyone?

 



 

Reply via email to