You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ja...@apache.org on 2005/06/30 19:49:35 UTC
svn commit: r208651 - in
/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client:
CallImpl.java DispatchImpl.java Service.java ServiceImpl.java
Author: jayachandra
Date: Thu Jun 30 10:49:34 2005
New Revision: 208651
URL: http://svn.apache.org/viewcvs?rev=208651&view=rev
Log: (empty)
Added:
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/CallImpl.java
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/DispatchImpl.java
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/ServiceImpl.java
Removed:
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/Service.java
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/CallImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/CallImpl.java?rev=208651&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/CallImpl.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/CallImpl.java Thu Jun 30 10:49:34 2005
@@ -0,0 +1,380 @@
+/**
+ *
+ */
+package org.apache.axis.jaxrpc.client;
+
+import java.rmi.RemoteException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+import javax.xml.rpc.Binding;
+import javax.xml.rpc.JAXRPCContext;
+import javax.xml.rpc.JAXRPCException;
+import javax.xml.rpc.ParameterMode;
+import javax.xml.rpc.soap.SOAPFaultException;
+
+/**
+ * @author sunja07
+ *
+ */
+public class CallImpl extends BindingProviderImpl implements javax.xml.rpc.Call {
+
+ /**
+ *
+ */
+ public CallImpl() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * Method isParameterAndReturnSpecRequired
+ * Indicates whether addParameter and setReturnType methods are to be
+ * invoked to specify the parameter and return type specification for a
+ * specific operation.
+ * @param operationName Qualified name of the operation
+ * @return Returns true if the Call implementation class requires
+ * addParameter and setReturnType to be invoked in the client code for
+ * the specified operation. This method returns false otherwise.
+ * @throws java.lang.IllegalArgumentException - If invalid operation name
+ * is specified
+ */
+ public boolean isParameterAndReturnSpecRequired(QName operationName)
+ throws IllegalArgumentException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ /**
+ * Method addParameter
+ * Adds a parameter type and mode for a specific operation. Note that the
+ * client code may not call any addParameter and setReturnType methods
+ * before calling the invoke method. In this case, the Call implementation
+ * class determines the parameter types by using reflection on parameters,
+ * using the WSDL description and configured type mapping registry.
+ * @param paramName Name of the parameter
+ * @param xmlType XML type of the parameter
+ * @param parameterMode Mode of the parameter-whether ParameterMode.IN,
+ * ParameterMode.OUT, or ParameterMode.INOUT
+ * @throws javax.xml.rpc.JAXRPCException This exception may be thrown if
+ * the method isParameterAndReturnSpecRequired returns false for this
+ * operation.
+ * @throws java.lang.IllegalArgumentException If any illegal parameter
+ * name or XML type is specified
+ */
+ public void addParameter(String paramName, QName xmlType,
+ ParameterMode parameterMode) throws JAXRPCException,
+ IllegalArgumentException {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method addParameter
+ * Adds a parameter type and mode for a specific operation. This method is
+ * used to specify the Java type for either OUT or INOUT parameters.
+ * @param paramName Name of the parameter
+ * @param xmlType XML type of the parameter
+ * @param javaType Java class of the parameter
+ * @param parameterMode Mode of the parameter-whether ParameterMode.IN,
+ * OUT or INOUT
+ * @throws java.lang.IllegalArgumentException If any illegal parameter
+ * name or XML type is specified
+ * @throws java.lang.UnsupportedOperationException If this method is not
+ * supported
+ * @throws javax.xml.rpc.JAXRPCException
+ * 1.This exception may be thrown if this method is invoked when the
+ * method isParameterAndReturnSpecRequired returns false.
+ * 2.If specified XML type and Java type mapping is not valid. For
+ * example, TypeMappingRegistry has no serializers for this mapping.
+ */
+ public void addParameter(String paramName, QName xmlType, Class javaType,
+ ParameterMode parameterMode) throws IllegalArgumentException,
+ UnsupportedOperationException, JAXRPCException {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method getParameterTypeByName
+ * Gets the XML type of a parameter by name
+ * @param paramName Name of the parameter
+ * @return Returns XML type for the specified parameter
+ */
+ public QName getParameterTypeByName(String paramName) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method setReturnType
+ * Sets the return type for a specific operation. Invoking
+ * setReturnType(null) removes the return type for this Call object.
+ * @param xmlType XML data type of the return value
+ * @throws javax.xml.rpc.JAXRPCException This exception may be thrown when
+ * the method isParameterAndReturnSpecRequired returns false.
+ * @throws java.lang.IllegalArgumentException If an illegal XML type is
+ * specified
+ */
+ public void setReturnType(QName xmlType) throws JAXRPCException,
+ IllegalArgumentException, UnsupportedOperationException {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method setReturnType
+ * Sets the return type for a specific operation.
+ * @param xmlType XML data type of the return value
+ * @param javaType Java Class of the return value
+ * @throws java.lang.UnsupportedOperationException If this method is not
+ * supported
+ * @throws java.lang.IllegalArgumentException If an illegal XML type is
+ * specified
+ * @throws javax.xml.rpc.JAXRPCException
+ * 1. This exception may be thrown if this method is invoked when the
+ * method isParameterAndReturnSpecRequired returns false.
+ * 2. If XML type and Java type cannot be mapped using the standard type
+ * mapping or TypeMapping registry
+ */
+ public void setReturnType(QName xmlType, Class javaType)
+ throws UnsupportedOperationException, IllegalArgumentException,
+ JAXRPCException {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method getReturnType
+ * Gets the return type for a specific operation
+ * @return Returns the XML type for the return value
+ */
+ public QName getReturnType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method removeAllParameters
+ * Removes all specified parameters from this Call instance. Note that
+ * this method removes only the parameters and not the return type. The
+ * setReturnType(null) is used to remove the return type.
+ * @throws javax.xml.rpc.JAXRPCException This exception may be thrown If
+ * this method is called when the method isParameterAndReturnSpecRequired
+ * returns false for this Call's operation.
+ */
+ public void removeAllParameters() throws JAXRPCException {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method getOperationName
+ * Gets the name of the operation to be invoked using this Call instance.
+ * @return Qualified name of the operation
+ */
+ public QName getOperationName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method setOperationName
+ * Sets the name of the operation to be invoked using this Call instance.
+ * @param operationName QName of the operation to be invoked using the
+ * Call instance
+ */
+ public void setOperationName(QName operationName) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method getPortTypeName
+ * Gets the qualified name of the port type.
+ * @return Qualified name of the port type
+ */
+ public QName getPortTypeName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method setPortTypeName
+ * Sets the qualified name of the port type.
+ * @param portType Qualified name of the port type
+ */
+ public void setPortTypeName(QName portType) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method setTargetEndpointAddress
+ * Sets the address of the target service endpoint. This address must
+ * correspond to the transport specified in the binding for this Call
+ * instance.
+ * @param address Address of the target service endpoint; specified as an
+ * URI
+ */
+ public void setTargetEndpointAddress(String address) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method getTargetEndpointAddress
+ * Gets the address of a target service endpoint.
+ * @return Address of the target service endpoint as an URI
+ */
+ public String getTargetEndpointAddress() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method setProperty
+ * Sets the value for a named property. JAX-RPC specification specifies a
+ * standard set of properties that may be passed to the Call.setProperty
+ * method.
+ * @param name Name of the property
+ * @param value Value of the property
+ * @throws javax.xml.rpc.JAXRPCException
+ * 1. If an optional standard property name is specified, however this
+ * Call implementation class does not support the configuration of this
+ * property.
+ * 2. If an invalid (or unsupported) property name is specified or if a
+ * value of mismatched property type is passed.
+ * 3. If there is any error in the configuration of a valid property.
+ */
+ public void setProperty(String name, Object value) throws JAXRPCException {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method getProperty
+ * Gets the value of a named property.
+ * @param name Name of the property
+ * @return Value of the named property
+ * @throws javax.xml.rpc.JAXRPCException if an invalid or unsupported
+ * property name is passed.
+ */
+ public Object getProperty(String name) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method removeProperty
+ * Removes a named property.
+ * @param name Name of the property
+ * @throws javax.xml.rpc.JAXRPCException if an invalid or unsupported
+ * property name is passed.
+ */
+ public void removeProperty(String name) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method getPropertyNames
+ * Gets the names of configurable properties supported by this Call object.
+ * @return Iterator for the property names
+ */
+ public Iterator getPropertyNames() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method invoke
+ * Invokes a specific operation using a synchronous request-response
+ * interaction mode.
+ * @param inputParams Object[]--Parameters for this invocation. This
+ * includes only the input params
+ * @return Returns the return value or null
+ * @throws java.rmi.RemoteException if there is any error in the remote
+ * method invocation
+ * @throws javax.xml.rpc.soap.SOAPFaultException Indicates a SOAP fault
+ * @throws javax.xml.rpc.JAXRPCException
+ * 1. If there is an error in the configuration of the Call object
+ * 2. If inputParams do not match the required parameter set (as specified
+ * through the addParameter invocations or in the corresponding WSDL)
+ * 3. If parameters and return type are incorrectly specified
+ */
+ public Object invoke(Object[] inputParams) throws RemoteException,
+ SOAPFaultException, JAXRPCException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method invoke
+ * Invokes a specific operation using a synchronous request-response
+ * interaction mode.
+ * @param operationName QName of the operation
+ * @param inputParams Object[]--Parameters for this invocation. This
+ * includes only the input params.
+ * @return Returns the return value or null
+ * @throws java.rmi.RemoteException if there is any error in the remote
+ * method invocation
+ * @throws javax.xml.rpc.soap.SOAPFaultException Indicates a SOAP fault
+ * @throws javax.xml.rpc.JAXRPCException
+ * 1. If there is an error in the configuration of the Call object
+ * 2. If inputParams do not match the required parameter set (as specified
+ * through the addParameter invocations or in the corresponding WSDL)
+ * 3. If parameters and return type are incorrectly specified
+ */
+ public Object invoke(QName operationName, Object[] inputParams)
+ throws RemoteException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method invokeOneWay
+ * @param inputParams Object[]--Parameters for this invocation. This
+ * includes only the input params.
+ * @throws javax.xml.rpc.JAXRPCException if there is an error in the
+ * configuration of the Call object (example: a non-void return type has
+ * been incorrectly specified for the one-way call) or if there is any
+ * error during the invocation of the one-way remote call
+ */
+ public void invokeOneWay(Object[] inputParams) throws JAXRPCException {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method getOutputParams
+ * Returns a Map of {name, value} for the output parameters of the last
+ * invoked operation. The parameter names in the returned Map are of type
+ * java.lang.String.
+ * @return Map Output parameters for the last Call.invoke(). Empty Map is
+ * returned if there are no output parameters.
+ * @throws JAXRPCException If this method is invoked for a one-way
+ * operation or is invoked before any invoke method has been called.
+ */
+ public Map getOutputParams() throws JAXRPCException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method getOutputValues
+ * Returns a List values for the output parameters of the last invoked
+ * operation.
+ * @return java.util.List Values for the output parameters. An empty List
+ * is returned if there are no output values.
+ * @throws JAXRPCException If this method is invoked for a one-way
+ * operation or is invoked before any invoke method has been called.
+ */
+ public List getOutputValues() throws JAXRPCException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/DispatchImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/DispatchImpl.java?rev=208651&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/DispatchImpl.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/DispatchImpl.java Thu Jun 30 10:49:34 2005
@@ -0,0 +1,106 @@
+package org.apache.axis.jaxrpc.client;
+
+import java.rmi.RemoteException;
+import java.util.concurrent.Future;
+
+import javax.xml.rpc.AsyncHandler;
+import javax.xml.rpc.Dispatch;
+import javax.xml.rpc.JAXRPCException;
+import javax.xml.rpc.Response;
+
+public class DispatchImpl extends BindingProviderImpl implements Dispatch {
+
+
+ public DispatchImpl() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * Method invoke
+ * Invoke a service operation synchronously. The client is responsible
+ * for ensuring that the msg object when marshalled is formed according
+ * to the requirements of the protocol binding in use.
+ *
+ * @param msg - An object that will form the message or payload of the
+ * message used to invoke the operation.
+ * @return The response message or message payload to the operation
+ * invocation.
+ * @throws java.rmi.RemoteException - If a fault occurs during
+ * communication with the service
+ * @throws JAXRPCException - If there is any error in the configuration
+ * of the Dispatch instance.
+ */
+ public Object invoke(Object msg) throws RemoteException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method invokeAsync
+ * Invoke a service operation asynchronously. The method returns without
+ * waiting for the response to the operation invocation, the results of
+ * the operation are obtained by polling the returned Response. The
+ * client is responsible for ensuring that the msg object when marshalled
+ * is formed according to the requirements of the protocol binding in use.
+ *
+ * @param msg - An object that will form the message or payload of the
+ * message used to invoke the operation.
+ * @return The response message or message payload to the operation
+ * invocation.
+ * @throws JAXRPCException - If there is any error in the configuration
+ * of the Dispatch instance.
+ */
+ public Response invokeAsync(Object msg) throws JAXRPCException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method invokeAsync
+ * Invoke a service operation asynchronously. The method returns without
+ * waiting for the response to the operation invocation, the results of
+ * the operation are communicated to the client via the passed in handler.
+ * The client is responsible for ensuring that the msg object when
+ * marshalled is formed according to the requirements of the protocol
+ * binding in use.
+ *
+ * @param msg - An object that will form the message or payload of the
+ * message used to invoke the operation.
+ * @param handler - The handler object that will receive the response to
+ * the operation invocation.
+ * @return A Future object that may be used to check the status of the
+ * operation invocation. This object must not be used to try to obtain
+ * the results of the operation - the object returned from Future.get()
+ * is implementation dependent and any use of it will result in
+ * non-portable behaviour.
+ * @throws JAXRPCException - If there is any error in the configuration
+ * of the Dispatch instance
+ */
+ public Future invokeAsync(Object msg, AsyncHandler handler)
+ throws JAXRPCException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method invokeOneWay
+ * Invokes a service operation using the one-way interaction mode. The
+ * operation invocation is logically non-blocking, subject to the
+ * capabilities of the underlying protocol, no results are returned.
+ * When the protocol in use is SOAP/HTTP, this method must block until an
+ * HTTP response code has been received or an error occurs. The client is
+ * responsible for ensuring that the msg object when marshalled is formed
+ * according to the requirements of the protocol binding in use.
+ *
+ * @param msg - An object that will form the message or payload of the
+ * message used to invoke the operation.
+ * @throws JAXRPCException - If there is any error in the configuration
+ * of the Dispatch instance or if an error occurs during the invocation.
+ */
+ public void invokeOneWay(Object msg) throws JAXRPCException {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/ServiceImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/ServiceImpl.java?rev=208651&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/ServiceImpl.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/ServiceImpl.java Thu Jun 30 10:49:34 2005
@@ -0,0 +1,365 @@
+package org.apache.axis.jaxrpc.client;
+
+import java.net.URI;
+import java.net.URL;
+import java.rmi.Remote;
+import java.util.Iterator;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.namespace.QName;
+import javax.xml.rpc.Call;
+import javax.xml.rpc.Dispatch;
+import javax.xml.rpc.ServiceException;
+import javax.xml.rpc.Service.Mode;
+import javax.xml.rpc.encoding.TypeMappingRegistry;
+import javax.xml.rpc.handler.HandlerRegistry;
+import javax.xml.rpc.security.SecurityConfiguration;
+
+/**
+ * @author sunja07
+ *
+ */
+public class ServiceImpl implements javax.xml.rpc.Service {
+
+ private HandlerRegistry handlerRegistry;
+
+ private TypeMappingRegistry typeMappingRegistry;
+
+ public static boolean JAXB_USAGE = true;
+
+ public String wsdlLoc = null;
+ /**
+ * Method createCall
+ * Creates a Call object not associated with specific operation or target
+ * service endpoint. This Call object needs to be configured using the
+ * setter methods on the Call interface.
+ * @return Call object
+ * @throws ServiceException If any error in the creation of the Call object
+ */
+ public Call createCall() throws ServiceException {
+ Call call = new CallImpl();
+ return call;
+ }
+
+ /**
+ * Method createCall
+ * Creates a Call instance.
+ * @param portName Qualified name for the target service endpoint
+ * @param operationName Qualified Name of the operation for which this
+ * Call object is to be created.
+ * @return Call instance
+ * @throws ServiceException If any error in the creation of the Call object
+ */
+ public Call createCall(QName portName, QName operationName) throws
+ ServiceException {
+ Call call = createCall(portName);
+ call.setOperationName(operationName);
+
+ return call;
+ }
+
+ /**
+ * Method createCall
+ * Creates a Call instance.
+ * @param portName Qualified name for the target service endpoint
+ * @param operationName Name of the operation for which this Call object
+ * is to be created.
+ * @return Call instance
+ * @throws ServiceException If any error in the creation of the Call
+ * object
+ */
+ public Call createCall(QName portName, String operationName) throws
+ ServiceException {
+ QName dummyQNameForOperationName = new QName(operationName);
+ return createCall(portName, dummyQNameForOperationName);
+ }
+
+ /**
+ * Method createCall
+ * Creates a Call instance.
+ * @param portName Qualified name for the target service endpoint
+ * @return Call instance
+ * @throws ServiceException If any error in the creation of the Call
+ * object
+ */
+ public Call createCall(QName portName) throws ServiceException {
+
+ Call call = new CallImpl();
+
+ //portName and portType name needn't be matching. So...
+ QName portTypeName = getPortTypeNameForPort(portName);
+ call.setPortTypeName(portTypeName);
+
+
+ prefillPortFromWSDL(portName);
+ return null;
+ }
+
+ public QName getPortTypeNameForPort(QName portName) {
+ //TODO Corresponding to a portName we can avail a binding linkage and
+ //from the binding we can get the unique portType it binds
+
+ //but for now. Lets assume our portName is exactly our portTypeName
+ //Will revisit once WSDL handling mechanism is in place.
+ return portName;
+ }
+
+ public void prefillPortFromWSDL(QName portName) {
+ //TODO Actually there is lot amount of info that can be prefetched
+ //from wsdl for a given port. But WSDL handling is yet to be thought
+ //over and finalized. Once that done, we will prefill as much info
+ //from wsdl as we can in this method.
+ //From port, we can get targetEndPointAddress, binding and from
+ //binding the portType information. Using which may be the call
+ //object can be better configured with parameters and returnType
+ //info.
+ }
+
+ // This involves generics, needs a revisit
+ /**
+ * Method createDispatch
+ * Creates a Dispatch instance for use with objects of the users choosing.
+ *
+ * @param portName - Qualified name for the target service endpoint
+ * @param type - The class of object used to messages or message payloads.
+ * Implementations are required to support javax.xml.transform.Source and
+ * javax.xml.soap.SOAPMessage.
+ * @param mode - Controls whether the created dispatch instance is message or
+ * payload oriented, i.e. whether the user will work with complete protocol
+ * messages or message payloads. E.g. when using the SOAP protocol, this
+ * parameter controls whether the user will work with SOAP messages or the
+ * contents of a SOAP body. Mode must be MESSAGE when type is SOAPMessage.
+ * @return Dispatch instance
+ * @throws ServiceException - If any error in the creation of the Dispatch
+ * object
+ * @see javax.xml.transform.Source, javax.xml.soap.SOAPMessage
+ */
+ public <T> Dispatch<T> createDispatch(QName portName, Class<T> type,
+ Mode mode) throws ServiceException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ // This involves generics, needs a revisit
+ /**
+ * Method createDispatch
+ * Creates a Dispatch instance for use with JAXB generated objects.
+ *
+ * @param portName - Qualified name for the target service endpoint
+ * @param context - The JAXB context used to marshall and unmarshall
+ * messages or message payloads.
+ * @param mode - Controls whether the created dispatch instance is message
+ * or payload oriented, i.e. whether the user will work with complete
+ * protocol messages or message payloads. E.g. when using the SOAP
+ * protocol, this parameter controls whether the user will work with
+ * SOAP messages or the contents of a SOAP body.
+ * @return Dispatch instance
+ * @throws ServiceException - If any error in the creation of the Dispatch
+ * object
+ * @see JAXBContext
+ */
+ public Dispatch<Object> createDispatch(QName portName, JAXBContext context,
+ Mode mode) throws ServiceException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method createPort
+ * Creates a new port for the service. Ports created in this way contain
+ * no WSDL port type information and can only be used for creating Dispatch
+ * and Call instances.
+ * @param portName Qualified name for the target service endpoint
+ * @param bindingId A URI identifier of a binding.
+ * @param endpointAddress Address of the target service endpoint as a URI
+ * @throws ServiceException If any error in the creation of the port
+ * @see javax.xml.rpc.soap.SOAPBinding.SOAP11HTTP_BINDING
+ */
+ public void createPort(QName portName, URI bindingId,
+ String endpointAddress) throws ServiceException {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Method getCalls
+ * Gets an array of preconfigured Call objects for invoking operations on
+ * the specified port. There is one Call object per operation that can be
+ * invoked on the specified port. Each Call object is pre-configured and
+ * does not need to be configured using the setter methods on Call
+ * interface.
+ * Each invocation of the getCalls method returns a new array of
+ * preconfigured Call objects
+ * This method requires the Service implementation class to have access to
+ * the WSDL related metadata.
+ * @param portName Qualified name for the target service endpoint
+ * @return Call[] Array of pre-configured Call objects
+ * @throws ServiceException If this Service class does not have access to
+ * the required WSDL metadata or if an illegal portName is specified.
+ */
+ public Call[] getCalls(QName portName) throws ServiceException {
+
+ //Logic here is that corresponding to this portName
+ //identify the portType and within it identify all the
+ //operations in it.
+ //For each operation, create a call object, configure it and
+ //add it to an array of call objects. Configuring of call
+ //objects would be typically setting the TargetEndPointAddress,
+ //setting the operationName, portName, portType, adding
+ //parameters and returnType.
+
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method getHandlerRegistry
+ * Returns the configured HandlerRegistry instance for this Service
+ * instance.
+ * @return HandlerRegistry
+ * @throws java.lang.UnsupportedOperationException if the Service class
+ * does not support the configuration of a HandlerRegistry
+ */
+ public HandlerRegistry getHandlerRegistry() throws
+ UnsupportedOperationException {
+ //Actually at the deployment configuration time positively the handler
+ //registry must be populated with handler chain info.
+ return handlerRegistry;
+ }
+
+ /**
+ * Method getPort
+ * The getPort method returns either an instance of a generated stub
+ * implementation class or a dynamic proxy. The parameter
+ * serviceEndpointInterface specifies the service endpoint interface that
+ * is supported by the returned stub or proxy. In the implementation of
+ * this method, the JAX-RPC runtime system takes the responsibility of
+ * selecting a protocol binding (and a port) and configuring the stub
+ * accordingly. The returned Stub instance should not be reconfigured by
+ * the client.
+ * @param serviceEndpointInterface Service endpoint interface
+ * @return Stub instance or dynamic proxy that supports the specified
+ * service endpoint interface
+ * @throws ServiceException This exception is thrown in the following
+ * cases:
+ * 1. If there is an error during creation of stub instance or dynamic
+ * proxy
+ * 2. If there is any missing WSDL metadata as required by this method
+ * 3. Optionally, if an illegal serviceEndpointInterface is specified
+ */
+ public Remote getPort(Class serviceEndpointInterface) throws
+ ServiceException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method getPort
+ * The getPort method returns either an instance of a generated stub
+ * implementation class or a dynamic proxy. A service client uses this
+ * dynamic proxy to invoke operations on the target service endpoint. The
+ * serviceEndpointInterface specifies the service endpoint interface that
+ * is supported by the created dynamic proxy or stub instance.
+ * @param portName Qualified name of the service endpoint in the WSDL
+ * service description
+ * @param serviceEndpointInterface Service endpoint interface supported by
+ * the dynamic proxy or stub instance
+ * @return java.rmi.Remote Stub instance or dynamic proxy that supports the
+ * specified service endpoint interface
+ * @throws ServiceException This exception is thrown in the following
+ * cases:
+ * 1. If there is an error in creation of the dynamic proxy or stub
+ * instance
+ * 2. If there is any missing WSDL metadata as required by this method
+ * 3. Optionally, if an illegal serviceEndpointInterface or portName is
+ * specified
+ * @see java.lang.reflect.Proxy, java.lang.reflect.InvocationHandler
+ */
+ public Remote getPort(QName portName, Class serviceEndpointInterface)
+ throws ServiceException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method getPorts
+ * Returns an Iterator for the list of QNames of service endpoints grouped
+ * by this service
+ * @return Returns java.util.Iterator with elements of type
+ * javax.xml.namespace.QName
+ * @throws ServiceException If this Service class does not have access to
+ * the required WSDL metadata
+ */
+ public Iterator getPorts() throws ServiceException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method getSecurityConfiguration
+ * Gets the SecurityConfiguration for this Service object. The returned
+ * SecurityConfiguration instance is used to initialize the security
+ * configuration of BindingProvider instance created using this Service
+ * object.
+ * @return The SecurityConfiguration for this Service object.
+ * @throws java.lang.UnsupportedOperationException if the Service class
+ * does not support the configuration of SecurityConfiguration.
+ */
+ public SecurityConfiguration getSecurityConfiguration() throws
+ UnsupportedOperationException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method getServiceName
+ * Gets the name of this service.
+ * @return Qualified name of this service
+ */
+ public QName getServiceName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * Method getTypeMappingRegistry
+ * Gets the TypeMappingRegistry for this Service object. The returned
+ * TypeMappingRegistry instance is pre-configured to support the standard
+ * type mapping between XML and Java types types as required by the
+ * JAX-RPC specification.
+ * @return The TypeMappingRegistry for this Service object.
+ * @throws java.lang.UnsupportedOperationException if the Service class
+ * does not support the configuration of TypeMappingRegistry.
+ */
+ public TypeMappingRegistry getTypeMappingRegistry() throws
+ UnsupportedOperationException {
+ //If the implementation is using JAXB, we should throw exception
+ //Usage of JAXB might be using a flag. This flag, I feel, is most
+ //appropriate if placed in the way the ServiceFactory itself is
+ //instantiated. ServiceFactory.newInstance(boolean JAXB_USAGE)
+ //The flag can be copied to a boolean value in the Service object
+ //that gets created with sf.createService(...) method.
+
+ if (JAXB_USAGE)
+ throw new UnsupportedOperationException();
+ else
+ return typeMappingRegistry;
+ //But positively at some point of execution flow
+ //typeMappingRegistry must be populated.
+ }
+
+ /**
+ * Method getWSDLDocumentLocation
+ * Gets the location of the WSDL document for this Service.
+ * @return URL for the location of the WSDL document for this service
+ */
+ public URL getWSDLDocumentLocation() {
+ return null;
+ }
+
+ public ServiceImpl() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+}