Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.wsif.base
Class WSIFServiceImpl  view WSIFServiceImpl download WSIFServiceImpl.java

java.lang.Object
  extended byorg.apache.wsif.base.WSIFServiceImpl
All Implemented Interfaces:
org.apache.wsif.WSIFService

public class WSIFServiceImpl
extends java.lang.Object
implements org.apache.wsif.WSIFService

An entry point to dynamic WSDL invocations.


Field Summary
private  Port chosenPort
           
private  org.apache.wsif.WSIFMessage context
           
private  Definition def
           
private  Port[] myPortsArr
           
private  java.util.Map myPortsMap
           
private  PortType portType
           
private  java.lang.String preferredPort
           
private static PrivateCompositeExtensionRegistry providersExtRegs
           
private  Service service
           
private  org.apache.wsif.providers.WSIFDynamicTypeMap typeMap
           
private  boolean typeMapInitialised
           
private  java.util.Map typeReg
           
 
Constructor Summary
(package private) WSIFServiceImpl(Definition def)
          Create a WSIF service instance
NOTE: The equivalent org.apache.wsif.WSIFServiceFactory.getService method should be used to create a WSIFService.
(package private) WSIFServiceImpl(Definition def, Service service)
          Create a WSIF service instance
NOTE: The equivalent org.apache.wsif.WSIFServiceFactory.getService method should be used to create a WSIFService.
(package private) WSIFServiceImpl(Definition def, Service service, PortType portType)
          Create a WSIF service instance
NOTE: The equivalent org.apache.wsif.WSIFServiceFactory.getService method should be used to create a WSIFService.
(package private) WSIFServiceImpl(java.lang.String wsdlLoc, java.lang.ClassLoader cl, java.lang.String serviceNS, java.lang.String serviceName, java.lang.String portTypeNS, java.lang.String portTypeName)
          Create a WSIF service instance from WSDL document URL using a ClassLoader to find local resources.
(package private) WSIFServiceImpl(java.lang.String wsdlLoc, java.lang.String serviceNS, java.lang.String serviceName, java.lang.String portTypeNS, java.lang.String portTypeName)
          Create a WSIF service instance from WSDL document URL.
 
Method Summary
static void addExtensionRegistry(ExtensionRegistry reg)
          Add new WSDL model extension registry that is shared by all dynamic WSIF providers.
private  void checkPortTypeInformation(Definition def, PortType portType)
          Check PortType information is consistent.
private  void checkWSDL(Definition def)
          Check WSDL defintion to make sure it does not contain undefined elements (typical case is referncing not defined portType).
private  void checkWSDLForWSIF(Definition def)
           
private  void copyInitializedService(WSIFServiceImpl svc)
          Copy the "read-only" parts of an initialized WSIFServiceImpl
private  org.apache.wsif.WSIFPort createDynamicWSIFPort(Definition def, Service service, Port port)
          Create dynamic port instance from WSDL model defnition and port.
 java.lang.String deep()
           
private  java.util.ArrayList getAllCustomTypes()
          Get a list of all the custom complexTypes and simpleTypes in the wsdl
 java.util.Iterator getAvailablePortNames()
          Get the names of the available ports
static ExtensionRegistry getCompositeExtensionRegistry()
          Return extension registry that contains ALL declared extensions.
 org.apache.wsif.WSIFMessage getContext()
          Gets the context information for this WSIFService.
private  java.util.Iterator getDefaultTypeMappings()
          Get a list of all the default mappings for complexTypes and simpleTypes in the wsdl
 Definition getDefinition()
          Get the Definition object representing the wsdl document
static org.apache.wsif.spi.WSIFProvider getDynamicWSIFProvider(java.lang.String namespaceURI)
          Deprecated. this method is replaced by the getProvider method in the org.apache.util.WSIFPluggableProviders class
 org.apache.wsif.WSIFPort getPort()
          Returns an appropriate WSIFPort for the portType that this factory supports.
 org.apache.wsif.WSIFPort getPort(java.lang.String portName)
          Return dynamic port instance selected by port name.
private  PortType getPortTypeFromPortName(java.lang.String portName)
          Create a PortType object from the name of a port
 java.lang.Object getStub(java.lang.Class iface)
          Get the dynamic proxy that will implement the interface iface
 java.lang.Object getStub(java.lang.String portName, java.lang.Class iface)
          Get the dynamic proxy that will implement the interface iface for the port portName.
private  void init(Definition def, Service service, PortType portType)
           
private  void initialiseTypeMappings()
          Initialize default mappings between custom complex types and simple types and Java classes.
 void mapPackage(java.lang.String namespace, java.lang.String packageName)
          Add an association between a namespace URI and and a Java package.
 void mapType(javax.xml.namespace.QName xmlType, java.lang.Class javaType)
          Add association between XML and Java type.
private  void mapType(javax.xml.namespace.QName xmlType, java.lang.Class javaType, boolean force)
          Add an association between XML and Java type.
static void setAutoLoadProviders(boolean b)
          Deprecated. this method is replaced by the setAutoLoadProviders method in the org.apache.util.WSIFPluggableProviders class
 void setContext(org.apache.wsif.WSIFMessage context)
          Sets the context information for this WSIFService.
static void setDynamicWSIFProvider(java.lang.String providerNamespaceURI, org.apache.wsif.spi.WSIFProvider provider)
          Deprecated. this method is replaced by the overrideDefaultProvider method in the org.apache.util.WSIFPluggableProviders class
 void setPreferredPort(java.lang.String portName)
          Set the preferred port
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

providersExtRegs

private static PrivateCompositeExtensionRegistry providersExtRegs

def

private Definition def

service

private Service service

portType

private PortType portType

myPortsArr

private Port[] myPortsArr

myPortsMap

private java.util.Map myPortsMap

typeMap

private org.apache.wsif.providers.WSIFDynamicTypeMap typeMap

typeMapInitialised

private boolean typeMapInitialised

preferredPort

private java.lang.String preferredPort

typeReg

private java.util.Map typeReg

chosenPort

private Port chosenPort

context

private org.apache.wsif.WSIFMessage context
Constructor Detail

WSIFServiceImpl

WSIFServiceImpl(java.lang.String wsdlLoc,
                java.lang.String serviceNS,
                java.lang.String serviceName,
                java.lang.String portTypeNS,
                java.lang.String portTypeName)
          throws org.apache.wsif.WSIFException
Create a WSIF service instance from WSDL document URL.
If serviceName or serviceNS is null, then WSDL document must have exactly one service in it.
If portTypeName or portTypeNS is null, then WSDL document must have exactly one portType in it and all ports of the selected service must implement the same portType.
NOTE: The equivalent org.apache.wsif.WSIFServiceFactory.getService method should be used to create a WSIFService.


WSIFServiceImpl

WSIFServiceImpl(java.lang.String wsdlLoc,
                java.lang.ClassLoader cl,
                java.lang.String serviceNS,
                java.lang.String serviceName,
                java.lang.String portTypeNS,
                java.lang.String portTypeName)
          throws org.apache.wsif.WSIFException
Create a WSIF service instance from WSDL document URL using a ClassLoader to find local resources.
If serviceName or serviceNS is null, then WSDL document must have exactly one service in it.
If portTypeName or portTypeNS is null, then WSDL document must have exactly one portType in it and all ports of the selected service must implement the same portType.
NOTE: The equivalent org.apache.wsif.WSIFServiceFactory.getService method should be used to create a WSIFService.


WSIFServiceImpl

WSIFServiceImpl(Definition def)
          throws org.apache.wsif.WSIFException
Create a WSIF service instance
NOTE: The equivalent org.apache.wsif.WSIFServiceFactory.getService method should be used to create a WSIFService.


WSIFServiceImpl

WSIFServiceImpl(Definition def,
                Service service)
          throws org.apache.wsif.WSIFException
Create a WSIF service instance
NOTE: The equivalent org.apache.wsif.WSIFServiceFactory.getService method should be used to create a WSIFService.


WSIFServiceImpl

WSIFServiceImpl(Definition def,
                Service service,
                PortType portType)
          throws org.apache.wsif.WSIFException
Create a WSIF service instance
NOTE: The equivalent org.apache.wsif.WSIFServiceFactory.getService method should be used to create a WSIFService.

Method Detail

copyInitializedService

private void copyInitializedService(WSIFServiceImpl svc)
Copy the "read-only" parts of an initialized WSIFServiceImpl


setPreferredPort

public void setPreferredPort(java.lang.String portName)
                      throws org.apache.wsif.WSIFException
Set the preferred port

Specified by:
setPreferredPort in interface org.apache.wsif.WSIFService

getPortTypeFromPortName

private PortType getPortTypeFromPortName(java.lang.String portName)
                                  throws org.apache.wsif.WSIFException
Create a PortType object from the name of a port


getAvailablePortNames

public java.util.Iterator getAvailablePortNames()
                                         throws org.apache.wsif.WSIFException
Get the names of the available ports

Specified by:
getAvailablePortNames in interface org.apache.wsif.WSIFService

createDynamicWSIFPort

private org.apache.wsif.WSIFPort createDynamicWSIFPort(Definition def,
                                                       Service service,
                                                       Port port)
                                                throws org.apache.wsif.WSIFException
Create dynamic port instance from WSDL model defnition and port.


getPort

public org.apache.wsif.WSIFPort getPort()
                                 throws org.apache.wsif.WSIFException
Description copied from interface: org.apache.wsif.WSIFService
Returns an appropriate WSIFPort for the portType that this factory supports. If the service had multiple ports, which one is returned depends on the specific factory - the factory implementation may use whatever heuristic it feels like to select an "appropriate" one.

Specified by:
getPort in interface org.apache.wsif.WSIFService

getPort

public org.apache.wsif.WSIFPort getPort(java.lang.String portName)
                                 throws org.apache.wsif.WSIFException
Return dynamic port instance selected by port name.

Specified by:
getPort in interface org.apache.wsif.WSIFService

mapType

public void mapType(javax.xml.namespace.QName xmlType,
                    java.lang.Class javaType)
             throws org.apache.wsif.WSIFException
Add association between XML and Java type.

Specified by:
mapType in interface org.apache.wsif.WSIFService

mapType

private void mapType(javax.xml.namespace.QName xmlType,
                     java.lang.Class javaType,
                     boolean force)
              throws org.apache.wsif.WSIFException
Add an association between XML and Java type.


mapPackage

public void mapPackage(java.lang.String namespace,
                       java.lang.String packageName)
                throws org.apache.wsif.WSIFException
Add an association between a namespace URI and and a Java package.

Specified by:
mapPackage in interface org.apache.wsif.WSIFService

getDynamicWSIFProvider

public static org.apache.wsif.spi.WSIFProvider getDynamicWSIFProvider(java.lang.String namespaceURI)
Deprecated. this method is replaced by the getProvider method in the org.apache.util.WSIFPluggableProviders class


setDynamicWSIFProvider

public static void setDynamicWSIFProvider(java.lang.String providerNamespaceURI,
                                          org.apache.wsif.spi.WSIFProvider provider)
Deprecated. this method is replaced by the overrideDefaultProvider method in the org.apache.util.WSIFPluggableProviders class


setAutoLoadProviders

public static void setAutoLoadProviders(boolean b)
Deprecated. this method is replaced by the setAutoLoadProviders method in the org.apache.util.WSIFPluggableProviders class


getStub

public java.lang.Object getStub(java.lang.String portName,
                                java.lang.Class iface)
                         throws org.apache.wsif.WSIFException
Get the dynamic proxy that will implement the interface iface for the port portName.

Specified by:
getStub in interface org.apache.wsif.WSIFService

getStub

public java.lang.Object getStub(java.lang.Class iface)
                         throws org.apache.wsif.WSIFException
Get the dynamic proxy that will implement the interface iface

Specified by:
getStub in interface org.apache.wsif.WSIFService

addExtensionRegistry

public static void addExtensionRegistry(ExtensionRegistry reg)
Add new WSDL model extension registry that is shared by all dynamic WSIF providers.


getCompositeExtensionRegistry

public static ExtensionRegistry getCompositeExtensionRegistry()
Return extension registry that contains ALL declared extensions. This is special registry that does not allow to register serializers but only to add new extension registreis through addExtensionRegistry method.


init

private void init(Definition def,
                  Service service,
                  PortType portType)
           throws org.apache.wsif.WSIFException

getAllCustomTypes

private java.util.ArrayList getAllCustomTypes()
Get a list of all the custom complexTypes and simpleTypes in the wsdl


getDefaultTypeMappings

private java.util.Iterator getDefaultTypeMappings()
Get a list of all the default mappings for complexTypes and simpleTypes in the wsdl


initialiseTypeMappings

private void initialiseTypeMappings()
                             throws org.apache.wsif.WSIFException
Initialize default mappings between custom complex types and simple types and Java classes.


checkPortTypeInformation

private void checkPortTypeInformation(Definition def,
                                      PortType portType)
                               throws org.apache.wsif.WSIFException
Check PortType information is consistent. This method can be updated when new operation types are supported.


checkWSDLForWSIF

private void checkWSDLForWSIF(Definition def)
                       throws org.apache.wsif.WSIFException

checkWSDL

private void checkWSDL(Definition def)
                throws WSDLException
Check WSDL defintion to make sure it does not contain undefined elements (typical case is referncing not defined portType).

NOTE: check is done only for curent document and not recursively for imported ones (they may be invalid but this port factory may not need them...).


getDefinition

public Definition getDefinition()
Get the Definition object representing the wsdl document

Specified by:
getDefinition in interface org.apache.wsif.WSIFService

getContext

public org.apache.wsif.WSIFMessage getContext()
                                       throws org.apache.wsif.WSIFException
Gets the context information for this WSIFService.

Specified by:
getContext in interface org.apache.wsif.WSIFService

setContext

public void setContext(org.apache.wsif.WSIFMessage context)
Sets the context information for this WSIFService.

Specified by:
setContext in interface org.apache.wsif.WSIFService

deep

public java.lang.String deep()