org.apache.axis.transport.http

Class QSWSDLHandler

public class QSWSDLHandler extends AbstractQueryStringHandler

The QSWSDLHandler class is a handler which provides an AXIS service's WSDL document when the query string "wsdl" (ignoring case) is encountered in an AXIS servlet invocation.

Author: Curtiss Howard (code mostly from AxisServlet class) Doug Davis (dug@us.ibm.com) Steve Loughran Ian P. Springer, Sal Campana

Method Summary
protected StringgetEndpointURL(MessageContext msgContext)
Returns the endpoint URL that should be used in the returned WSDL.
voidinvoke(MessageContext msgContext)
Performs the action associated with this particular query string handler.
voidreportNoWSDL(HttpServletResponse res, PrintWriter writer, String moreDetailCode, AxisFault axisFault)
Report that we have no WSDL.
voidreportWSDL(Document doc, PrintWriter writer)
Report WSDL.
protected voidupdateSoapAddressLocationURLs(Document wsdlDoc, MessageContext msgContext)
Updates the soap:address locations for all ports in the WSDL using the URL from the request as the base portion for the updated locations, ensuring the WSDL returned to the client contains the correct location URL.

Method Detail

getEndpointURL

protected String getEndpointURL(MessageContext msgContext)
Returns the endpoint URL that should be used in the returned WSDL.

Parameters: msgContext the current Axis JAX-RPC message context

Returns: the endpoint URL that should be used in the returned WSDL

Throws: AxisFault if we fail to obtain the ServiceDesc for this service

invoke

public void invoke(MessageContext msgContext)
Performs the action associated with this particular query string handler.

Parameters: msgContext a MessageContext object containing message context information for this query string handler.

Throws: AxisFault if an error occurs

reportNoWSDL

public void reportNoWSDL(HttpServletResponse res, PrintWriter writer, String moreDetailCode, AxisFault axisFault)
Report that we have no WSDL.

Parameters: res writer moreDetailCode optional name of a message to provide more detail axisFault optional fault string, for extra info at debug time only

reportWSDL

public void reportWSDL(Document doc, PrintWriter writer)
Report WSDL.

Parameters: doc writer

updateSoapAddressLocationURLs

protected void updateSoapAddressLocationURLs(Document wsdlDoc, MessageContext msgContext)
Updates the soap:address locations for all ports in the WSDL using the URL from the request as the base portion for the updated locations, ensuring the WSDL returned to the client contains the correct location URL.

Parameters: wsdlDoc the WSDL as a DOM document msgContext the current Axis JAX-RPC message context

Throws: AxisFault if we fail to obtain the list of deployed service names from the server config

Copyright B) 2005 Apache Web Services Project. All Rights Reserved.