org.apache.axis.wsdl.fromJava

Class Emitter

public class Emitter extends Object

This class emits WSDL from Java classes. It is used by the ?WSDL Axis browser function and Java2WSDL commandline utility. See Java2WSDL and Java2WSDLFactory for more information.

Author: Glen Daniels (gdaniels@apache.org) Rich Scheuerle (scheu@us.ibm.com)

Field Summary
protected static Loglog
Field log
static intMODE_ALL
Field MODE_ALL
static intMODE_DOCUMENT
DEPRECATED - Indicates style=document use=literal
static intMODE_DOC_WRAPPED
DEPRECATED - Indicates style=wrapped use=literal
static intMODE_IMPLEMENTATION
Field MODE_IMPLEMENTATION
static intMODE_INTERFACE
Field MODE_INTERFACE
static intMODE_RPC
DEPRECATED - Indicates style=rpc use=encoded
protected static TypeMappingstandardTypes
Field standardTypes
protected Typestypes
Field types
Constructor Summary
Emitter()
Construct Emitter.
Method Summary
protected DefinitioncreateDefinition()
Build a Definition from the input wsdl file or create a new Definition
protected ElementcreateDocumentationElement(String documentation)
Create a documentation element
protected QNamecreateMessageName(Definition def, String methodName)
Method createMessageName
protected TypescreateTypes(Definition def)
Build a Types object and load the input wsdl types
voidemit(String filename1, String filename2)
Generates WSDL documents for a given Class
voidemit(String filename)
Generates a complete WSDL document for a given Class
Documentemit(int mode)
Generates a WSDL document for a given Class.
voidemit(String filename, int mode)
Generates a WSDL document for a given Class.
StringemitToString(int mode)
Generates a String containing the WSDL for a given Class.
VectorgetAllowedMethods()
Returns a vector of methods to export
StringgetBindingName()
Returns the String representation of the binding name
ClassgetCls()
Returns the Class to export
TypeMappinggetDefaultTypeMapping()
Returns the defaultTypeMapping used by the service
StringgetDescription()
Returns the service description
VectorgetDisallowedMethods()
Return list of methods that should not be exported
Class[]getExtraClasses()
Return the list of extra classes that the emitter will produce WSDL for.
ClassgetImplCls()
Returns the implementation Class if set
StringgetImplNamespace()
Returns the implementation namespace
DefinitiongetImplWSDL()
Get implementation WSDL Definition for the current configuration parameters
StringgetImportUrl()
Returns the String representation of the interface import location URL
StringgetInputSchema()
StringgetInputWSDL()
Get the name of the input WSDL
StringgetIntfNamespace()
Returns the interface namespace
DefinitiongetIntfWSDL()
Get a interface WSDL Definition for the current configuration parameters
StringgetLocationUrl()
Returns the String representation of the service endpoint URL
intgetMode()
getMode (gets the mode based on the style setting)
MapgetNamespaceMap()
get the packagename to namespace map
StringgetPortTypeName()
Returns the String representation of the portType name
HashMapgetQName2ClassMap()
Return the type qname to java type mapping
protected QNamegetRequestQName(OperationDesc oper)
Method getRequestQName
protected QNamegetResponseQName(OperationDesc oper)
Method getResponseQName
ServiceDescgetServiceDesc()
Method getServiceDesc
StringgetServiceElementName()
Returns the String representation of the service element name
StringgetServicePortName()
Returns the String representation of the service port name
StringgetSoapAction()
Returns the soapAction option value
ArrayListgetStopClasses()
Return the list of classes which stop inhertance searches
StylegetStyle()
getStyle
StringgetTargetService()
Returns the target service name
TypeMappinggetTypeMapping()
Returns the TypeMapping used by the service
UsegetUse()
getUse
booleangetUseInheritedMethods()
Indicates if the emitter will search classes for inherited methods
StringgetVersionMessage()
Return the version message
DefinitiongetWSDL()
Get a Full WSDL Definition for the current configuration parameters
protected voidinit(int mode)
Invoked prior to building a definition to ensure parms and data are set up.
protected voidprettyDocumentToFile(Document doc, String filename)
Write a prettified document to a file.
voidsetAllowedMethods(String text)
Add a list of methods to export
voidsetAllowedMethods(Vector allowedMethods)
Add a Vector of methods to export
voidsetBindingName(String bindingName)
Set the String representation of the binding name
voidsetCls(Class cls)
Sets the Class to export
voidsetCls(String className)
Sets the Class to export
voidsetClsSmart(Class cls, String location)
Sets the Class to export.
voidsetDefaultTypeMapping(TypeMapping tm)
Sets the defaultTypeMapping used by the service
voidsetDescription(String description)
Set the service description
voidsetDisallowedMethods(Vector disallowedMethods)
Add a list of methods NOT to export
voidsetDisallowedMethods(String text)
Add a list of methods NOT to export
voidsetEmitAllTypes(boolean emitAllTypes)
voidsetExtraClasses(Class[] extraClasses)
Provide a list of classes which the emitter will produce WSDL type definitions for.
voidsetExtraClasses(String text)
Provide a comma or space seperated list of classes which the emitter will produce WSDL type definitions for.
voidsetImplCls(Class implCls)
Sets the implementation Class
voidsetImplCls(String className)
Sets the implementation Class
voidsetImplNamespace(String ns)
Set the implementation namespace
voidsetImportUrl(String importUrl)
Set the String representation of the interface location URL for importing
voidsetInputSchema(String inputSchema)
Set the name of the input schema
voidsetInputWSDL(String inputWSDL)
Set the name of the input WSDL
voidsetIntfNamespace(String ns)
Set the interface namespace
voidsetLocationUrl(String locationUrl)
Set the String representation of the service endpoint URL
voidsetMode(int mode)
setMode (sets style and use)
voidsetNamespaceMap(Map map)
Set the packagename to namespace map with the given map
voidsetPortTypeName(String portTypeName)
Set the String representation of the portType name
voidsetServiceDesc(ServiceDesc serviceDesc)
Method setServiceDesc
voidsetServiceElementName(String serviceElementName)
Set the String representation of the service element name
voidsetServicePortName(String servicePortName)
Set the String representation of the service port name
voidsetSoapAction(String value)
Sets the soapAction option value
voidsetStopClasses(ArrayList stopClasses)
Adds a list of classes (fully qualified) that will stop the traversal of the inheritance tree if encounter in method or complex type generation
voidsetStopClasses(String text)
Add a list of classes (fully qualified) that will stop the traversal of the inheritance tree if encounter in method or complex type generation
voidsetStyle(String value)
setStyle
voidsetStyle(Style value)
setStyle
voidsetTargetService(String targetService)
Set the target service name
voidsetTypeMapping(TypeMapping tm)
Sets the TypeMapping used by the service
voidsetTypeMappingRegistry(TypeMappingRegistry tmr)
Set the TypeMappingRegistry for this Emitter.
voidsetUse(String value)
setUse
voidsetUse(Use value)
setUse
voidsetUseInheritedMethods(boolean useInheritedMethods)
Turn on or off inherited method WSDL generation.
voidsetVersionMessage(String versionMessage)
Set the version message that appears at the top of the WSDL If not set, we use the default version message.
protected BindingwriteBinding(Definition def, boolean add)
Create the binding.
protected BindingOperationwriteBindingOperation(Definition def, Binding binding, Operation oper, OperationDesc desc)
Create a Binding Operation
protected voidwriteDefinitions(Definition def, String tns)
Create the definition header information.
protected MessagewriteFaultMessage(Definition def, FaultDesc exception)
Create a Fault Message
protected voidwriteImport(Definition def, String tns, String loc)
Create and add an import
protected voidwriteMessages(Definition def, Operation oper, OperationDesc desc, BindingOperation bindingOper)
Create a Message
protected BindingOperationwriteOperation(Definition def, Binding binding, OperationDesc desc)
Create a Operation
StringwritePartToMessage(Definition def, Message msg, boolean request, ParameterDesc param)
Create a Part
protected voidwritePortType(Definition def, Binding binding)
Create a PortType
protected MessagewriteRequestMessage(Definition def, OperationDesc oper, BindingOperation bindop)
Create a Request Message
protected MessagewriteResponseMessage(Definition def, OperationDesc desc, BindingOperation bindop)
Create a Response Message
protected voidwriteService(Definition def, Binding binding)
Create the service.
protected ExtensibilityElementwriteSOAPBody(QName operQName)
Method writeSOAPBody
protected SOAPFaultwriteSOAPFault(FaultDesc faultDesc)
Method writeSOAPFault
protected SOAPHeaderwriteSOAPHeader(ParameterDesc p, QName messageQName, String partName)
Create a SOAPHeader element
StringwriteWrapperPart(Definition def, Message msg, OperationDesc oper, boolean request)
Write out the schema definition for a WRAPPED operation request or response.

Field Detail

log

protected static Log log
Field log

MODE_ALL

public static final int MODE_ALL
Field MODE_ALL

MODE_DOCUMENT

public static final int MODE_DOCUMENT
DEPRECATED - Indicates style=document use=literal

MODE_DOC_WRAPPED

public static final int MODE_DOC_WRAPPED
DEPRECATED - Indicates style=wrapped use=literal

MODE_IMPLEMENTATION

public static final int MODE_IMPLEMENTATION
Field MODE_IMPLEMENTATION

MODE_INTERFACE

public static final int MODE_INTERFACE
Field MODE_INTERFACE

MODE_RPC

public static final int MODE_RPC
DEPRECATED - Indicates style=rpc use=encoded

standardTypes

protected static TypeMapping standardTypes
Field standardTypes

types

protected Types types
Field types

Constructor Detail

Emitter

public Emitter()
Construct Emitter. Set the contextual information using set* methods Invoke emit to emit the code

Method Detail

createDefinition

protected Definition createDefinition()
Build a Definition from the input wsdl file or create a new Definition

Returns: WSDL Definition

Throws: WSDLException SAXException IOException ParserConfigurationException

createDocumentationElement

protected Element createDocumentationElement(String documentation)
Create a documentation element

Parameters: documentation

Returns:

createMessageName

protected QName createMessageName(Definition def, String methodName)
Method createMessageName

Parameters: def methodName

Returns:

createTypes

protected Types createTypes(Definition def)
Build a Types object and load the input wsdl types

Parameters: def Corresponding wsdl Definition

Returns: Types object

Throws: IOException WSDLException SAXException ParserConfigurationException

emit

public void emit(String filename1, String filename2)
Generates WSDL documents for a given Class

Parameters: filename1 interface WSDL filename2 implementation WSDL

Throws: IOException WSDLException SAXException ParserConfigurationException

emit

public void emit(String filename)
Generates a complete WSDL document for a given Class

Parameters: filename WSDL

Throws: IOException WSDLException SAXException ParserConfigurationException

emit

public Document emit(int mode)
Generates a WSDL document for a given Class. The WSDL generated is controlled by the mode parameter mode 0: All mode 1: Interface mode 2: Implementation

Parameters: mode generation mode - all, interface, implementation

Returns: Document

Throws: IOException WSDLException SAXException ParserConfigurationException

emit

public void emit(String filename, int mode)
Generates a WSDL document for a given Class. The WSDL generated is controlled by the mode parameter mode 0: All mode 1: Interface mode 2: Implementation

Parameters: filename WSDL mode generation mode - all, interface, implementation

Throws: IOException WSDLException SAXException ParserConfigurationException

emitToString

public String emitToString(int mode)
Generates a String containing the WSDL for a given Class. The WSDL generated is controlled by the mode parameter mode 0: All mode 1: Interface mode 2: Implementation

Parameters: mode generation mode - all, interface, implementation

Returns: String

Throws: IOException WSDLException SAXException ParserConfigurationException

getAllowedMethods

public Vector getAllowedMethods()
Returns a vector of methods to export

Returns: a space separated list of methods to export

getBindingName

public String getBindingName()
Returns the String representation of the binding name

Returns: String representation of the binding name

getCls

public Class getCls()
Returns the Class to export

Returns: the Class to export

getDefaultTypeMapping

public TypeMapping getDefaultTypeMapping()

Deprecated: Use getTypeMappingRegistry instead

Returns the defaultTypeMapping used by the service

Returns: the defaultTypeMapping used by the service

getDescription

public String getDescription()
Returns the service description

Returns: service description String

getDisallowedMethods

public Vector getDisallowedMethods()
Return list of methods that should not be exported

Returns:

getExtraClasses

public Class[] getExtraClasses()
Return the list of extra classes that the emitter will produce WSDL for.

Returns:

getImplCls

public Class getImplCls()
Returns the implementation Class if set

Returns: the implementation Class or null

getImplNamespace

public String getImplNamespace()
Returns the implementation namespace

Returns: implementation target namespace

getImplWSDL

public Definition getImplWSDL()
Get implementation WSDL Definition for the current configuration parameters

Returns: WSDL Definition

Throws: IOException WSDLException SAXException ParserConfigurationException

getImportUrl

public String getImportUrl()
Returns the String representation of the interface import location URL

Returns: String representation of the interface import location URL

getInputSchema

public String getInputSchema()

Returns: the name of the input schema, or null

getInputWSDL

public String getInputWSDL()
Get the name of the input WSDL

Returns: name of the input wsdl or null

getIntfNamespace

public String getIntfNamespace()
Returns the interface namespace

Returns: interface target namespace

getIntfWSDL

public Definition getIntfWSDL()
Get a interface WSDL Definition for the current configuration parameters

Returns: WSDL Definition

Throws: IOException WSDLException SAXException ParserConfigurationException

getLocationUrl

public String getLocationUrl()
Returns the String representation of the service endpoint URL

Returns: String representation of the service endpoint URL

getMode

public int getMode()

Deprecated: (use getStyle and getUse)

getMode (gets the mode based on the style setting)

Returns: returns the mode (-1 if invalid)

getNamespaceMap

public Map getNamespaceMap()
get the packagename to namespace map

Returns: Map

getPortTypeName

public String getPortTypeName()
Returns the String representation of the portType name

Returns: String representation of the portType name

getQName2ClassMap

public HashMap getQName2ClassMap()
Return the type qname to java type mapping

Returns: mapping of type qname to its corresponding java type

getRequestQName

protected QName getRequestQName(OperationDesc oper)
Method getRequestQName

Parameters: oper

Returns:

getResponseQName

protected QName getResponseQName(OperationDesc oper)
Method getResponseQName

Parameters: oper

Returns:

getServiceDesc

public ServiceDesc getServiceDesc()
Method getServiceDesc

Returns:

getServiceElementName

public String getServiceElementName()
Returns the String representation of the service element name

Returns: String representation of the service element name

getServicePortName

public String getServicePortName()
Returns the String representation of the service port name

Returns: String representation of the service port name

getSoapAction

public String getSoapAction()
Returns the soapAction option value

Returns: the String DEFAULT, NONE or OPERATION

getStopClasses

public ArrayList getStopClasses()
Return the list of classes which stop inhertance searches

Returns:

getStyle

public Style getStyle()
getStyle

Returns: Style setting (Style.RPC, Style.DOCUMENT, Style.WRAPPED, etc.)

getTargetService

public String getTargetService()
Returns the target service name

Returns: the target service name

getTypeMapping

public TypeMapping getTypeMapping()
Returns the TypeMapping used by the service

Returns: the TypeMapping used by the service

getUse

public Use getUse()
getUse

Returns: Use setting (Use.ENCODED, Use.LITERAL)

getUseInheritedMethods

public boolean getUseInheritedMethods()
Indicates if the emitter will search classes for inherited methods

Returns:

getVersionMessage

public String getVersionMessage()
Return the version message

Returns: message or null if emitter will use the default

getWSDL

public Definition getWSDL()
Get a Full WSDL Definition for the current configuration parameters

Returns: WSDL Definition

Throws: IOException WSDLException SAXException ParserConfigurationException

init

protected void init(int mode)
Invoked prior to building a definition to ensure parms and data are set up.

Parameters: mode

prettyDocumentToFile

protected void prettyDocumentToFile(Document doc, String filename)
Write a prettified document to a file.

Parameters: doc the Document to write filename the name of the file to be written

Throws: IOException various file i/o exceptions

setAllowedMethods

public void setAllowedMethods(String text)
Add a list of methods to export

Parameters: text

setAllowedMethods

public void setAllowedMethods(Vector allowedMethods)
Add a Vector of methods to export

Parameters: allowedMethods a vector of methods to export

setBindingName

public void setBindingName(String bindingName)
Set the String representation of the binding name

Parameters: bindingName the String representation of the binding name

setCls

public void setCls(Class cls)
Sets the Class to export

Parameters: cls the Class to export

setCls

public void setCls(String className)
Sets the Class to export

Parameters: className the name of the Class to export

Throws: ClassNotFoundException

setClsSmart

public void setClsSmart(Class cls, String location)
Sets the Class to export.

Parameters: cls the Class to export location

setDefaultTypeMapping

public void setDefaultTypeMapping(TypeMapping tm)

Deprecated: Use setTypeMappingRegistry instead

Sets the defaultTypeMapping used by the service

Parameters: tm the defaultTypeMapping used by the service

setDescription

public void setDescription(String description)
Set the service description

Parameters: description service description String

setDisallowedMethods

public void setDisallowedMethods(Vector disallowedMethods)
Add a list of methods NOT to export

Parameters: disallowedMethods vector of method name strings

setDisallowedMethods

public void setDisallowedMethods(String text)
Add a list of methods NOT to export

Parameters: text space separated list of method names

setEmitAllTypes

public void setEmitAllTypes(boolean emitAllTypes)

setExtraClasses

public void setExtraClasses(Class[] extraClasses)
Provide a list of classes which the emitter will produce WSDL type definitions for.

Parameters: extraClasses

setExtraClasses

public void setExtraClasses(String text)
Provide a comma or space seperated list of classes which the emitter will produce WSDL type definitions for. The classes will be added to the current list.

Parameters: text

Throws: ClassNotFoundException

setImplCls

public void setImplCls(Class implCls)
Sets the implementation Class

Parameters: implCls the Class to export

setImplCls

public void setImplCls(String className)
Sets the implementation Class

Parameters: className the name of the implementation Class

setImplNamespace

public void setImplNamespace(String ns)
Set the implementation namespace

Parameters: ns implementation target namespace

setImportUrl

public void setImportUrl(String importUrl)
Set the String representation of the interface location URL for importing

Parameters: importUrl the String representation of the interface location URL for importing

setInputSchema

public void setInputSchema(String inputSchema)
Set the name of the input schema

Parameters: inputSchema the name of the input schema

setInputWSDL

public void setInputWSDL(String inputWSDL)
Set the name of the input WSDL

Parameters: inputWSDL the name of the input WSDL

setIntfNamespace

public void setIntfNamespace(String ns)
Set the interface namespace

Parameters: ns interface target namespace

setLocationUrl

public void setLocationUrl(String locationUrl)
Set the String representation of the service endpoint URL

Parameters: locationUrl the String representation of the service endpoint URL

setMode

public void setMode(int mode)

Deprecated: (use setStyle and setUse)

setMode (sets style and use)

Parameters: mode

setNamespaceMap

public void setNamespaceMap(Map map)
Set the packagename to namespace map with the given map

Parameters: map packagename/namespace Map

setPortTypeName

public void setPortTypeName(String portTypeName)
Set the String representation of the portType name

Parameters: portTypeName the String representation of the portType name

setServiceDesc

public void setServiceDesc(ServiceDesc serviceDesc)
Method setServiceDesc

Parameters: serviceDesc

setServiceElementName

public void setServiceElementName(String serviceElementName)
Set the String representation of the service element name

Parameters: serviceElementName the String representation of the service element name

setServicePortName

public void setServicePortName(String servicePortName)
Set the String representation of the service port name

Parameters: servicePortName the String representation of the service port name

setSoapAction

public void setSoapAction(String value)
Sets the soapAction option value

Parameters: value must be DEFAULT, NONE, or OPERATION

setStopClasses

public void setStopClasses(ArrayList stopClasses)
Adds a list of classes (fully qualified) that will stop the traversal of the inheritance tree if encounter in method or complex type generation

Parameters: stopClasses vector of class name strings

setStopClasses

public void setStopClasses(String text)
Add a list of classes (fully qualified) that will stop the traversal of the inheritance tree if encounter in method or complex type generation

Parameters: text space separated list of class names

setStyle

public void setStyle(String value)
setStyle

Parameters: value String representing a style ("document", "rpc", "wrapped") Note that the case of the string is not important. "document" and "DOCUMENT" are both treated as document style. If the value is not a know style, the default setting is used. See org.apache.axis.constants.Style for a description of the interaction between Style/Use
NOTE: If style is specified as "wrapped", use is set to literal.

setStyle

public void setStyle(Style value)
setStyle

Parameters: value Style setting

setTargetService

public void setTargetService(String targetService)
Set the target service name

Parameters: targetService the target service name

setTypeMapping

public void setTypeMapping(TypeMapping tm)
Sets the TypeMapping used by the service

Parameters: tm the TypeMapping used by the service

setTypeMappingRegistry

public void setTypeMappingRegistry(TypeMappingRegistry tmr)
Set the TypeMappingRegistry for this Emitter.

setUse

public void setUse(String value)
setUse

Parameters: value String representing a use ("literal", "encoded") Note that the case of the string is not important. "literal" and "LITERAL" are both treated as literal use. If the value is not a know use, the default setting is used. See org.apache.axis.constants.Style for a description of the interaction between Style/Use

setUse

public void setUse(Use value)
setUse

Parameters: value Use setting

setUseInheritedMethods

public void setUseInheritedMethods(boolean useInheritedMethods)
Turn on or off inherited method WSDL generation.

Parameters: useInheritedMethods

setVersionMessage

public void setVersionMessage(String versionMessage)
Set the version message that appears at the top of the WSDL If not set, we use the default version message. If set to an empty string, no version message will be emitted

Parameters: versionMessage the message to emit

writeBinding

protected Binding writeBinding(Definition def, boolean add)
Create the binding.

Parameters: def Definition add true if binding should be added to the def

Returns:

writeBindingOperation

protected BindingOperation writeBindingOperation(Definition def, Binding binding, Operation oper, OperationDesc desc)
Create a Binding Operation

Parameters: def binding oper desc

Returns:

writeDefinitions

protected void writeDefinitions(Definition def, String tns)
Create the definition header information.

Parameters: def Definition tns target namespace

writeFaultMessage

protected Message writeFaultMessage(Definition def, FaultDesc exception)
Create a Fault Message

Parameters: def exception (an ExceptionRep object)

Returns:

Throws: WSDLException AxisFault

writeImport

protected void writeImport(Definition def, String tns, String loc)
Create and add an import

Parameters: def Definition tns target namespace loc target location

writeMessages

protected void writeMessages(Definition def, Operation oper, OperationDesc desc, BindingOperation bindingOper)
Create a Message

Parameters: def Definition, the WSDL definition oper Operation, the wsdl operation desc OperationDesc, the Operation Description bindingOper BindingOperation, corresponding Binding Operation

Throws: WSDLException AxisFault

writeOperation

protected BindingOperation writeOperation(Definition def, Binding binding, OperationDesc desc)
Create a Operation

Parameters: def binding desc

Returns:

writePartToMessage

public String writePartToMessage(Definition def, Message msg, boolean request, ParameterDesc param)
Create a Part

Parameters: def msg request message is for a request param ParamRep object

Returns: The parameter name added or null

Throws: WSDLException AxisFault

writePortType

protected void writePortType(Definition def, Binding binding)
Create a PortType

Parameters: def binding

Throws: WSDLException AxisFault

writeRequestMessage

protected Message writeRequestMessage(Definition def, OperationDesc oper, BindingOperation bindop)
Create a Request Message

Parameters: def oper

Returns:

Throws: WSDLException AxisFault

writeResponseMessage

protected Message writeResponseMessage(Definition def, OperationDesc desc, BindingOperation bindop)
Create a Response Message

Parameters: def desc

Returns:

Throws: WSDLException AxisFault

writeService

protected void writeService(Definition def, Binding binding)
Create the service.

Parameters: def binding

writeSOAPBody

protected ExtensibilityElement writeSOAPBody(QName operQName)
Method writeSOAPBody

Parameters: operQName

Returns:

writeSOAPFault

protected SOAPFault writeSOAPFault(FaultDesc faultDesc)
Method writeSOAPFault

Parameters: faultDesc

Returns:

writeSOAPHeader

protected SOAPHeader writeSOAPHeader(ParameterDesc p, QName messageQName, String partName)
Create a SOAPHeader element

writeWrapperPart

public String writeWrapperPart(Definition def, Message msg, OperationDesc oper, boolean request)
Write out the schema definition for a WRAPPED operation request or response.

Parameters: def msg oper request

Returns: the name of the part the was written

Throws: AxisFault

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