Class Emitter

java.lang.Object
org.apache.axis.wsdl.fromJava.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 Details

    • log

      protected static org.apache.commons.logging.Log log
      Field log
    • MODE_ALL

      public static final int MODE_ALL
      Field MODE_ALL
      See Also:
    • MODE_INTERFACE

      public static final int MODE_INTERFACE
      Field MODE_INTERFACE
      See Also:
    • MODE_IMPLEMENTATION

      public static final int MODE_IMPLEMENTATION
      Field MODE_IMPLEMENTATION
      See Also:
    • types

      protected Types types
      Field types
    • MODE_RPC

      public static final int MODE_RPC
      DEPRECATED - Indicates style=rpc use=encoded
      See Also:
    • MODE_DOCUMENT

      public static final int MODE_DOCUMENT
      DEPRECATED - Indicates style=document use=literal
      See Also:
    • MODE_DOC_WRAPPED

      public static final int MODE_DOC_WRAPPED
      DEPRECATED - Indicates style=wrapped use=literal
      See Also:
    • standardTypes

      protected static TypeMapping standardTypes
      Field standardTypes
  • Constructor Details

    • Emitter

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

    • emit

      public void emit(String filename1, String filename2) throws IOException, javax.wsdl.WSDLException, SAXException, ParserConfigurationException
      Generates WSDL documents for a given Class
      Parameters:
      filename1 - interface WSDL
      filename2 - implementation WSDL
      Throws:
      IOException
      javax.wsdl.WSDLException
      SAXException
      ParserConfigurationException
    • emit

      public void emit(String filename) throws IOException, javax.wsdl.WSDLException, SAXException, ParserConfigurationException
      Generates a complete WSDL document for a given Class
      Parameters:
      filename - WSDL
      Throws:
      IOException
      javax.wsdl.WSDLException
      SAXException
      ParserConfigurationException
    • emit

      public Document emit(int mode) throws IOException, javax.wsdl.WSDLException, SAXException, ParserConfigurationException
      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
      javax.wsdl.WSDLException
      SAXException
      ParserConfigurationException
    • emitToString

      public String emitToString(int mode) throws IOException, javax.wsdl.WSDLException, SAXException, ParserConfigurationException
      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
      javax.wsdl.WSDLException
      SAXException
      ParserConfigurationException
    • emit

      public void emit(String filename, int mode) throws IOException, javax.wsdl.WSDLException, SAXException, ParserConfigurationException
      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
      javax.wsdl.WSDLException
      SAXException
      ParserConfigurationException
    • getWSDL

      public javax.wsdl.Definition getWSDL() throws IOException, javax.wsdl.WSDLException, SAXException, ParserConfigurationException
      Get a Full WSDL Definition for the current configuration parameters
      Returns:
      WSDL Definition
      Throws:
      IOException
      javax.wsdl.WSDLException
      SAXException
      ParserConfigurationException
    • getIntfWSDL

      public javax.wsdl.Definition getIntfWSDL() throws IOException, javax.wsdl.WSDLException, SAXException, ParserConfigurationException
      Get a interface WSDL Definition for the current configuration parameters
      Returns:
      WSDL Definition
      Throws:
      IOException
      javax.wsdl.WSDLException
      SAXException
      ParserConfigurationException
    • getImplWSDL

      public javax.wsdl.Definition getImplWSDL() throws IOException, javax.wsdl.WSDLException, SAXException, ParserConfigurationException
      Get implementation WSDL Definition for the current configuration parameters
      Returns:
      WSDL Definition
      Throws:
      IOException
      javax.wsdl.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 -
    • createDefinition

      protected javax.wsdl.Definition createDefinition() throws javax.wsdl.WSDLException, SAXException, IOException, ParserConfigurationException
      Build a Definition from the input wsdl file or create a new Definition
      Returns:
      WSDL Definition
      Throws:
      javax.wsdl.WSDLException
      SAXException
      IOException
      ParserConfigurationException
    • createTypes

      protected Types createTypes(javax.wsdl.Definition def) throws IOException, javax.wsdl.WSDLException, SAXException, ParserConfigurationException
      Build a Types object and load the input wsdl types
      Parameters:
      def - Corresponding wsdl Definition
      Returns:
      Types object
      Throws:
      IOException
      javax.wsdl.WSDLException
      SAXException
      ParserConfigurationException
    • createDocumentationElement

      protected Element createDocumentationElement(String documentation)
      Create a documentation element
      Parameters:
      documentation -
      Returns:
    • writeDefinitions

      protected void writeDefinitions(javax.wsdl.Definition def, String tns)
      Create the definition header information.
      Parameters:
      def - Definition
      tns - target namespace
    • writeImport

      protected void writeImport(javax.wsdl.Definition def, String tns, String loc)
      Create and add an import
      Parameters:
      def - Definition
      tns - target namespace
      loc - target location
    • writeBinding

      protected javax.wsdl.Binding writeBinding(javax.wsdl.Definition def, boolean add)
      Create the binding.
      Parameters:
      def - Definition
      add - true if binding should be added to the def
      Returns:
    • writeService

      protected void writeService(javax.wsdl.Definition def, javax.wsdl.Binding binding)
      Create the service.
      Parameters:
      def -
      binding -
    • writePortType

      protected void writePortType(javax.wsdl.Definition def, javax.wsdl.Binding binding) throws javax.wsdl.WSDLException, AxisFault
      Create a PortType
      Parameters:
      def -
      binding -
      Throws:
      javax.wsdl.WSDLException
      AxisFault
    • writeMessages

      protected void writeMessages(javax.wsdl.Definition def, javax.wsdl.Operation oper, OperationDesc desc, javax.wsdl.BindingOperation bindingOper) throws javax.wsdl.WSDLException, AxisFault
      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:
      javax.wsdl.WSDLException
      AxisFault
    • writeOperation

      protected javax.wsdl.BindingOperation writeOperation(javax.wsdl.Definition def, javax.wsdl.Binding binding, OperationDesc desc)
      Create a Operation
      Parameters:
      def -
      binding -
      desc -
      Returns:
    • writeBindingOperation

      protected javax.wsdl.BindingOperation writeBindingOperation(javax.wsdl.Definition def, javax.wsdl.Binding binding, javax.wsdl.Operation oper, OperationDesc desc)
      Create a Binding Operation
      Parameters:
      def -
      binding -
      oper -
      desc -
      Returns:
    • writeSOAPHeader

      protected javax.wsdl.extensions.soap.SOAPHeader writeSOAPHeader(ParameterDesc p, QName messageQName, String partName)
      Create a SOAPHeader element
    • writeSOAPBody

      protected javax.wsdl.extensions.ExtensibilityElement writeSOAPBody(QName operQName)
      Method writeSOAPBody
      Parameters:
      operQName -
      Returns:
    • writeSOAPFault

      protected javax.wsdl.extensions.soap.SOAPFault writeSOAPFault(FaultDesc faultDesc)
      Method writeSOAPFault
      Parameters:
      faultDesc -
      Returns:
    • writeRequestMessage

      protected javax.wsdl.Message writeRequestMessage(javax.wsdl.Definition def, OperationDesc oper, javax.wsdl.BindingOperation bindop) throws javax.wsdl.WSDLException, AxisFault
      Create a Request Message
      Parameters:
      def -
      oper -
      Returns:
      Throws:
      javax.wsdl.WSDLException
      AxisFault
    • getRequestQName

      protected QName getRequestQName(OperationDesc oper)
      Method getRequestQName
      Parameters:
      oper -
      Returns:
    • getResponseQName

      protected QName getResponseQName(OperationDesc oper)
      Method getResponseQName
      Parameters:
      oper -
      Returns:
    • writeWrapperPart

      public String writeWrapperPart(javax.wsdl.Definition def, javax.wsdl.Message msg, OperationDesc oper, boolean request) throws AxisFault
      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
    • writeResponseMessage

      protected javax.wsdl.Message writeResponseMessage(javax.wsdl.Definition def, OperationDesc desc, javax.wsdl.BindingOperation bindop) throws javax.wsdl.WSDLException, AxisFault
      Create a Response Message
      Parameters:
      def -
      desc -
      Returns:
      Throws:
      javax.wsdl.WSDLException
      AxisFault
    • writeFaultMessage

      protected javax.wsdl.Message writeFaultMessage(javax.wsdl.Definition def, FaultDesc exception) throws javax.wsdl.WSDLException, AxisFault
      Create a Fault Message
      Parameters:
      def -
      exception - (an ExceptionRep object)
      Returns:
      Throws:
      javax.wsdl.WSDLException
      AxisFault
    • writePartToMessage

      public String writePartToMessage(javax.wsdl.Definition def, javax.wsdl.Message msg, boolean request, ParameterDesc param) throws javax.wsdl.WSDLException, AxisFault
      Create a Part
      Parameters:
      def -
      msg -
      request - message is for a request
      param - ParamRep object
      Returns:
      The parameter name added or null
      Throws:
      javax.wsdl.WSDLException
      AxisFault
    • createMessageName

      protected QName createMessageName(javax.wsdl.Definition def, String methodName)
      Method createMessageName
      Parameters:
      def -
      methodName -
      Returns:
    • prettyDocumentToFile

      protected void prettyDocumentToFile(Document doc, String filename) throws IOException
      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
    • getCls

      public Class getCls()
      Returns the Class to export
      Returns:
      the Class to export
    • setCls

      public void setCls(Class cls)
      Sets the Class to export
      Parameters:
      cls - the Class to export
    • setClsSmart

      public void setClsSmart(Class cls, String location)
      Sets the Class to export.
      Parameters:
      cls - the Class to export
      location -
    • setCls

      public void setCls(String className) throws ClassNotFoundException
      Sets the Class to export
      Parameters:
      className - the name of the Class to export
      Throws:
      ClassNotFoundException
    • getImplCls

      public Class getImplCls()
      Returns the implementation Class if set
      Returns:
      the implementation Class or null
    • 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
    • getIntfNamespace

      public String getIntfNamespace()
      Returns the interface namespace
      Returns:
      interface target namespace
    • setIntfNamespace

      public void setIntfNamespace(String ns)
      Set the interface namespace
      Parameters:
      ns - interface target namespace
    • getImplNamespace

      public String getImplNamespace()
      Returns the implementation namespace
      Returns:
      implementation target namespace
    • setImplNamespace

      public void setImplNamespace(String ns)
      Set the implementation namespace
      Parameters:
      ns - implementation target namespace
    • getAllowedMethods

      public Vector getAllowedMethods()
      Returns a vector of methods to export
      Returns:
      a space separated list of methods to export
    • 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
    • getUseInheritedMethods

      public boolean getUseInheritedMethods()
      Indicates if the emitter will search classes for inherited methods
      Returns:
    • setUseInheritedMethods

      public void setUseInheritedMethods(boolean useInheritedMethods)
      Turn on or off inherited method WSDL generation.
      Parameters:
      useInheritedMethods -
    • 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
    • getDisallowedMethods

      public Vector getDisallowedMethods()
      Return list of methods that should not be exported
      Returns:
    • 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
    • getStopClasses

      public ArrayList getStopClasses()
      Return the list of classes which stop inhertance searches
      Returns:
    • getNamespaceMap

      public Map getNamespaceMap()
      get the packagename to namespace map
      Returns:
      Map
    • setNamespaceMap

      public void setNamespaceMap(Map map)
      Set the packagename to namespace map with the given map
      Parameters:
      map - packagename/namespace Map
    • getInputWSDL

      public String getInputWSDL()
      Get the name of the input WSDL
      Returns:
      name of the input wsdl or null
    • setInputWSDL

      public void setInputWSDL(String inputWSDL)
      Set the name of the input WSDL
      Parameters:
      inputWSDL - the name of the input WSDL
    • getInputSchema

      public String getInputSchema()
      Returns:
      the name of the input schema, or null
    • setInputSchema

      public void setInputSchema(String inputSchema)
      Set the name of the input schema
      Parameters:
      inputSchema - the name of the input schema
    • getLocationUrl

      public String getLocationUrl()
      Returns the String representation of the service endpoint URL
      Returns:
      String representation of the service endpoint URL
    • 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
    • getImportUrl

      public String getImportUrl()
      Returns the String representation of the interface import location URL
      Returns:
      String representation of the interface import location URL
    • 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
    • getServicePortName

      public String getServicePortName()
      Returns the String representation of the service port name
      Returns:
      String representation of the service port 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
    • getServiceElementName

      public String getServiceElementName()
      Returns the String representation of the service element name
      Returns:
      String representation of the service element name
    • 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
    • getPortTypeName

      public String getPortTypeName()
      Returns the String representation of the portType name
      Returns:
      String representation of the portType name
    • setPortTypeName

      public void setPortTypeName(String portTypeName)
      Set the String representation of the portType name
      Parameters:
      portTypeName - the String representation of the portType name
    • getBindingName

      public String getBindingName()
      Returns the String representation of the binding name
      Returns:
      String representation of the binding name
    • setBindingName

      public void setBindingName(String bindingName)
      Set the String representation of the binding name
      Parameters:
      bindingName - the String representation of the binding name
    • getTargetService

      public String getTargetService()
      Returns the target service name
      Returns:
      the target service name
    • setTargetService

      public void setTargetService(String targetService)
      Set the target service name
      Parameters:
      targetService - the target service name
    • getDescription

      public String getDescription()
      Returns the service description
      Returns:
      service description String
    • setDescription

      public void setDescription(String description)
      Set the service description
      Parameters:
      description - service description String
    • getSoapAction

      public String getSoapAction()
      Returns the soapAction option value
      Returns:
      the String DEFAULT, NONE or OPERATION
    • setSoapAction

      public void setSoapAction(String value)
      Sets the soapAction option value
      Parameters:
      value - must be DEFAULT, NONE, or OPERATION
    • getTypeMapping

      public TypeMapping getTypeMapping()
      Returns the TypeMapping used by the service
      Returns:
      the TypeMapping used by the service
    • setTypeMapping

      public void setTypeMapping(TypeMapping tm)
      Sets the TypeMapping used by the service
      Parameters:
      tm - the TypeMapping used by the service
    • getDefaultTypeMapping

      public TypeMapping getDefaultTypeMapping()
      Deprecated.
      Use getTypeMappingRegistry instead
      Returns the defaultTypeMapping used by the service
      Returns:
      the defaultTypeMapping used by the service
    • 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
    • setTypeMappingRegistry

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

      public Style getStyle()
      getStyle
      Returns:
      Style setting (Style.RPC, Style.DOCUMENT, Style.WRAPPED, etc.)
    • 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
    • getUse

      public Use getUse()
      getUse
      Returns:
      Use setting (Use.ENCODED, Use.LITERAL)
    • 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
    • setMode

      public void setMode(int mode)
      Deprecated.
      (use setStyle and setUse)
      setMode (sets style and use)
      Parameters:
      mode -
    • 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)
    • getServiceDesc

      public ServiceDesc getServiceDesc()
      Method getServiceDesc
      Returns:
    • setServiceDesc

      public void setServiceDesc(ServiceDesc serviceDesc)
      Method setServiceDesc
      Parameters:
      serviceDesc -
    • getExtraClasses

      public Class[] getExtraClasses()
      Return the list of extra classes that the emitter will produce WSDL for.
      Returns:
    • 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) throws ClassNotFoundException
      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
    • setEmitAllTypes

      public void setEmitAllTypes(boolean emitAllTypes)
    • getVersionMessage

      public String getVersionMessage()
      Return the version message
      Returns:
      message or null if emitter will use the default
    • 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
    • getQName2ClassMap

      public HashMap getQName2ClassMap()
      Return the type qname to java type mapping
      Returns:
      mapping of type qname to its corresponding java type