Class WebServiceCall

  • All Implemented Interfaces:
    javax.xml.rpc.Call

    public class WebServiceCall
    extends org.apache.axis.client.Call
    This class defines APIs that can be accessed over network.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ENCODING_LATIN_1
      standard character encoding of the Latin alphabet
      static java.lang.String ENCODING_UTF8
      variable-length character encoding for Unicode
      static int INITIAL_BUFFER_SIZE
      constant to set the default buffer size
      • Fields inherited from class org.apache.axis.client.Call

        ATTACHMENT_ENCAPSULATION_FORMAT, ATTACHMENT_ENCAPSULATION_FORMAT_DIME, ATTACHMENT_ENCAPSULATION_FORMAT_MIME, ATTACHMENT_ENCAPSULATION_FORMAT_MTOM, attachmentParts, CHARACTER_SET_ENCODING, CHECK_MUST_UNDERSTAND, CONNECTION_TIMEOUT_PROPERTY, entLog, FAULT_ON_NO_RESPONSE, JAXRPC_PORTTYPE_NAME, JAXRPC_SERVICE, log, ONE_WAY, SEND_TYPE_ATTR, STREAMING_PROPERTY, TRANSPORT_NAME, TRANSPORT_PROPERTY, WSDL_PORT_NAME, WSDL_SERVICE
      • Fields inherited from interface javax.xml.rpc.Call

        ENCODINGSTYLE_URI_PROPERTY, OPERATION_STYLE_PROPERTY, PASSWORD_PROPERTY, SESSION_MAINTAIN_PROPERTY, SOAPACTION_URI_PROPERTY, SOAPACTION_USE_PROPERTY, USERNAME_PROPERTY
    • Constructor Summary

      Constructors 
      Constructor Description
      WebServiceCall​(java.lang.String url, Log aLog)
      Class constructor
      WebServiceCall​(org.apache.axis.client.Service aService, javax.xml.namespace.QName aPortQN, java.lang.String aSoapOperation, Log aLog)
      Class constructor
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addHeader​(org.apache.axis.message.SOAPHeaderElement header)  
      static java.lang.String callSoap​(java.lang.String aWebServiceURL, java.lang.String aSoapRequest, java.lang.String aSoapActionURI)
      This method gives the chance to invoke callSOAP method without providing basic authentication
      static java.lang.String callSoap​(java.lang.String aWebServiceURL, java.lang.String aSoapRequest, java.lang.String aSoapActionURI, java.lang.String aBasicAuth)
      This method establishes request/response connection http connection to the provided url
      static java.lang.String callSoap​(java.lang.String aWebServiceURL, java.lang.String aSoapRequest, java.lang.String aSoapActionURI, java.util.Map<java.lang.String,​java.lang.String> headers)
      This method establishes request/response connection http connection to the provided url
      void clearHeaders()  
      static java.util.Vector convertComplexTypeList​(java.lang.String aString)
      Returns Vector, which contains the type information for the tokens of the calling argument
      static java.lang.String[] convertOperationParams​(java.lang.String aList)
      The method splits the operations from one String into an array of Strings
      static org.apache.axis.client.Service createService​(java.lang.String wsdlDoc, javax.xml.namespace.QName serviceName)
      Creates new Service object.
      static org.apache.axis.client.Service createService​(java.lang.String wsdlDoc, javax.xml.namespace.QName serviceName, java.lang.String username, java.lang.String password)  
      static WebServiceCall createWebServiceCall​(java.lang.String aWsdlUrl, javax.xml.namespace.QName aServiceQN, javax.xml.namespace.QName aPortQN, java.lang.String aSoapOperation, Log aLog)
      Creates new WebServiceCall object
      java.lang.String generateSOAP​(java.util.Vector aClasses, java.lang.Object[] aParams, boolean aIsRequest)
      Creates the SOAP protocol for exchanging XML-messages
      static org.w3c.dom.Element getAsDOM​(java.lang.String aString)
      Converts the input argument into Element object
      static java.lang.String getAsString​(org.w3c.dom.Node aNode)
      Converts the input Node element into String
      static java.lang.String getChildNodesAsString​(org.w3c.dom.Node aNode)
      This method returns String , holding the child elements of the input Node.
      static java.util.Map<java.lang.String,​java.lang.String> getDefaultHttpHeaders()  
      static java.lang.String getJavaEncoding​(java.lang.String aContentType)
      This method returns the encoding type
      java.util.HashMap getOutParams()
      Retrieves out parameters.
      static ResourceHash getResHash()
      Returns a NLS Property set which holds all the translated values in the current language.
      javax.xml.namespace.QName getReturnParamQName()
      Returns the value of a QName containing a Namespace URI, local name and prefix
      static java.util.Vector getSoapHeaderAndBodyAsDOM​(java.lang.String aSoapMsg)
      Converts the SOAP message into DOM format
      java.lang.String getSoapString​(org.apache.axis.message.RPCElement body)
      This method returns a String representation of the Message from the input SOAP body
      static int min​(int a, int b)
      This method returns the smaller of two numbers
      static java.lang.String objectArrayToString​(java.lang.Object[] aObjArray)
      This method converts an input array of objects in the following String format: [obj1 , obj2 , ...
      java.lang.Object parseSOAP​(java.lang.String aSoapMsgString, java.util.Vector aClasses, java.lang.String aMsgType)
      Parses a SOAP message
      static java.lang.String readHttpContent​(java.io.InputStream aInputStream, java.lang.String aContentType, int aContentLength)
      Reads a specific amount of information from the InputStream and returns the content as String
      static java.lang.String readHttpContentNoContentLength​(java.io.InputStream aInputStream, java.lang.String aContentType)
      Reads the information from the InputStream and returns the content as String
      void registerClassMapping​(org.apache.axis.MessageContext aMsgCtx, java.lang.Class aClass)
      Registers a class mapping .
      void registerCustomTypeMapping​(java.lang.Class javaType, javax.xml.namespace.QName xmlType, javax.xml.rpc.encoding.SerializerFactory serializerFactory, javax.xml.rpc.encoding.DeserializerFactory deserializerFactory)
      Records a type mapping to be used by the 'parseSOAP' method.
      static byte[] resizeByteArray​(byte[] aByteArray, int aNewSize)
      Changes the size of a byte array
      • Methods inherited from class org.apache.axis.client.Call

        addAttachmentPart, addFault, addParameter, addParameter, addParameter, addParameter, addParameterAsHeader, addParameterAsHeader, addTransportPackage, clearOperation, getEncodingStyle, getMaintainSession, getMessageContext, getOperation, getOperationName, getOperationStyle, getOperationUse, getOutputParams, getOutputValues, getParameterTypeByName, getParameterTypeByQName, getPassword, getPortName, getPortTypeName, getProperty, getPropertyNames, getResponseMessage, getReturnType, getService, getSOAPActionURI, getStreaming, getTargetEndpointAddress, getTimeout, getTransportForProtocol, getTypeMapping, getUsername, initialize, invoke, invoke, invoke, invoke, invoke, invoke, invoke, invoke, invokeOneWay, isParameterAndReturnSpecRequired, isPropertySupported, registerTypeMapping, registerTypeMapping, registerTypeMapping, registerTypeMapping, removeAllParameters, removeProperty, setClientHandlers, setEncodingStyle, setMaintainSession, setOperation, setOperation, setOperation, setOperation, setOperationName, setOperationName, setOperationStyle, setOperationStyle, setOperationUse, setOperationUse, setOption, setPassword, setPortName, setPortTypeName, setProperty, setRequestMessage, setReturnClass, setReturnQName, setReturnType, setReturnType, setReturnTypeAsHeader, setReturnTypeAsHeader, setSOAPActionURI, setSOAPService, setSOAPVersion, setStreaming, setTargetEndpointAddress, setTargetEndpointAddress, setTimeout, setTransport, setTransportForProtocol, setUsername, setUseSOAPAction, useSOAPAction
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ENCODING_LATIN_1

        public static final java.lang.String ENCODING_LATIN_1
        standard character encoding of the Latin alphabet
        See Also:
        Constant Field Values
      • ENCODING_UTF8

        public static final java.lang.String ENCODING_UTF8
        variable-length character encoding for Unicode
        See Also:
        Constant Field Values
      • INITIAL_BUFFER_SIZE

        public static final int INITIAL_BUFFER_SIZE
        constant to set the default buffer size
        See Also:
        Constant Field Values
    • Constructor Detail

      • WebServiceCall

        public WebServiceCall​(org.apache.axis.client.Service aService,
                              javax.xml.namespace.QName aPortQN,
                              java.lang.String aSoapOperation,
                              Log aLog)
                       throws java.lang.Exception
        Class constructor
        Parameters:
        aService - String
        aPortQN - QName
        aSoapOperation - String
        aLog - Log
        Throws:
        java.lang.Exception - if the arguments are not valid
      • WebServiceCall

        public WebServiceCall​(java.lang.String url,
                              Log aLog)
                       throws java.net.MalformedURLException
        Class constructor
        Parameters:
        url - String
        aLog - Log
        Throws:
        java.net.MalformedURLException - If the string specifies an unknown protocol.
    • Method Detail

      • getResHash

        public static ResourceHash getResHash()
        Returns a NLS Property set which holds all the translated values in the current language.
        Returns:
        ResourceHash
      • getReturnParamQName

        public javax.xml.namespace.QName getReturnParamQName()
        Returns the value of a QName containing a Namespace URI, local name and prefix
        Returns:
        QName
      • createWebServiceCall

        public static WebServiceCall createWebServiceCall​(java.lang.String aWsdlUrl,
                                                          javax.xml.namespace.QName aServiceQN,
                                                          javax.xml.namespace.QName aPortQN,
                                                          java.lang.String aSoapOperation,
                                                          Log aLog)
                                                   throws java.lang.Exception
        Creates new WebServiceCall object
        Parameters:
        aWsdlUrl - String
        aServiceQN - QName
        aPortQN - QName
        aSoapOperation - String
        aLog -
        Returns:
        new WebServiceCall Object
        Throws:
        java.lang.Exception
      • createService

        public static org.apache.axis.client.Service createService​(java.lang.String wsdlDoc,
                                                                   javax.xml.namespace.QName serviceName)
                                                            throws java.lang.Exception
        Creates new Service object.
        Parameters:
        wsdlDoc - String
        serviceName - QName
        Returns:
        Service object
        Throws:
        java.lang.Exception - if the the arguments are not valid
      • createService

        public static org.apache.axis.client.Service createService​(java.lang.String wsdlDoc,
                                                                   javax.xml.namespace.QName serviceName,
                                                                   java.lang.String username,
                                                                   java.lang.String password)
                                                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • convertComplexTypeList

        public static java.util.Vector convertComplexTypeList​(java.lang.String aString)
                                                       throws java.lang.ClassNotFoundException
        Returns Vector, which contains the type information for the tokens of the calling argument
        Parameters:
        aString - String
        Returns:
        Vector
        Throws:
        java.lang.ClassNotFoundException
      • getAsDOM

        public static org.w3c.dom.Element getAsDOM​(java.lang.String aString)
                                            throws java.lang.Exception
        Converts the input argument into Element object
        Parameters:
        aString - String
        Returns:
        Element
        Throws:
        java.lang.Exception - if somewhere occurs an error
      • getAsString

        public static java.lang.String getAsString​(org.w3c.dom.Node aNode)
                                            throws java.lang.Exception
        Converts the input Node element into String
        Parameters:
        aNode - Node
        Returns:
        String
        Throws:
        java.lang.Exception - if null is pass, or error during the transforming occurs
      • generateSOAP

        public java.lang.String generateSOAP​(java.util.Vector aClasses,
                                             java.lang.Object[] aParams,
                                             boolean aIsRequest)
                                      throws java.lang.Exception
        Creates the SOAP protocol for exchanging XML-messages
        Parameters:
        aClasses - Vector
        aParams - Array of objects , parameter list
        aIsRequest - boolean , indicates whether the call is a request or response
        Returns:
        String , the name of the operation
        Throws:
        java.lang.Exception - if error occurs
      • clearHeaders

        public void clearHeaders()
        Overrides:
        clearHeaders in class org.apache.axis.client.Call
      • addHeader

        public void addHeader​(org.apache.axis.message.SOAPHeaderElement header)
        Overrides:
        addHeader in class org.apache.axis.client.Call
      • getSoapString

        public java.lang.String getSoapString​(org.apache.axis.message.RPCElement body)
                                       throws java.lang.Exception
        This method returns a String representation of the Message from the input SOAP body
        Parameters:
        body - RPCElement
        Returns:
        String
        Throws:
        java.lang.Exception
      • getOutParams

        public java.util.HashMap getOutParams()
        Retrieves out parameters.
        Returns:
        a HashMap with the out parameters
      • registerCustomTypeMapping

        public void registerCustomTypeMapping​(java.lang.Class javaType,
                                              javax.xml.namespace.QName xmlType,
                                              javax.xml.rpc.encoding.SerializerFactory serializerFactory,
                                              javax.xml.rpc.encoding.DeserializerFactory deserializerFactory)
        Records a type mapping to be used by the 'parseSOAP' method. Note: calling 'registerTypeMapping' on the WebServiceCall object will not affect the 'parseSOAP' method. So use this method instead.
        Parameters:
        javaType - Class type
        xmlType - QName
        serializerFactory - SerializerFactory
        deserializerFactory - DeserializerFactory
      • parseSOAP

        public java.lang.Object parseSOAP​(java.lang.String aSoapMsgString,
                                          java.util.Vector aClasses,
                                          java.lang.String aMsgType)
                                   throws java.lang.Exception
        Parses a SOAP message
        Parameters:
        aSoapMsgString - the SOAP Message
        aClasses - - String , class type
        aMsgType - - String , Message type for the Message
        Returns:
        the result of the parsing
        Throws:
        java.lang.Exception - : if error occurs
      • registerClassMapping

        public void registerClassMapping​(org.apache.axis.MessageContext aMsgCtx,
                                         java.lang.Class aClass)
                                  throws java.lang.Exception
        Registers a class mapping . Used by the parseSOAP method
        Parameters:
        aMsgCtx - MessageContext
        aClass - Class type
        Throws:
        java.lang.Exception - if an error during mapping occurs
      • convertOperationParams

        public static java.lang.String[] convertOperationParams​(java.lang.String aList)
        The method splits the operations from one String into an array of Strings
        Parameters:
        aList - String
        Returns:
        array of Strings
      • callSoap

        public static java.lang.String callSoap​(java.lang.String aWebServiceURL,
                                                java.lang.String aSoapRequest,
                                                java.lang.String aSoapActionURI)
                                         throws java.lang.Exception
        This method gives the chance to invoke callSOAP method without providing basic authentication
        Parameters:
        aWebServiceURL - String
        aSoapRequest - String
        aSoapActionURI - String
        Returns:
        String
        Throws:
        java.lang.Exception
        See Also:
        callSoap(String, String, String, String)
      • callSoap

        public static java.lang.String callSoap​(java.lang.String aWebServiceURL,
                                                java.lang.String aSoapRequest,
                                                java.lang.String aSoapActionURI,
                                                java.lang.String aBasicAuth)
                                         throws java.lang.Exception
        This method establishes request/response connection http connection to the provided url
        Parameters:
        aWebServiceURL - - String , the URL address
        aSoapRequest - - String , the request
        aSoapActionURI - - intent of the action String , SOAP URI
        aBasicAuth - - String , authentication
        Returns:
        String , information for the received messages
        Throws:
        java.lang.Exception - , if some problem occurs
      • getDefaultHttpHeaders

        public static java.util.Map<java.lang.String,​java.lang.String> getDefaultHttpHeaders()
      • callSoap

        public static java.lang.String callSoap​(java.lang.String aWebServiceURL,
                                                java.lang.String aSoapRequest,
                                                java.lang.String aSoapActionURI,
                                                java.util.Map<java.lang.String,​java.lang.String> headers)
                                         throws java.lang.Exception
        This method establishes request/response connection http connection to the provided url
        Parameters:
        aWebServiceURL - - String , the URL address
        aSoapRequest - - String , the request
        aSoapActionURI - - intent of the action String , SOAP URI
        headers - - Map with custom headers, e.g. authentication
        Returns:
        String , information for the received messages
        Throws:
        java.lang.Exception - , if some problem occurs
      • getSoapHeaderAndBodyAsDOM

        public static java.util.Vector getSoapHeaderAndBodyAsDOM​(java.lang.String aSoapMsg)
                                                          throws java.lang.Exception
        Converts the SOAP message into DOM format
        Parameters:
        aSoapMsg - String representation of the soap message, used to create new Message
        Returns:
        Vector , that holds the body and header elements of the message
        Throws:
        java.lang.Exception - , if the required information cannot be retrieved
      • objectArrayToString

        public static java.lang.String objectArrayToString​(java.lang.Object[] aObjArray)
        This method converts an input array of objects in the following String format: [obj1 , obj2 , ... ]
        Parameters:
        aObjArray - array of objects
        Returns:
        String
      • getChildNodesAsString

        public static java.lang.String getChildNodesAsString​(org.w3c.dom.Node aNode)
                                                      throws java.lang.Exception
        This method returns String , holding the child elements of the input Node.
        Parameters:
        aNode - Node
        Returns:
        String
        Throws:
        java.lang.Exception - if the passed Node is null
      • readHttpContent

        public static java.lang.String readHttpContent​(java.io.InputStream aInputStream,
                                                       java.lang.String aContentType,
                                                       int aContentLength)
                                                throws java.io.IOException
        Reads a specific amount of information from the InputStream and returns the content as String
        Parameters:
        aInputStream - InputStream to be read
        aContentType - type of data, so that the encoding style can be set
        aContentLength - length of data to be read
        Returns:
        String
        Throws:
        java.io.IOException - , if error occurs during reading
      • min

        public static int min​(int a,
                              int b)
        This method returns the smaller of two numbers
        Parameters:
        a - integer
        b - integer
        Returns:
        integer
      • resizeByteArray

        public static byte[] resizeByteArray​(byte[] aByteArray,
                                             int aNewSize)
        Changes the size of a byte array
        Parameters:
        aByteArray - byte array
        aNewSize - integer
        Returns:
        the resized array
      • readHttpContentNoContentLength

        public static java.lang.String readHttpContentNoContentLength​(java.io.InputStream aInputStream,
                                                                      java.lang.String aContentType)
                                                               throws java.io.IOException
        Reads the information from the InputStream and returns the content as String
        Parameters:
        aInputStream - the InputStream
        aContentType - type of data, so that the encoding style can be set
        Returns:
        String
        Throws:
        java.io.IOException - , if error occurs during reading
      • getJavaEncoding

        public static java.lang.String getJavaEncoding​(java.lang.String aContentType)
        This method returns the encoding type
        Parameters:
        aContentType - String
        Returns:
        - String ,null if argument has null value , the specified encoding style or the default unicode encryption