Class WSDLReaderImpl

  • All Implemented Interfaces:
    WSDLReader

    public class WSDLReaderImpl
    extends java.lang.Object
    implements WSDLReader
    This class describes a collection of methods that enable conversion of a WSDL document (in XML, following the WSDL schema described in the WSDL specification) into a WSDL model.
    Author:
    Matthew J. Duftler, Nirmal Mukhi
    • Field Detail

      • verbose

        protected boolean verbose
      • importDocuments

        protected boolean importDocuments
      • parseSchema

        protected boolean parseSchema
      • factoryImplName

        protected java.lang.String factoryImplName
      • allSchemas

        protected java.util.Map allSchemas
    • Constructor Detail

      • WSDLReaderImpl

        public WSDLReaderImpl()
    • Method Detail

      • setFeature

        public void setFeature​(java.lang.String name,
                               boolean value)
                        throws java.lang.IllegalArgumentException
        Sets the specified feature to the specified value.

        The supported features are:

        Name Description Default Value
        javax.wsdl.verbose If set to true, status messages will be displayed. true
        javax.wsdl.importDocuments If set to true, imported WSDL documents will be retrieved and processed. true
        com.ibm.wsdl.parseXMLSchemas If set to true, the schema documents inlined and import directly or indirectly will be retrieved as javax.wsdl.extensions.schema.Schema objects and referred to in the Definition. This is the default (only) behaviour from JWSDL 1.2. Which is why the default for this feature is true. However, prior to JWSDL 1.2 the only behaviour was not to parse the schema files. Setting this feature to false will prevent the schemas being parsed. true

        All feature names must be fully-qualified, Java package style. All names starting with javax.wsdl. are reserved for features defined by the JWSDL specification. It is recommended that implementation- specific features be fully-qualified to match the package name of that implementation. For example: com.abc.featureName

        Specified by:
        setFeature in interface WSDLReader
        Parameters:
        name - the name of the feature to be set.
        value - the value to set the feature to.
        Throws:
        java.lang.IllegalArgumentException - if the feature name is not recognized.
        See Also:
        getFeature(String)
      • getFeature

        public boolean getFeature​(java.lang.String name)
                           throws java.lang.IllegalArgumentException
        Gets the value of the specified feature.
        Specified by:
        getFeature in interface WSDLReader
        Parameters:
        name - the name of the feature to get the value of.
        Returns:
        the value of the feature.
        Throws:
        java.lang.IllegalArgumentException - if the feature name is not recognized.
        See Also:
        setFeature(String, boolean)
      • setExtensionRegistry

        public void setExtensionRegistry​(ExtensionRegistry extReg)
        Set the extension registry to be used when reading WSDL documents into a WSDL definition. If an extension registry is set, that is the extension registry that will be set as the extensionRegistry property of the definitions resulting from invoking readWSDL(...). Default is null.
        Specified by:
        setExtensionRegistry in interface WSDLReader
        Parameters:
        extReg - the extension registry to use for new definitions
      • getWSDLFactory

        protected WSDLFactory getWSDLFactory()
                                      throws WSDLException
        Get the WSDLFactory object cached in the reader, or use lazy instantiation if it is not cached yet.
        Throws:
        WSDLException
      • setFactoryImplName

        public void setFactoryImplName​(java.lang.String factoryImplName)
                                throws java.lang.UnsupportedOperationException
        Set a different factory implementation to use for creating definitions when reading WSDL documents. As some WSDLReader implementations may only be capable of creating definitions using the same factory implementation from which the reader was obtained, this method is optional. Default is null.
        Specified by:
        setFactoryImplName in interface WSDLReader
        Parameters:
        factoryImplName - the fully-qualified class name of the class which provides a concrete implementation of the abstract class WSDLFactory.
        Throws:
        java.lang.UnsupportedOperationException - if this method is invoked on an implementation which does not support it.
      • getFactoryImplName

        public java.lang.String getFactoryImplName()
        Get the factoryImplName, if one was set. Default is null.
        Specified by:
        getFactoryImplName in interface WSDLReader
      • parseDefinitions

        protected Definition parseDefinitions​(java.lang.String documentBaseURI,
                                              org.w3c.dom.Element defEl,
                                              java.util.Map importedDefs)
                                       throws WSDLException
        Throws:
        WSDLException
      • parseExtensibilityAttribute

        protected java.lang.Object parseExtensibilityAttribute​(org.w3c.dom.Element el,
                                                               int attrType,
                                                               java.lang.String attrValue,
                                                               Definition def)
                                                        throws WSDLException
        Throws:
        WSDLException
      • parseExtensibilityElementAsDefaultExtensiblityElement

        protected ExtensibilityElement parseExtensibilityElementAsDefaultExtensiblityElement​(java.lang.Class parentType,
                                                                                             org.w3c.dom.Element el,
                                                                                             Definition def)
                                                                                      throws WSDLException
        Parse the element using the ExtensionRegistry default deserializer instead using the one registered. The default deserializer will create an UnknownExtensibilityElement from the element.
        Parameters:
        parentType -
        el -
        def -
        Returns:
        An instance of the default ExtensibilityElement as registered with the ExtensionRegistry
        Throws:
        WSDLException
      • readWSDL

        public Definition readWSDL​(java.lang.String wsdlURI)
                            throws WSDLException
        Read the WSDL document accessible via the specified URI into a WSDL definition.
        Specified by:
        readWSDL in interface WSDLReader
        Parameters:
        wsdlURI - a URI (can be a filename or URL) pointing to a WSDL XML definition.
        Returns:
        the definition.
        Throws:
        WSDLException
      • readWSDL

        public Definition readWSDL​(java.lang.String contextURI,
                                   java.lang.String wsdlURI)
                            throws WSDLException
        Read the WSDL document accessible via the specified URI into a WSDL definition.
        Specified by:
        readWSDL in interface WSDLReader
        Parameters:
        contextURI - the context in which to resolve the wsdlURI, if the wsdlURI is relative. Can be null, in which case it will be ignored.
        wsdlURI - a URI (can be a filename or URL) pointing to a WSDL XML definition.
        Returns:
        the definition.
        Throws:
        WSDLException
      • readWSDL

        public Definition readWSDL​(java.lang.String documentBaseURI,
                                   org.w3c.dom.Element definitionsElement)
                            throws WSDLException
        Read the specified <wsdl:definitions> element into a WSDL definition.
        Specified by:
        readWSDL in interface WSDLReader
        Parameters:
        documentBaseURI - the document base URI of the WSDL definition described by the element. Will be set as the documentBaseURI of the returned Definition. Can be null, in which case it will be ignored.
        definitionsElement - the <wsdl:definitions> element
        Returns:
        the definition described by the element.
        Throws:
        WSDLException
      • readWSDL

        public Definition readWSDL​(WSDLLocator locator,
                                   org.w3c.dom.Element definitionsElement)
                            throws WSDLException
        Read the specified <wsdl:definitions> element into a WSDL definition. The WSDLLocator is used to provide the document base URIs. The InputSource of the WSDLLocator is ignored, instead the WSDL is parsed from the given Element.
        Specified by:
        readWSDL in interface WSDLReader
        Parameters:
        locator - A WSDLLocator object used to provide the document base URI of the WSDL definition described by the element.
        definitionsElement - the <wsdl:definitions> element
        Returns:
        the definition described by the element.
        Throws:
        WSDLException
      • readWSDL

        protected Definition readWSDL​(java.lang.String documentBaseURI,
                                      org.w3c.dom.Element definitionsElement,
                                      java.util.Map importedDefs)
                               throws WSDLException
        Throws:
        WSDLException
      • readWSDL

        public Definition readWSDL​(java.lang.String documentBaseURI,
                                   org.w3c.dom.Document wsdlDocument)
                            throws WSDLException
        Read the specified WSDL document into a WSDL definition.
        Specified by:
        readWSDL in interface WSDLReader
        Parameters:
        documentBaseURI - the document base URI of the WSDL definition described by the document. Will be set as the documentBaseURI of the returned Definition. Can be null, in which case it will be ignored.
        wsdlDocument - the WSDL document, an XML document obeying the WSDL schema.
        Returns:
        the definition described in the document.
        Throws:
        WSDLException
      • readWSDL

        public Definition readWSDL​(java.lang.String documentBaseURI,
                                   org.xml.sax.InputSource inputSource)
                            throws WSDLException
        Read a WSDL document into a WSDL definition.
        Specified by:
        readWSDL in interface WSDLReader
        Parameters:
        documentBaseURI - the document base URI of the WSDL definition described by the document. Will be set as the documentBaseURI of the returned Definition. Can be null, in which case it will be ignored.
        inputSource - an InputSource pointing to the WSDL document, an XML document obeying the WSDL schema.
        Returns:
        the definition described in the document pointed to by the InputSource.
        Throws:
        WSDLException
      • readWSDL

        public Definition readWSDL​(WSDLLocator locator)
                            throws WSDLException
        Read a WSDL document into a WSDL definition.
        Specified by:
        readWSDL in interface WSDLReader
        Parameters:
        locator - A WSDLLocator object used to provide InputSources pointing to the wsdl file.
        Returns:
        the definition described in the document
        Throws:
        WSDLException