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 ba...@apache.org on 2006/11/03 20:50:36 UTC
svn commit: r470970 [1/2] - in /webservices/axis2/trunk/java/modules/jaxws:
src/org/apache/axis2/jaxws/description/
src/org/apache/axis2/jaxws/description/impl/
test/org/apache/axis2/jaxws/description/
test/org/apache/axis2/jaxws/description/impl/ test...
Author: barrettj
Date: Fri Nov 3 11:50:33 2006
New Revision: 470970
URL: http://svn.apache.org/viewvc?view=rev&rev=470970
Log:
Additional refactoring to metadata abstraction layer: move implementations to impl package, move javadoc to interfaces from impls,
add annotation-specific getters to Java interfaces
Added:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/DescriptionUtils.java
- copied, changed from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/DescriptionUtils.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java
- copied, changed from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java
- copied, changed from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/FaultDescriptionImpl.java
- copied, changed from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/FaultDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java
- copied, changed from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java
- copied, changed from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java
- copied, changed from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/impl/
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/impl/ServiceDescriptionTests.java
- copied, changed from r470831, webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/ServiceDescriptionTests.java
Removed:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/DescriptionUtils.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/FaultDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/ServiceDescriptionTests.java
Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/DescriptionFactory.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescriptionJava.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescriptionJava.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/FaultDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescriptionJava.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescription.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationProviderImplDescriptionTests.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationServiceImplDescriptionTests.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/ServiceAnnotationTests.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/DescriptionFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/DescriptionFactory.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/DescriptionFactory.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/DescriptionFactory.java Fri Nov 3 11:50:33 2006
@@ -18,20 +18,15 @@
package org.apache.axis2.jaxws.description;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
import java.net.URL;
-import java.util.ArrayList;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
-import javax.jws.WebService;
import javax.xml.namespace.QName;
import org.apache.axis2.description.AxisService;
-import org.apache.axis2.jaxws.ExceptionFactory;
import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
+import org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl;
/**
* Creates the JAX-WS metadata descritpion hierachy from some combinations of
@@ -45,38 +40,19 @@
}
public static ServiceDescription createServiceDescription(URL wsdlURL, QName serviceQName, Class serviceClass) {
- return new ServiceDescriptionImpl(wsdlURL, serviceQName, serviceClass);
+ return DescriptionFactoryImpl.createServiceDescription(wsdlURL, serviceQName, serviceClass);
}
// TODO: Taking an AxisService is only temporary; the AxisService should be created when creating the ServiceDesc
public static ServiceDescription createServiceDescriptionFromServiceImpl(Class serviceImplClass, AxisService axisService) {
- return new ServiceDescriptionImpl(serviceImplClass, axisService);
+ return DescriptionFactoryImpl.createServiceDescriptionFromServiceImpl(serviceImplClass, axisService);
}
//TODO: Determine whether this method is necessary...we may want to always build a
//ServiceDescription based on a particular impl class
public static List<ServiceDescription> createServiceDescriptionFromDBCMap (
HashMap<String, DescriptionBuilderComposite> dbcMap) {
-
- List<ServiceDescription> serviceDescriptionList = new ArrayList<ServiceDescription>();
-
- for (Iterator<DescriptionBuilderComposite> nameIter = dbcMap.values().iterator();
- nameIter.hasNext();) {
- DescriptionBuilderComposite serviceImplComposite = nameIter.next();
- if(isImpl(serviceImplComposite)) {
- // process this impl class
- ServiceDescription serviceDescription = new ServiceDescriptionImpl(dbcMap,
- serviceImplComposite);
- serviceDescriptionList.add(serviceDescription);
- }
- }
-
- //TODO: Process all composites that are WebFaults...current thinking is that
- // since WebFault annotations only exist on exception classes, then they
- // should be processed by themselves, and at this level
-
-
- return serviceDescriptionList;
+ return DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(dbcMap);
}
/**
@@ -87,43 +63,6 @@
* @return
*/
public static ServiceDescription updateEndpoint(ServiceDescription serviceDescription, Class sei, QName portQName, ServiceDescription.UpdateType updateType ) {
- ((ServiceDescriptionImpl)serviceDescription).updateEndpointDescription(sei, portQName, updateType);
- return serviceDescription;
+ return DescriptionFactoryImpl.updateEndpoint(serviceDescription, sei, portQName, updateType);
}
-
- /**
- * Builds a list of DescriptionBuilderComposite which is relevant to the particular
- * class
- * @param List<> A list of DescriptionBuilderComposite objects
- * @param serviceImplName
- * @return List<>
- */
- private static List<DescriptionBuilderComposite> buildRelevantCompositeList(
- List<DescriptionBuilderComposite> compositeList,
- String serviceImplName) {
-
- List<DescriptionBuilderComposite> relevantList = compositeList;
-
- //TODO: Find the composite which represents this serviceImplName
-
- //TODO: Go through input list to find composites relevant to this one and add
- // to 'relevant list'
-
- return relevantList;
- }
-
- /**
- * This method will be used to determine if a given DBC represents a
- * Web service implementation.
- * @param dbc - <code>DescriptionBuilderComposite</code>
- * @return - <code>boolean</code>
- */
- private static boolean isImpl(DescriptionBuilderComposite dbc) {
- if(!dbc.isInterface() && (dbc.getWebServiceAnnot() != null ||
- dbc.getWebServiceProviderAnnot() != null)) {
- return true;
- }
- return false;
- }
-
}
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescription.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescription.java Fri Nov 3 11:50:33 2006
@@ -25,6 +25,37 @@
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.description.AxisService;
+/**
+ * An EndpointDescription corresponds to a particular Service Implementation. It
+ * can correspond to either either a client to that impl or the actual service
+ * impl.
+ *
+ * The EndpointDescription contains information that is relevant to both a
+ * Provider-based and SEI-based (aka Endpoint-based or Java-based) enpdoints.
+ * SEI-based endpoints (whether they have an explicit or implcit SEI) will have
+ * addtional metadata information in an EndpointInterfaceDescription class and
+ * sub-hierachy; Provider-based endpoitns do not have such a hierachy.
+ *
+ * <pre>
+ * <b>EndpointDescription details</b>
+ *
+ * CORRESPONDS TO: The endpoint (both Client and Server)
+ *
+ * AXIS2 DELEGATE: AxisService
+ *
+ * CHILDREN: 0..1 EndpointInterfaceDescription
+ *
+ * ANNOTATIONS:
+ * WebService [181]
+ * WebServiceProvider [224]
+ * ServicMode [224]
+ * BindingType [224]
+ *
+ * WSDL ELEMENTS:
+ * port
+ *
+ * </pre>
+ */
public interface EndpointDescription {
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescriptionJava.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescriptionJava.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescriptionJava.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescriptionJava.java Fri Nov 3 11:50:33 2006
@@ -18,21 +18,29 @@
*/
package org.apache.axis2.jaxws.description;
+import javax.jws.WebService;
+import javax.xml.ws.BindingType;
import javax.xml.ws.Service;
+import javax.xml.ws.ServiceMode;
+import javax.xml.ws.WebServiceProvider;
/**
*
*/
public interface EndpointDescriptionJava {
- public abstract String getAnnoBindingTypeValue();
+ public WebService getAnnoWebService();
+ public WebServiceProvider getAnnoWebServiceProvider();
+ public String getAnnoWebServiceEndpointInterface();
+ public String getAnnoWebServiceName();
+ public String getAnnoWebServicePortName();
+ public String getAnnoWebServiceServiceName();
+ public String getAnnoWebServiceTargetNamespace();
+ public String getAnnoWebServiceWSDLLocation();
- public abstract Service.Mode getAnnoServiceModeValue();
+ public BindingType getAnnoBindingType();
+ public String getAnnoBindingTypeValue();
- public abstract String getAnnoWebServiceEndpointInterface();
- public abstract String getAnnoWebServiceName();
- public abstract String getAnnoWebServicePortName();
- public abstract String getAnnoWebServiceServiceName();
- public abstract String getAnnoWebServiceTargetNamespace();
- public abstract String getAnnoWebServiceWSDLLocation();
+ public ServiceMode getAnnoServiceMode();
+ public Service.Mode getAnnoServiceModeValue();
}
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java Fri Nov 3 11:50:33 2006
@@ -22,6 +22,34 @@
import javax.xml.namespace.QName;
+/**
+ * An EndpointInterfaceDescription corresponds to a particular SEI-based Service
+ * Implementation. It can correspond to either either a client to that impl or
+ * the actual service impl.
+ *
+ * The EndpointInterfaceDescription contains information that is relevant only
+ * to an SEI-based (aka Endpoint-based or Java-based) enpdoint; Provider-based
+ * endpoint, which are not operation based and do not have an associated SEI,
+ * will not have an an EndpointInterfaceDescription class and sub-hierachy.
+ *
+ * <pre>
+ * <b>EndpointInterfaceDescription details</b>
+ *
+ * CORRESPONDS TO: An SEI (on both Client and Server)
+ *
+ * AXIS2 DELEGATE: none
+ *
+ * CHILDREN: 1..n OperationDescription
+ *
+ * ANNOTATIONS:
+ * SOAPBinding [181]
+ *
+ * WSDL ELEMENTS:
+ * portType
+ *
+ * </pre>
+ */
+
public interface EndpointInterfaceDescription {
public abstract EndpointDescription getEndpointDescription();
@@ -32,7 +60,8 @@
public abstract OperationDescription[] getOperationForJavaMethod(String javaMethodName);
public abstract Class getSEIClass();
-
+
+ // TODO: (JLB) These should return a locally defined Enums
public abstract javax.jws.soap.SOAPBinding.ParameterStyle getSoapBindingParameterStyle();
public abstract javax.jws.soap.SOAPBinding.Style getSoapBindingStyle();
public abstract javax.jws.soap.SOAPBinding.Use getSoapBindingUse();
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescriptionJava.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescriptionJava.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescriptionJava.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescriptionJava.java Fri Nov 3 11:50:33 2006
@@ -18,7 +18,10 @@
*/
package org.apache.axis2.jaxws.description;
+import javax.jws.soap.SOAPBinding;
+
public interface EndpointInterfaceDescriptionJava {
+ public SOAPBinding getAnnoSoapBinding();
public abstract javax.jws.soap.SOAPBinding.ParameterStyle getAnnoSoapBindingParameterStyle();
public abstract javax.jws.soap.SOAPBinding.Style getAnnoSoapBindingStyle();
public abstract javax.jws.soap.SOAPBinding.Use getAnnoSoapBindingUse();
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/FaultDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/FaultDescription.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/FaultDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/FaultDescription.java Fri Nov 3 11:50:33 2006
@@ -18,6 +18,30 @@
package org.apache.axis2.jaxws.description;
+/**
+ * A FaultDescription corresponds to a fault that can be thrown from an operation. NOTE this it not
+ * implemented yet!
+ *
+ * FaultDescriptons contain information that is only relevent for and SEI-based service, i.e. one that is invoked via specific
+ * methods. This class does not exist for Provider-based services (i.e. those that specify WebServiceProvider)
+ *
+ * <pre>
+ * <b>OperationDescription details</b>
+ *
+ * CORRESPONDS TO: An exception thrown by an operation on an SEI (on both Client and Server)
+ *
+ * AXIS2 DELEGATE: None
+ *
+ * CHILDREN: None
+ *
+ * ANNOTATIONS:
+ * WebFault [224]
+ *
+ * WSDL ELEMENTS:
+ * fault message
+ *
+ * </pre>
+ */
public interface FaultDescription {
public OperationDescription getOperationDescription();
public String getBeanName();
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java Fri Nov 3 11:50:33 2006
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
package org.apache.axis2.jaxws.description;
import java.lang.reflect.Method;
@@ -23,7 +22,38 @@
import javax.xml.namespace.QName;
import org.apache.axis2.description.AxisOperation;
-
+/**
+ * An OperationDescripton corresponds to a method on an SEI. That SEI could be explicit
+ * (i.e. WebService.endpointInterface=sei.class) or implicit (i.e. public methods on the service implementation
+ * are the contract and thus the implicit SEI). Note that while OperationDescriptions are created on both the client
+ * and service side, implicit SEIs will only occur on the service side.
+ *
+ * OperationDescriptons contain information that is only relevent for and SEI-based service, i.e. one that is invoked via specific
+ * methods. This class does not exist for Provider-based services (i.e. those that specify WebServiceProvider)
+ *
+ * <pre>
+ * <b>OperationDescription details</b>
+ *
+ * CORRESPONDS TO: A single operation on an SEI (on both Client and Server)
+ *
+ * AXIS2 DELEGATE: AxisOperation
+ *
+ * CHILDREN: 0..n ParameterDescription
+ * 0..n FaultDescription (Note: Not fully implemented)
+ *
+ * ANNOTATIONS:
+ * WebMethod [181]
+ * SOAPBinding [181]
+ * Oneway [181]
+ * WebResult [181]
+ * RequestWrapper [224]
+ * ResponseWrapper [224]
+ *
+ * WSDL ELEMENTS:
+ * operation
+ *
+ * </pre>
+ */
public interface OperationDescription {
public EndpointInterfaceDescription getEndpointInterfaceDescription();
public FaultDescription[] getFaultDescriptions();
@@ -61,9 +91,9 @@
public String[] getParamNames();
+ // TODO: (JLB) These should return Enums defined on this interface, not from the Annotation
public javax.jws.soap.SOAPBinding.ParameterStyle getSoapBindingParameterStyle();
public javax.jws.soap.SOAPBinding.Style getSoapBindingStyle();
public javax.jws.soap.SOAPBinding.Use getSoapBindingUse();
-
}
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescriptionJava.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescriptionJava.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescriptionJava.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescriptionJava.java Fri Nov 3 11:50:33 2006
@@ -18,17 +18,29 @@
package org.apache.axis2.jaxws.description;
+import javax.jws.Oneway;
+import javax.jws.WebMethod;
import javax.jws.WebResult;
import javax.jws.WebParam.Mode;
import javax.jws.soap.SOAPBinding;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
public interface OperationDescriptionJava {
public WebResult getAnnoWebResult();
+ public boolean isWebResultAnnotationSpecified();
+ public boolean getAnnoWebResultHeader();
+ public String getAnnoWebResultName();
+ public String getAnnoWebResultPartName();
+ public String getAnnoWebResultTargetNamespace();
+
+ public RequestWrapper getAnnoRequestWrapper();
public String getAnnoRequestWrapperClassName();
public String getAnnoRequestWrapperLocalName();
public String getAnnoRequestWrapperTargetNamespace();
+ public ResponseWrapper getAnnoResponseWrapper();
public String getAnnoResponseWrapperClassName();
public String getAnnoResponseWrapperLocalName();
public String getAnnoResponseWrapperTargetNamespace();
@@ -38,22 +50,20 @@
public javax.jws.soap.SOAPBinding.Style getAnnoSoapBindingStyle();
public javax.jws.soap.SOAPBinding.Use getAnnoSoapBindingUse();
+ public WebMethod getAnnoWebMethod();
public String getAnnoWebMethodAction();
public boolean getAnnoWebMethodExclude();
public String getAnnoWebMethodOperationName();
+ // Note that the WebParam annotation is handled by ParameterDescription. These
+ // WebParam-related methods are simply convenience methods.
public Mode[] getAnnoWebParamModes();
public String[] getAnnoWebParamNames();
public String getAnnoWebParamTargetNamespace(String name);
public String[] getAnnoWebParamTargetNamespaces();
public boolean isAnnoWebParamHeader(String name);
- public boolean isWebResultAnnotationSpecified();
- public boolean getAnnoWebResultHeader();
- public String getAnnoWebResultName();
- public String getAnnoWebResultPartName();
- public String getAnnoWebResultTargetNamespace();
-
+ public Oneway getAnnoOneway();
public boolean isAnnoOneWay();
}
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescription.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescription.java Fri Nov 3 11:50:33 2006
@@ -19,6 +19,35 @@
package org.apache.axis2.jaxws.description;
import javax.jws.WebParam;
+/**
+ * A ParameterDescripton corresponds to parameter to a method on an SEI. That
+ * SEI could be explicit (i.e. WebService.endpointInterface=sei.class) or
+ * implicit (i.e. public methods on the service implementation are the contract
+ * and thus the implicit SEI).
+ *
+ * ParameterDescriptons contain information that is only relevent for and
+ * SEI-based service, i.e. one that is invoked via specific methods. This class
+ * does not exist for Provider-based services (i.e. those that specify
+ * WebServiceProvider)
+ *
+ * <pre>
+ * <b>ParameternDescription details</b>
+ *
+ * CORRESPONDS TO: A parameter to a method on an SEI (on both Client and Server)
+ *
+ * AXIS2 DELEGATE: None
+ *
+ * CHILDREN: None
+ *
+ * ANNOTATIONS:
+ * WebParam [181]
+ *
+ * WSDL ELEMENTS:
+ * message parts
+ *
+ * </pre>
+ *
+ */
public interface ParameterDescription {
// TODO: (JLB) Fix this to not be the WebParam mode
// public enum Mode{IN, OUT, INOUT};
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescription.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescription.java Fri Nov 3 11:50:33 2006
@@ -4,6 +4,43 @@
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.context.ConfigurationContext;
+/**
+ * A ServiceDescription corresponds to a Service under which there can be a
+ * collection of enpdoints. In WSDL 1.1 terms, then, a ServiceDescription
+ * corresponds to a wsdl:Service under which there are one or more wsdl:Port
+ * entries. The ServiceDescription is the root of the metdata abstraction
+ * Description hierachy.
+ *
+ * The Description hierachy is:
+ * <pre>
+ * ServiceDescription
+ * EndpointDescription[]
+ * EndpointInterfaceDescription
+ * OperationDescription[]
+ * ParameterDescription[]
+ * FaultDescription[] (Note: Not implemented yet)
+ *
+ * <b>ServiceDescription details</b>
+ *
+ * CORRESPONDS TO:
+ * On the Client: The JAX-WS Service class or generated subclass.
+ *
+ * On the Server: The Service implementation. Note that there is a 1..1
+ * correspondence between a ServiceDescription and EndpointDescription
+ * on the server side.
+ *
+ * AXIS2 DELEGATE: None
+ *
+ * CHILDREN: 1..n EndpointDescription
+ *
+ * ANNOTATIONS:
+ * None
+ *
+ * WSDL ELEMENTS:
+ * service
+ *
+ * </pre>
+ */
public interface ServiceDescription {
public enum UpdateType {GET_PORT, ADD_PORT, CREATE_DISPATCH}
Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java?view=auto&rev=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java Fri Nov 3 11:50:33 2006
@@ -0,0 +1,148 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.jaxws.description.impl;
+
+/**
+ *
+ */
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.jws.WebService;
+import javax.xml.namespace.QName;
+
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.jaxws.ExceptionFactory;
+import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
+import org.apache.axis2.jaxws.description.ServiceDescription;
+
+/**
+ * Creates the JAX-WS metadata descritpion hierachy from some combinations of
+ * WSDL, Java classes with annotations, and (in the future) deployment
+ * descriptors.
+ */
+public class DescriptionFactoryImpl {
+ /**
+ * A DescrptionFactory can not be instantiated; all methods are static.
+ */
+ private DescriptionFactoryImpl() {
+ }
+
+ public static ServiceDescription createServiceDescription(URL wsdlURL,
+ QName serviceQName, Class serviceClass) {
+ return new ServiceDescriptionImpl(wsdlURL, serviceQName, serviceClass);
+ }
+
+ // TODO: Taking an AxisService is only temporary; the AxisService should be
+ // created when creating the ServiceDesc
+ public static ServiceDescription createServiceDescriptionFromServiceImpl(
+ Class serviceImplClass, AxisService axisService) {
+ return new ServiceDescriptionImpl(serviceImplClass, axisService);
+ }
+
+ // TODO: Determine whether this method is necessary...we may want to always
+ // build a
+ // ServiceDescription based on a particular impl class
+ public static List<ServiceDescription> createServiceDescriptionFromDBCMap(
+ HashMap<String, DescriptionBuilderComposite> dbcMap) {
+
+ List<ServiceDescription> serviceDescriptionList = new ArrayList<ServiceDescription>();
+
+ for (Iterator<DescriptionBuilderComposite> nameIter = dbcMap.values()
+ .iterator(); nameIter.hasNext();) {
+ DescriptionBuilderComposite serviceImplComposite = nameIter.next();
+ if (isImpl(serviceImplComposite)) {
+ // process this impl class
+ ServiceDescription serviceDescription = new ServiceDescriptionImpl(
+ dbcMap, serviceImplComposite);
+ serviceDescriptionList.add(serviceDescription);
+ }
+ }
+
+ // TODO: Process all composites that are WebFaults...current thinking is
+ // that
+ // since WebFault annotations only exist on exception classes, then they
+ // should be processed by themselves, and at this level
+
+ return serviceDescriptionList;
+ }
+
+ /**
+ * Update an existing ServiceDescription with an annotated SEI
+ *
+ * @param serviceDescription
+ * @param seiClass
+ * @param portName
+ * Can be null
+ * @return
+ */
+ public static ServiceDescription updateEndpoint(
+ ServiceDescription serviceDescription, Class sei, QName portQName,
+ ServiceDescription.UpdateType updateType) {
+ ((ServiceDescriptionImpl) serviceDescription)
+ .updateEndpointDescription(sei, portQName, updateType);
+ return serviceDescription;
+ }
+
+ /**
+ * Builds a list of DescriptionBuilderComposite which is relevant to the
+ * particular class
+ *
+ * @param List<>
+ * A list of DescriptionBuilderComposite objects
+ * @param serviceImplName
+ * @return List<>
+ */
+ private static List<DescriptionBuilderComposite> buildRelevantCompositeList(
+ List<DescriptionBuilderComposite> compositeList,
+ String serviceImplName) {
+
+ List<DescriptionBuilderComposite> relevantList = compositeList;
+
+ // TODO: Find the composite which represents this serviceImplName
+
+ // TODO: Go through input list to find composites relevant to this one
+ // and add
+ // to 'relevant list'
+
+ return relevantList;
+ }
+
+ /**
+ * This method will be used to determine if a given DBC represents a Web
+ * service implementation.
+ *
+ * @param dbc -
+ * <code>DescriptionBuilderComposite</code>
+ * @return - <code>boolean</code>
+ */
+ private static boolean isImpl(DescriptionBuilderComposite dbc) {
+ if (!dbc.isInterface()
+ && (dbc.getWebServiceAnnot() != null || dbc
+ .getWebServiceProviderAnnot() != null)) {
+ return true;
+ }
+ return false;
+ }
+}
Copied: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/DescriptionUtils.java (from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/DescriptionUtils.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/DescriptionUtils.java?view=diff&rev=470970&p1=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/DescriptionUtils.java&r1=470831&p2=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/DescriptionUtils.java&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/DescriptionUtils.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/DescriptionUtils.java Fri Nov 3 11:50:33 2006
@@ -16,7 +16,7 @@
*/
-package org.apache.axis2.jaxws.description;
+package org.apache.axis2.jaxws.description.impl;
import java.util.ArrayList;
import java.util.Iterator;
Copied: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java (from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescriptionImpl.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java?view=diff&rev=470970&p1=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescriptionImpl.java&r1=470831&p2=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java Fri Nov 3 11:50:33 2006
@@ -16,10 +16,9 @@
*/
-package org.apache.axis2.jaxws.description;
+package org.apache.axis2.jaxws.description.impl;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -45,45 +44,20 @@
import org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder;
import org.apache.axis2.description.WSDL11ToAxisServiceBuilder;
import org.apache.axis2.jaxws.ExceptionFactory;
+import org.apache.axis2.jaxws.description.EndpointDescription;
+import org.apache.axis2.jaxws.description.EndpointDescriptionJava;
+import org.apache.axis2.jaxws.description.EndpointDescriptionWSDL;
+import org.apache.axis2.jaxws.description.EndpointInterfaceDescription;
+import org.apache.axis2.jaxws.description.ServiceDescription;
import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
import org.apache.axis2.jaxws.description.builder.MDQConstants;
import org.apache.axis2.jaxws.i18n.Messages;
-import org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-
/**
- * An EndpointDescription corresponds to a particular Service Implementation. It
- * can correspond to either either a client to that impl or the actual service
- * impl.
- *
- * The EndpointDescription contains information that is relevant to both a
- * Provider-based and SEI-based (aka Endpoint-based or Java-based) enpdoints.
- * SEI-based endpoints (whether they have an explicit or implcit SEI) will have
- * addtional metadata information in an EndpointInterfaceDescription class and
- * sub-hierachy; Provider-based endpoitns do not have such a hierachy.
- *
- * <pre>
- * <b>EndpointDescription details</b>
- *
- * CORRESPONDS TO: The endpoint (both Client and Server)
- *
- * AXIS2 DELEGATE: AxisService
- *
- * CHILDREN: 0..1 EndpointInterfaceDescription
- *
- * ANNOTATIONS:
- * WebService [181]
- * WebServiceProvider [224]
- * ServicMode [224]
- * BindingType [224]
- *
- * WSDL ELEMENTS:
- * port
- *
- * </pre>
+ * @see ../EndpointDescription
+ *
*/
-
/*
* TODO: EndpointDescription should be created via AxisService objects and not directly from WSDL
* IMPORTANT NOTE: Axis2 currently only supports 1 service and 1 port under that service. When that is
@@ -760,13 +734,13 @@
public String getAnnoWebServiceWSDLLocation() {
if (annotation_WsdlLocation == null) {
- if (getWebServiceAnnotation() != null
- && !DescriptionUtils.isEmpty(getWebServiceAnnotation().wsdlLocation())) {
- annotation_WsdlLocation = getWebServiceAnnotation().wsdlLocation();
- }
- else if (getWebServiceProviderAnnotation() != null
- && !DescriptionUtils.isEmpty(getWebServiceProviderAnnotation().wsdlLocation())) {
- annotation_WsdlLocation = getWebServiceProviderAnnotation().wsdlLocation();
+ if (getAnnoWebService() != null
+ && !DescriptionUtils.isEmpty(getAnnoWebService().wsdlLocation())) {
+ annotation_WsdlLocation = getAnnoWebService().wsdlLocation();
+ }
+ else if (getAnnoWebServiceProvider() != null
+ && !DescriptionUtils.isEmpty(getAnnoWebServiceProvider().wsdlLocation())) {
+ annotation_WsdlLocation = getAnnoWebServiceProvider().wsdlLocation();
}
else {
// There is no default value per JSR-181 MR Sec 4.1 pg 16
@@ -778,13 +752,13 @@
public String getAnnoWebServiceServiceName() {
if (annotation_ServiceName == null) {
- if (getWebServiceAnnotation() != null
- && !DescriptionUtils.isEmpty(getWebServiceAnnotation().serviceName())) {
- annotation_ServiceName = getWebServiceAnnotation().serviceName();
- }
- else if (getWebServiceProviderAnnotation() != null
- && !DescriptionUtils.isEmpty(getWebServiceProviderAnnotation().serviceName())) {
- annotation_ServiceName = getWebServiceProviderAnnotation().serviceName();
+ if (getAnnoWebService() != null
+ && !DescriptionUtils.isEmpty(getAnnoWebService().serviceName())) {
+ annotation_ServiceName = getAnnoWebService().serviceName();
+ }
+ else if (getAnnoWebServiceProvider() != null
+ && !DescriptionUtils.isEmpty(getAnnoWebServiceProvider().serviceName())) {
+ annotation_ServiceName = getAnnoWebServiceProvider().serviceName();
}
else {
// Default value is the "simple name" of the class or interface + "Service"
@@ -801,13 +775,13 @@
public String getAnnoWebServicePortName() {
if (annotation_PortName == null) {
- if (getWebServiceAnnotation() != null
- && !DescriptionUtils.isEmpty(getWebServiceAnnotation().portName())) {
- annotation_PortName = getWebServiceAnnotation().portName();
- }
- else if (getWebServiceProviderAnnotation() != null
- && !DescriptionUtils.isEmpty(getWebServiceProviderAnnotation().portName())) {
- annotation_PortName = getWebServiceProviderAnnotation().portName();
+ if (getAnnoWebService() != null
+ && !DescriptionUtils.isEmpty(getAnnoWebService().portName())) {
+ annotation_PortName = getAnnoWebService().portName();
+ }
+ else if (getAnnoWebServiceProvider() != null
+ && !DescriptionUtils.isEmpty(getAnnoWebServiceProvider().portName())) {
+ annotation_PortName = getAnnoWebServiceProvider().portName();
}
else {
// Default the value
@@ -838,13 +812,13 @@
public String getAnnoWebServiceTargetNamespace() {
if (annotation_TargetNamespace == null) {
- if (getWebServiceAnnotation() != null
- && !DescriptionUtils.isEmpty(getWebServiceAnnotation().targetNamespace())) {
- annotation_TargetNamespace = getWebServiceAnnotation().targetNamespace();
- }
- else if (getWebServiceProviderAnnotation() != null
- && !DescriptionUtils.isEmpty(getWebServiceProviderAnnotation().targetNamespace())) {
- annotation_TargetNamespace = getWebServiceProviderAnnotation().targetNamespace();
+ if (getAnnoWebService() != null
+ && !DescriptionUtils.isEmpty(getAnnoWebService().targetNamespace())) {
+ annotation_TargetNamespace = getAnnoWebService().targetNamespace();
+ }
+ else if (getAnnoWebServiceProvider() != null
+ && !DescriptionUtils.isEmpty(getAnnoWebServiceProvider().targetNamespace())) {
+ annotation_TargetNamespace = getAnnoWebServiceProvider().targetNamespace();
}
else {
// Default value per JSR-181 MR Sec 4.1 pg 15 defers to "Implementation defined,
@@ -988,7 +962,7 @@
// ANNOTATION: WebServiceProvider
// ===========================================
- WebServiceProvider getWebServiceProviderAnnotation() {
+ public WebServiceProvider getAnnoWebServiceProvider() {
return webServiceProviderAnnotation;
}
@@ -996,16 +970,16 @@
// ANNOTATION: WebService
// ===========================================
- WebService getWebServiceAnnotation() {
+ public WebService getAnnoWebService() {
return webServiceAnnotation;
}
public String getAnnoWebServiceEndpointInterface() {
// TODO: Validation: Not allowed on WebServiceProvider
if (webService_EndpointInterface == null) {
- if (!isProviderBased() && getWebServiceAnnotation() != null
- && !DescriptionUtils.isEmpty(getWebServiceAnnotation().endpointInterface())) {
- webService_EndpointInterface = getWebServiceAnnotation().endpointInterface();
+ if (!isProviderBased() && getAnnoWebService() != null
+ && !DescriptionUtils.isEmpty(getAnnoWebService().endpointInterface())) {
+ webService_EndpointInterface = getAnnoWebService().endpointInterface();
}
else {
// This element is not valid on a WebServiceProvider annotation
@@ -1030,9 +1004,9 @@
if (webService_Name == null) {
if (!isProviderBased()) {
- if (getWebServiceAnnotation() != null
- && !DescriptionUtils.isEmpty(getWebServiceAnnotation().name())) {
- webService_Name = getWebServiceAnnotation().name();
+ if (getAnnoWebService() != null
+ && !DescriptionUtils.isEmpty(getAnnoWebService().name())) {
+ webService_Name = getAnnoWebService().name();
}
else {
if (getServiceDescriptionImpl().isDBCMap()) {
@@ -1057,8 +1031,7 @@
// ===========================================
// ANNOTATION: ServiceMode
// ===========================================
- // REVIEW: Should this be returning an enum other than the one defined within the annotation?
- ServiceMode getAnnoServiceMode() {
+ public ServiceMode getAnnoServiceMode() {
if (serviceModeAnnotation == null) {
if (getServiceDescriptionImpl().isDBCMap()) {
@@ -1094,7 +1067,7 @@
// ANNOTATION: BindingType
// ===========================================
- BindingType getAnnoBindingType() {
+ public BindingType getAnnoBindingType() {
if (bindingTypeAnnotation == null) {
if (getServiceDescriptionImpl().isDBCMap()) {
bindingTypeAnnotation = composite.getBindingTypeAnnot();
Copied: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java (from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescriptionImpl.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java?view=diff&rev=470970&p1=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescriptionImpl.java&r1=470831&p2=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java Fri Nov 3 11:50:33 2006
@@ -16,7 +16,7 @@
*/
-package org.apache.axis2.jaxws.description;
+package org.apache.axis2.jaxws.description.impl;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
@@ -29,69 +29,21 @@
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.jaxws.ExceptionFactory;
+import org.apache.axis2.jaxws.description.EndpointDescription;
+import org.apache.axis2.jaxws.description.EndpointInterfaceDescription;
+import org.apache.axis2.jaxws.description.EndpointInterfaceDescriptionJava;
+import org.apache.axis2.jaxws.description.EndpointInterfaceDescriptionWSDL;
+import org.apache.axis2.jaxws.description.OperationDescription;
import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
import org.apache.axis2.jaxws.description.builder.MDQConstants;
import org.apache.axis2.jaxws.description.builder.MethodDescriptionComposite;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.log4j.BasicConfigurator;
+//import org.apache.log4j.BasicConfigurator;
/**
- * An EndpointInterfaceDescription corresponds to a particular SEI-based Service
- * Implementation. It can correspond to either either a client to that impl or
- * the actual service impl.
- *
- * The EndpointInterfaceDescription contains information that is relevant only
- * to an SEI-based (aka Endpoint-based or Java-based) enpdoint; Provider-based
- * endpoint, which are not operation based and do not have an associated SEI,
- * will not have an an EndpointInterfaceDescription class and sub-hierachy.
- *
- * <pre>
- * <b>EndpointInterfaceDescription details</b>
- *
- * CORRESPONDS TO: An SEI (on both Client and Server)
- *
- * AXIS2 DELEGATE: none
- *
- * CHILDREN: 1..n OperationDescription
- *
- * ANNOTATIONS:
- * SOAPBinding [181]
- *
- * WSDL ELEMENTS:
- * portType
- *
- * </pre>
- */
-
-/*
-Java Name: SEI Class name
-
-Axis2 Delegate: none
-
-JSR-181 Annotations:
-@WebService Note this can be specified on the endpoint Impl without an SEI
-- name its the PortType Class Name, one you get with getPort() call in Service Delegate [NT]
-- targetNamespace
-- serviceName default is portType+Service. Should we use this if Service.create call does not provide/have ServiceQname?[NT]
-- wsdlLocation if no wsdl location provided the read this annotation. Should this override what is client sets?[NT]
-- endpointInterface Will not be present on interfaces (SEI), so I will use this to figure out if the client Call is Extension of Service or is SEI by looking at this annotation. [NT]
-- portName ok so JSR 181 spec I have does not have this annotation but JAXWS spec I have has this. So if ServiceDelegate.getPort() does not have port name use this annotation and derive portName [NT]
-@SOAPBinding This one is important for Proxy especially. [NT]
-- style: DOCUMENT | RPC tells me if it is doc or rpc[NT]
-- use: LITERAL | ENCODED Always literal for IBM[NT]
-- parameterStyle: BARE | WRAPPED tells me if the wsdl is wrapped or not wrapped [NT]
-@HandlerChain(file, name)
-TBD
-
-WSDL Elements
-<portType
-<binding used for operation parameter bindings below
-
-Properties available to JAXWS runtime:
-getHandlerList() returns a live List of handlers which can be modified; this MUST be cloned before being used as an actual handler chain; Note this needs to consider if any @HandlerChain annotations are in the ServiceDescription as well
-TBD
-
+ * @see ../EndpointInterfaceDescription
+ *
*/
class EndpointInterfaceDescriptionImpl
implements EndpointInterfaceDescription, EndpointInterfaceDescriptionJava, EndpointInterfaceDescriptionWSDL {
@@ -173,7 +125,7 @@
parentEndpointDescription = parent;
this.dbc = dbc;
- BasicConfigurator.configure();
+// BasicConfigurator.configure();
//TODO: Determine if the isClass parameter is really necessary
@@ -224,7 +176,7 @@
// BindingTypeAnnot (JAXWS Sec. 7.8 -- Used to set either the AS.endpoint, or AS.SoapNSUri)
// WebServiceContextAnnot (JAXWS via injection)
- BasicConfigurator.resetConfiguration();
+// BasicConfigurator.resetConfiguration();
}
private static Method[] getSEIMethods(Class sei) {
@@ -451,7 +403,7 @@
// ========================================
// SOAP Binding annotation realted methods
// ========================================
- SOAPBinding getSoapBinding(){
+ public SOAPBinding getAnnoSoapBinding(){
// TODO: Test with sei Null, not null, SOAP Binding annotated, not annotated
if (soapBindingAnnotation == null) {
@@ -473,8 +425,8 @@
public javax.jws.soap.SOAPBinding.Style getAnnoSoapBindingStyle() {
if (soapBindingStyle == null) {
- if (getSoapBinding() != null && getSoapBinding().style() != null) {
- soapBindingStyle = getSoapBinding().style();
+ if (getAnnoSoapBinding() != null && getAnnoSoapBinding().style() != null) {
+ soapBindingStyle = getAnnoSoapBinding().style();
}
else {
soapBindingStyle = SOAPBinding_Style_DEFAULT;
@@ -490,8 +442,8 @@
public javax.jws.soap.SOAPBinding.Use getAnnoSoapBindingUse() {
if (soapBindingUse == null) {
- if (getSoapBinding() != null && getSoapBinding().use() != null) {
- soapBindingUse = getSoapBinding().use();
+ if (getAnnoSoapBinding() != null && getAnnoSoapBinding().use() != null) {
+ soapBindingUse = getAnnoSoapBinding().use();
}
else {
soapBindingUse = SOAPBinding_Use_DEFAULT;
@@ -506,8 +458,8 @@
}
public javax.jws.soap.SOAPBinding.ParameterStyle getAnnoSoapBindingParameterStyle() {
if (soapParameterStyle == null) {
- if (getSoapBinding() != null && getSoapBinding().parameterStyle() != null) {
- soapParameterStyle = getSoapBinding().parameterStyle();
+ if (getAnnoSoapBinding() != null && getAnnoSoapBinding().parameterStyle() != null) {
+ soapParameterStyle = getAnnoSoapBinding().parameterStyle();
}
else {
soapParameterStyle = SOAPBinding_ParameterStyle_DEFAULT;
Copied: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/FaultDescriptionImpl.java (from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/FaultDescriptionImpl.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/FaultDescriptionImpl.java?view=diff&rev=470970&p1=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/FaultDescriptionImpl.java&r1=470831&p2=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/FaultDescriptionImpl.java&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/FaultDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/FaultDescriptionImpl.java Fri Nov 3 11:50:33 2006
@@ -16,33 +16,17 @@
*/
-package org.apache.axis2.jaxws.description;
+package org.apache.axis2.jaxws.description.impl;
import javax.xml.ws.WebFault;
+import org.apache.axis2.jaxws.description.FaultDescription;
+import org.apache.axis2.jaxws.description.FaultDescriptionJava;
+import org.apache.axis2.jaxws.description.FaultDescriptionWSDL;
+import org.apache.axis2.jaxws.description.OperationDescription;
/**
- * A FaultDescription corresponds to a fault that can be thrown from an operation. NOTE this it not
- * implemented yet!
- *
- * FaultDescriptons contain information that is only relevent for and SEI-based service, i.e. one that is invoked via specific
- * methods. This class does not exist for Provider-based services (i.e. those that specify WebServiceProvider)
- *
- * <pre>
- * <b>OperationDescription details</b>
- *
- * CORRESPONDS TO: An exception thrown by an operation on an SEI (on both Client and Server)
- *
- * AXIS2 DELEGATE: None
- *
- * CHILDREN: None
- *
- * ANNOTATIONS:
- * WebFault [224]
- *
- * WSDL ELEMENTS:
- * fault message
- *
- * </pre>
+ * @see ../FaultDescription
+ *
*/
// TODO: This class is not implemented yet or used from OperationDescription
class FaultDescriptionImpl implements FaultDescription, FaultDescriptionJava, FaultDescriptionWSDL {
Copied: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java (from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescriptionImpl.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java?view=diff&rev=470970&p1=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescriptionImpl.java&r1=470831&p2=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java Fri Nov 3 11:50:33 2006
@@ -16,18 +16,16 @@
*/
-package org.apache.axis2.jaxws.description;
+package org.apache.axis2.jaxws.description.impl;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Iterator;
-import java.util.List;
import javax.jws.Oneway;
import javax.jws.WebMethod;
-import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebParam.Mode;
import javax.jws.soap.SOAPBinding;
@@ -39,61 +37,23 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisOperationFactory;
-import org.apache.axis2.description.InOnlyAxisOperation;
-import org.apache.axis2.description.InOutAxisOperation;
-import org.apache.axis2.description.OutInAxisOperation;
-import org.apache.axis2.description.OutOnlyAxisOperation;
-import org.apache.axis2.engine.MessageReceiver;
-import org.apache.axis2.i18n.Messages;
-import org.apache.axis2.jaxws.description.builder.HandlerChainAnnot;
+import org.apache.axis2.jaxws.description.EndpointDescriptionJava;
+import org.apache.axis2.jaxws.description.EndpointInterfaceDescription;
+import org.apache.axis2.jaxws.description.FaultDescription;
+import org.apache.axis2.jaxws.description.OperationDescription;
+import org.apache.axis2.jaxws.description.OperationDescriptionJava;
+import org.apache.axis2.jaxws.description.OperationDescriptionWSDL;
+import org.apache.axis2.jaxws.description.ParameterDescription;
+import org.apache.axis2.jaxws.description.ParameterDescriptionJava;
import org.apache.axis2.jaxws.description.builder.MethodDescriptionComposite;
import org.apache.axis2.jaxws.description.builder.OneWayAnnot;
import org.apache.axis2.jaxws.description.builder.ParameterDescriptionComposite;
-import org.apache.axis2.jaxws.description.builder.RequestWrapperAnnot;
-import org.apache.axis2.jaxws.description.builder.ResponseWrapperAnnot;
-import org.apache.axis2.jaxws.description.builder.SoapBindingAnnot;
-import org.apache.axis2.jaxws.description.builder.WebEndpointAnnot;
-import org.apache.axis2.jaxws.description.builder.WebMethodAnnot;
-import org.apache.axis2.jaxws.description.builder.WebResultAnnot;
-import org.apache.axis2.jaxws.description.builder.WebServiceContextAnnot;
-import org.apache.axis2.jaxws.description.builder.WebServiceRefAnnot;
import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.axis2.wsdl.WSDLConstants.WSDL20_2004Constants;
-import org.apache.axis2.wsdl.WSDLConstants.WSDL20_2006Constants;
/**
- * An OperationDescripton corresponds to a method on an SEI. That SEI could be explicit
- * (i.e. WebService.endpointInterface=sei.class) or implicit (i.e. public methods on the service implementation
- * are the contract and thus the implicit SEI). Note that while OperationDescriptions are created on both the client
- * and service side, implicit SEIs will only occur on the service side.
- *
- * OperationDescriptons contain information that is only relevent for and SEI-based service, i.e. one that is invoked via specific
- * methods. This class does not exist for Provider-based services (i.e. those that specify WebServiceProvider)
- *
- * <pre>
- * <b>OperationDescription details</b>
- *
- * CORRESPONDS TO: A single operation on an SEI (on both Client and Server)
- *
- * AXIS2 DELEGATE: AxisOperation
- *
- * CHILDREN: 0..n ParameterDescription
- * 0..n FaultDescription (Note: Not fully implemented)
- *
- * ANNOTATIONS:
- * WebMethod [181]
- * SOAPBinding [181]
- * Oneway [181]
- * WebResult [181]
- * RequestWrapper [224]
- * ResponseWrapper [224]
- *
- * WSDL ELEMENTS:
- * operation
- *
- * </pre>
+ * @see ../OperationDescription
+ *
*/
-
// TODO: Axis2 does not support overloaded operations, although EndpointInterfaceDescription.addOperation() does support overloading
// of methods represented by OperationDescription classes. However, the AxisOperation contained in an OperationDescription
// does NOT support overloaded methods.
@@ -411,7 +371,7 @@
// =====================================
// ANNOTATION: WebMethod
// =====================================
- WebMethod getWebMethod() {
+ public WebMethod getAnnoWebMethod() {
return webMethodAnnotation;
}
@@ -481,8 +441,8 @@
public String getAnnoWebMethodAction() {
if (webMethodAction == null) {
- if (getWebMethod() != null && !DescriptionUtils.isEmpty(getWebMethod().action())) {
- webMethodAction = getWebMethod().action();
+ if (getAnnoWebMethod() != null && !DescriptionUtils.isEmpty(getAnnoWebMethod().action())) {
+ webMethodAction = getAnnoWebMethod().action();
}
else {
webMethodAction = WebMethod_Action_DEFAULT;
@@ -501,8 +461,8 @@
// TODO: Validation: This element is not allowed on endpoint interfaces
// Unlike the elements with a String value, if the annotation is present, exclude will always
// return a usable value since it will default to FALSE if the element is not present.
- if (getWebMethod() != null) {
- webMethodExclude = new Boolean(getWebMethod().exclude());
+ if (getAnnoWebMethod() != null) {
+ webMethodExclude = new Boolean(getAnnoWebMethod().exclude());
}
else {
webMethodExclude = WebMethod_Exclude_DEFAULT;
@@ -515,7 +475,7 @@
// ==========================================
// ANNOTATION: RequestWrapper
// ==========================================
- RequestWrapper getRequestWrapper() {
+ public RequestWrapper getAnnoRequestWrapper() {
if (requestWrapperAnnotation == null) {
if (!isDBC()) {
requestWrapperAnnotation = seiMethod.getAnnotation(RequestWrapper.class);
@@ -542,9 +502,9 @@
return null;
}
if (requestWrapperLocalName == null) {
- if (getRequestWrapper() != null
- && !DescriptionUtils.isEmpty(getRequestWrapper().localName())) {
- requestWrapperLocalName = getRequestWrapper().localName();
+ if (getAnnoRequestWrapper() != null
+ && !DescriptionUtils.isEmpty(getAnnoRequestWrapper().localName())) {
+ requestWrapperLocalName = getAnnoRequestWrapper().localName();
} else {
// The default value of localName is the value of operationName as
// defined in the WebMethod annotation. [JAX-WS Sec. 7.3, p. 80]
@@ -568,8 +528,8 @@
return null;
}
if (requestWrapperTargetNamespace == null) {
- if (getRequestWrapper() != null && !DescriptionUtils.isEmpty(getRequestWrapper().targetNamespace())) {
- requestWrapperTargetNamespace = getRequestWrapper().targetNamespace();
+ if (getAnnoRequestWrapper() != null && !DescriptionUtils.isEmpty(getAnnoRequestWrapper().targetNamespace())) {
+ requestWrapperTargetNamespace = getAnnoRequestWrapper().targetNamespace();
}
else {
// The default value for targetNamespace is the target namespace of the SEI. [JAX-WS Sec 7.3, p. 80]
@@ -595,8 +555,8 @@
return null;
}
if (requestWrapperClassName == null) {
- if (getRequestWrapper() != null && !DescriptionUtils.isEmpty(getRequestWrapper().className())) {
- requestWrapperClassName = getRequestWrapper().className();
+ if (getAnnoRequestWrapper() != null && !DescriptionUtils.isEmpty(getAnnoRequestWrapper().className())) {
+ requestWrapperClassName = getAnnoRequestWrapper().className();
}
else {
// Not sure what the default value should be (if any). None is listed in Sec. 7.3 on p. 80 of
@@ -619,7 +579,7 @@
// ===========================================
// ANNOTATION: ResponseWrapper
// ===========================================
- ResponseWrapper getResponseWrapper() {
+ public ResponseWrapper getAnnoResponseWrapper() {
if (responseWrapperAnnotation == null) {
if (!isDBC()) {
responseWrapperAnnotation = seiMethod.getAnnotation(ResponseWrapper.class);
@@ -643,8 +603,8 @@
return null;
}
if (responseWrapperLocalName == null) {
- if (getResponseWrapper() != null && !DescriptionUtils.isEmpty(getResponseWrapper().localName())) {
- responseWrapperLocalName = getResponseWrapper().localName();
+ if (getAnnoResponseWrapper() != null && !DescriptionUtils.isEmpty(getAnnoResponseWrapper().localName())) {
+ responseWrapperLocalName = getAnnoResponseWrapper().localName();
}
else {
// The default value of localName is the value of operationName as
@@ -670,8 +630,8 @@
return null;
}
if (responseWrapperTargetNamespace == null) {
- if (getResponseWrapper() != null && !DescriptionUtils.isEmpty(getResponseWrapper().targetNamespace())) {
- responseWrapperTargetNamespace = getResponseWrapper().targetNamespace();
+ if (getAnnoResponseWrapper() != null && !DescriptionUtils.isEmpty(getAnnoResponseWrapper().targetNamespace())) {
+ responseWrapperTargetNamespace = getAnnoResponseWrapper().targetNamespace();
}
else {
// The default value for targetNamespace is the target namespace of the SEI. [JAX-WS Sec 7.3, p. 80]
@@ -698,8 +658,8 @@
return null;
}
if (responseWrapperClassName == null) {
- if (getResponseWrapper() != null && !DescriptionUtils.isEmpty(getResponseWrapper().className())) {
- responseWrapperClassName = getResponseWrapper().className();
+ if (getAnnoResponseWrapper() != null && !DescriptionUtils.isEmpty(getAnnoResponseWrapper().className())) {
+ responseWrapperClassName = getAnnoResponseWrapper().className();
}
else {
// Not sure what the default value should be (if any). None is listed in Sec. 7.4 on p. 81 of
@@ -1044,7 +1004,7 @@
// ===========================================
// ANNOTATION: OneWay
// ===========================================
- Oneway getOnewayAnnotation() {
+ public Oneway getAnnoOneway() {
//TODO: Shouldn't really do it this way...if there is not Oneway annotation,
// we will always be calling the methods to try to retrieve it, since
// it will always be null, should consider relying on 'isOneWay'
@@ -1067,7 +1027,7 @@
public boolean isAnnoOneWay() {
if (onewayIsOneway == null) {
- if (getOnewayAnnotation() != null) {
+ if (getAnnoOneway() != null) {
// The presence of the annotation indicates the method is oneway
onewayIsOneway = new Boolean(true);
}
Copied: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java (from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescriptionImpl.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java?view=diff&rev=470970&p1=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescriptionImpl.java&r1=470831&p2=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java Fri Nov 3 11:50:33 2006
@@ -16,48 +16,25 @@
*/
-package org.apache.axis2.jaxws.description;
+package org.apache.axis2.jaxws.description.impl;
import java.lang.annotation.Annotation;
-import java.lang.reflect.GenericDeclaration;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
-import java.lang.reflect.TypeVariable;
import javax.jws.WebParam;
import javax.jws.soap.SOAPBinding;
+import org.apache.axis2.jaxws.description.EndpointDescriptionJava;
+import org.apache.axis2.jaxws.description.OperationDescription;
+import org.apache.axis2.jaxws.description.ParameterDescription;
+import org.apache.axis2.jaxws.description.ParameterDescriptionJava;
+import org.apache.axis2.jaxws.description.ParameterDescriptionWSDL;
import org.apache.axis2.jaxws.description.builder.ParameterDescriptionComposite;
-import org.apache.axis2.jaxws.description.builder.WebParamAnnot;
/**
- * A ParameterDescripton corresponds to parameter to a method on an SEI. That
- * SEI could be explicit (i.e. WebService.endpointInterface=sei.class) or
- * implicit (i.e. public methods on the service implementation are the contract
- * and thus the implicit SEI).
- *
- * ParameterDescriptons contain information that is only relevent for and
- * SEI-based service, i.e. one that is invoked via specific methods. This class
- * does not exist for Provider-based services (i.e. those that specify
- * WebServiceProvider)
- *
- * <pre>
- * <b>ParameternDescription details</b>
- *
- * CORRESPONDS TO: A parameter to a method on an SEI (on both Client and Server)
- *
- * AXIS2 DELEGATE: None
- *
- * CHILDREN: None
- *
- * ANNOTATIONS:
- * WebParam [181]
- *
- * WSDL ELEMENTS:
- * message parts
- *
- * </pre>
- *
+ * @see ../ParameterDescription
+ *
*/
class ParameterDescriptionImpl implements ParameterDescription, ParameterDescriptionJava, ParameterDescriptionWSDL {
private OperationDescription parentOperationDescription;
Copied: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java (from r470831, webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescriptionImpl.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java?view=diff&rev=470970&p1=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescriptionImpl.java&r1=470831&p2=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java Fri Nov 3 11:50:33 2006
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.axis2.jaxws.description;
+package org.apache.axis2.jaxws.description.impl;
import java.net.URL;
import java.util.ArrayList;
@@ -22,36 +22,26 @@
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
-import java.util.Map;
-import java.util.List;
-import javax.xml.namespace.QName;
-import javax.xml.ws.WebServiceException;
-import javax.jws.WebService;
import javax.wsdl.Definition;
import javax.wsdl.Port;
import javax.wsdl.Service;
import javax.wsdl.WSDLException;
import javax.xml.namespace.QName;
-import org.apache.axis2.AxisFault;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.deployment.DeploymentException;
import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.OutInAxisOperation;
-import org.apache.axis2.description.OutOnlyAxisOperation;
-import org.apache.axis2.description.Parameter;
-import org.apache.axis2.description.RobustOutOnlyAxisOperation;
-import org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder;
-import org.apache.axis2.description.WSDL11ToAxisServiceBuilder;
-import org.apache.axis2.engine.AbstractDispatcher;
import org.apache.axis2.jaxws.ClientConfigurationFactory;
import org.apache.axis2.jaxws.ExceptionFactory;
+import org.apache.axis2.jaxws.description.EndpointDescription;
+import org.apache.axis2.jaxws.description.EndpointInterfaceDescription;
+import org.apache.axis2.jaxws.description.ServiceDescription;
+import org.apache.axis2.jaxws.description.ServiceDescriptionJava;
+import org.apache.axis2.jaxws.description.ServiceDescriptionWSDL;
import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
import org.apache.axis2.jaxws.description.builder.MDQConstants;
import org.apache.axis2.jaxws.description.builder.MethodDescriptionComposite;
-import org.apache.axis2.jaxws.description.builder.WebMethodAnnot;
import org.apache.axis2.jaxws.i18n.Messages;
import org.apache.axis2.jaxws.util.WSDL4JWrapper;
import org.apache.axis2.jaxws.util.WSDLWrapper;
@@ -59,41 +49,7 @@
import org.apache.commons.logging.LogFactory;
/**
- * A ServiceDescription corresponds to a Service under which there can be a
- * collection of enpdoints. In WSDL 1.1 terms, then, a ServiceDescription
- * corresponds to a wsdl:Service under which there are one or more wsdl:Port
- * entries. The ServiceDescription is the root of the metdata abstraction
- * Description hierachy.
- *
- * The Description hierachy is:
- * <pre>
- * ServiceDescription
- * EndpointDescription[]
- * EndpointInterfaceDescription
- * OperationDescription[]
- * ParameterDescription[]
- * FaultDescription[] (Note: Not implemented yet)
- *
- * <b>ServiceDescription details</b>
- *
- * CORRESPONDS TO:
- * On the Client: The JAX-WS Service class or generated subclass.
- *
- * On the Server: The Service implementation. Note that there is a 1..1
- * correspondence between a ServiceDescription and EndpointDescription
- * on the server side.
- *
- * AXIS2 DELEGATE: None
- *
- * CHILDREN: 1..n EndpointDescription
- *
- * ANNOTATIONS:
- * None
- *
- * WSDL ELEMENTS:
- * service
- *
- * </pre>
+ * @see ../ServiceDescription
*/
class ServiceDescriptionImpl implements ServiceDescription, ServiceDescriptionWSDL, ServiceDescriptionJava {
private ClientConfigurationFactory clientConfigFactory;
Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationProviderImplDescriptionTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationProviderImplDescriptionTests.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationProviderImplDescriptionTests.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationProviderImplDescriptionTests.java Fri Nov 3 11:50:33 2006
@@ -26,6 +26,8 @@
import javax.xml.ws.WebServiceException;
import javax.xml.ws.WebServiceProvider;
+import org.apache.axis2.jaxws.description.EndpointDescriptionJava;
+
import junit.framework.TestCase;
public class AnnotationProviderImplDescriptionTests extends TestCase {
@@ -41,7 +43,7 @@
assertEquals(1, endpointDesc.length);
// TODO: How will the JAX-WS dispatcher get the appropriate port (i.e. endpoint)? Currently assumes [0]
- EndpointDescriptionImpl testEndpointDesc = (EndpointDescriptionImpl) endpointDesc[0];
+ EndpointDescriptionJava testEndpointDesc = (EndpointDescriptionJava) endpointDesc[0];
assertNotNull(testEndpointDesc);
assertEquals(Service.Mode.MESSAGE, testEndpointDesc.getAnnoServiceModeValue());
assertEquals("http://www.w3.org/2003/05/soap/bindings/HTTP/", testEndpointDesc.getAnnoBindingTypeValue());
Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationServiceImplDescriptionTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationServiceImplDescriptionTests.java?view=diff&rev=470970&r1=470969&r2=470970
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationServiceImplDescriptionTests.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationServiceImplDescriptionTests.java Fri Nov 3 11:50:33 2006
@@ -32,6 +32,7 @@
import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.Parameter;
+import org.apache.axis2.jaxws.description.EndpointInterfaceDescription;
import org.apache.ws.axis2.tests.EchoPort;
import org.apache.ws.axis2.tests.EchoServiceImplWithSEI;
@@ -308,7 +309,7 @@
public void testSOAPBindingDefault() {
EndpointInterfaceDescription testEndpointInterfaceDesc = getEndpointInterfaceDesc(SOAPBindingDefaultTestImpl.class);
- assertNull(((EndpointInterfaceDescriptionImpl) testEndpointInterfaceDesc).getSoapBinding());
+ assertNull(((EndpointInterfaceDescriptionJava) testEndpointInterfaceDesc).getAnnoSoapBinding());
assertEquals(javax.jws.soap.SOAPBinding.Style.DOCUMENT, testEndpointInterfaceDesc.getSoapBindingStyle());
assertEquals(javax.jws.soap.SOAPBinding.Use.LITERAL, testEndpointInterfaceDesc.getSoapBindingUse());
assertEquals(javax.jws.soap.SOAPBinding.ParameterStyle.WRAPPED, testEndpointInterfaceDesc.getSoapBindingParameterStyle());
@@ -326,7 +327,7 @@
public void testSOAPBindingDocEncBare() {
EndpointInterfaceDescription testEndpointInterfaceDesc = getEndpointInterfaceDesc(SOAPBindingDocEncBareTestImpl.class);
- assertNotNull(((EndpointInterfaceDescriptionImpl) testEndpointInterfaceDesc).getSoapBinding());
+ assertNotNull(((EndpointInterfaceDescriptionJava) testEndpointInterfaceDesc).getAnnoSoapBinding());
assertEquals(javax.jws.soap.SOAPBinding.Style.DOCUMENT, testEndpointInterfaceDesc.getSoapBindingStyle());
assertEquals(javax.jws.soap.SOAPBinding.Use.ENCODED, testEndpointInterfaceDesc.getSoapBindingUse());
assertEquals(javax.jws.soap.SOAPBinding.ParameterStyle.BARE, testEndpointInterfaceDesc.getSoapBindingParameterStyle());
@@ -336,7 +337,7 @@
// Verify that an impl without the method annotation uses the settings from the type
EndpointInterfaceDescription testEndpointInterfaceDesc = getEndpointInterfaceDesc(SOAPBindingDocEncBareTestImpl.class);
- assertNotNull(((EndpointInterfaceDescriptionImpl) testEndpointInterfaceDesc).getSoapBinding());
+ assertNotNull(((EndpointInterfaceDescriptionJava) testEndpointInterfaceDesc).getAnnoSoapBinding());
assertEquals(javax.jws.soap.SOAPBinding.Style.DOCUMENT, testEndpointInterfaceDesc.getSoapBindingStyle());
assertEquals(javax.jws.soap.SOAPBinding.Use.ENCODED, testEndpointInterfaceDesc.getSoapBindingUse());
assertEquals(javax.jws.soap.SOAPBinding.ParameterStyle.BARE, testEndpointInterfaceDesc.getSoapBindingParameterStyle());
@@ -351,7 +352,7 @@
// Verify that the method annotation setting overrides the type annotatino setting
testEndpointInterfaceDesc = getEndpointInterfaceDesc(SOAPBindingDefaultMethodTestImpl.class);
- assertNull(((EndpointInterfaceDescriptionImpl) testEndpointInterfaceDesc).getSoapBinding());
+ assertNull(((EndpointInterfaceDescriptionJava) testEndpointInterfaceDesc).getAnnoSoapBinding());
assertEquals(javax.jws.soap.SOAPBinding.Style.DOCUMENT, testEndpointInterfaceDesc.getSoapBindingStyle());
assertEquals(javax.jws.soap.SOAPBinding.Use.LITERAL, testEndpointInterfaceDesc.getSoapBindingUse());
assertEquals(javax.jws.soap.SOAPBinding.ParameterStyle.WRAPPED, testEndpointInterfaceDesc.getSoapBindingParameterStyle());
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org