You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2006/02/21 08:36:04 UTC

svn commit: r379388 - in /incubator/tuscany/java/sca/binding.axis/src: main/java/org/apache/tuscany/binding/axis/assembly/ main/java/org/apache/tuscany/binding/axis/assembly/impl/ main/java/org/apache/tuscany/binding/axis/assembly/sdo/ main/java/org/ap...

Author: jsdelfino
Date: Mon Feb 20 23:36:03 2006
New Revision: 379388

URL: http://svn.apache.org/viewcvs?rev=379388&view=rev
Log:
ported to new POJO model

Removed:
    incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/sdo/
Modified:
    incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/WebServiceAssemblyFactory.java
    incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/WebServiceBinding.java
    incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/impl/WebServiceAssemblyFactoryImpl.java
    incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/impl/WebServiceBindingImpl.java
    incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/config/AxisEngineConfigurationFactory.java
    incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/ExternalWebServiceHandler.java
    incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/WebServiceEntryPointBean.java
    incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/WebServicePortMetaData.java
    incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/mediator/SOAPMediator.java
    incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/mediator/impl/SOAPBaseMediatorImpl.java
    incubator/tuscany/java/sca/binding.axis/src/test/java/org/apache/tuscany/binding/axis/assembly/tests/WebServiceAssemblyLoaderTestCase.java
    incubator/tuscany/java/sca/binding.axis/src/test/java/org/apache/tuscany/binding/axis/mediator/tests/SOAPMediatorTestCase.java

Modified: incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/WebServiceAssemblyFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/WebServiceAssemblyFactory.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/WebServiceAssemblyFactory.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/WebServiceAssemblyFactory.java Mon Feb 20 23:36:03 2006
@@ -16,8 +16,6 @@
  */
 package org.apache.tuscany.binding.axis.assembly;
 
-import org.osoa.sca.model.WebServiceBinding;
-
 import org.apache.tuscany.model.assembly.AssemblyFactory;
 
 /**
@@ -26,13 +24,8 @@
 public interface WebServiceAssemblyFactory extends AssemblyFactory {
 
     /**
-     * Returns a new object of class '<em>Web Service Binding</em>'.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     *
-     * @return a new object of class '<em>Web Service Binding</em>'.
-     * @generated
+     * Returns a new WebServiceBinding.
      */
     WebServiceBinding createWebServiceBinding();
 
-} //TWebServiceAssemblyFactory
+}

Modified: incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/WebServiceBinding.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/WebServiceBinding.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/WebServiceBinding.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/WebServiceBinding.java Mon Feb 20 23:36:03 2006
@@ -16,20 +16,36 @@
  */
 package org.apache.tuscany.binding.axis.assembly;
 
+import javax.wsdl.Definition;
+import javax.wsdl.Port;
+
 import org.apache.tuscany.model.assembly.Binding;
 
 /**
- * A representation of the model object '<em><b>Web Service Binding</b></em>'.
+ * Represents a Web service binding.
  */
 public interface WebServiceBinding extends Binding {
+
+    /**
+     * Returns the WSDL port defining this binding.
+     */
+    Port getWSDLPort();
+    
+    /**
+     * Returns the WSDL definition containing the WSDL port.
+     * @return
+     */
+    Definition getWSDLDefinition();
+
     /**
-     * Returns the value of the '<em><b>Port</b></em>' attribute.
+     * Sets the WSDL port defining this binding.
      */
-    String getPort();
+    void setWSDLPort(Port value);
 
     /**
-     * Sets the value of the '{@link org.osoa.sca.model.WebServiceBinding#getPort <em>Port</em>}' attribute.
+     * Sets the WSDL definition containing the WSDL port.
+     * @param definition
      */
-    void setPort(String value);
+    void setWSDLDefinition(Definition definition);
 
-} // TWebServiceBinding
+}

Modified: incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/impl/WebServiceAssemblyFactoryImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/impl/WebServiceAssemblyFactoryImpl.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/impl/WebServiceAssemblyFactoryImpl.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/impl/WebServiceAssemblyFactoryImpl.java Mon Feb 20 23:36:03 2006
@@ -16,9 +16,8 @@
  */
 package org.apache.tuscany.binding.axis.assembly.impl;
 
-import org.osoa.sca.model.WebServiceBinding;
-
 import org.apache.tuscany.binding.axis.assembly.WebServiceAssemblyFactory;
+import org.apache.tuscany.binding.axis.assembly.WebServiceBinding;
 import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
 
 /**
@@ -40,4 +39,4 @@
         return new WebServiceBindingImpl();
     }
 
-} //WebServiceAssemblyFactoryImpl
+}

Modified: incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/impl/WebServiceBindingImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/impl/WebServiceBindingImpl.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/impl/WebServiceBindingImpl.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/assembly/impl/WebServiceBindingImpl.java Mon Feb 20 23:36:03 2006
@@ -16,83 +16,54 @@
  */
 package org.apache.tuscany.binding.axis.assembly.impl;
 
+import javax.wsdl.Definition;
+import javax.wsdl.Port;
+
 import org.apache.tuscany.binding.axis.assembly.WebServiceBinding;
-import org.apache.tuscany.model.assembly.AssemblyModelContext;
-import org.apache.tuscany.model.assembly.AssemblyModelVisitor;
-import org.apache.tuscany.model.assembly.impl.AssemblyModelVisitorHelperImpl;
+import org.apache.tuscany.model.assembly.impl.BindingImpl;
 
 /**
- * An implementation of the model object '<em><b>Web Service Binding</b></em>'.
+ * An implementation of WebServiceBinding.
  */
-public class WebServiceBindingImpl extends org.apache.tuscany.binding.axis.assembly.sdo.impl.WebServiceBindingImpl implements WebServiceBinding {
-
-    private Object runtimeConfiguration;
+public class WebServiceBindingImpl extends BindingImpl implements WebServiceBinding {
+    
+    private Definition definition;
+    private Port port;
 
     /**
      * Constructor
      */
     protected WebServiceBindingImpl() {
     }
-
-    /**
-     * @see org.apache.tuscany.binding.axis.assembly.sdo.impl.WebServiceBindingImpl#getPort()
-     */
-    public String getPort() {
-        return super.getPort();
-    }
-
-    /**
-     * @see org.apache.tuscany.binding.axis.assembly.sdo.impl.WebServiceBindingImpl#setPort(java.lang.String)
-     */
-    public void setPort(String newPort) {
-        super.setPort(newPort);
-    }
-
-    /**
-     * @see org.apache.tuscany.model.assembly.Binding#setURI(java.lang.String)
-     */
-    public void setURI(String value) {
-        super.setUri(value);
-    }
-
+    
     /**
-     * @see org.apache.tuscany.model.assembly.Binding#getURI()
+     * @see org.apache.tuscany.binding.axis.assembly.WebServiceBinding#getWSDLPort()
      */
-    public String getURI() {
-        return super.getUri();
+    public Port getWSDLPort() {
+        return port;
     }
-
+    
     /**
-     * @see org.apache.tuscany.model.assembly.ConfiguredRuntimeObject#getRuntimeConfiguration()
+     * @see org.apache.tuscany.binding.axis.assembly.WebServiceBinding#setWSDLPort(javax.wsdl.Port)
      */
-    public Object getRuntimeConfiguration() {
-        return runtimeConfiguration;
+    public void setWSDLPort(Port value) {
+        checkNotFrozen();
+        this.port=value;
     }
-
+    
     /**
-     * @see org.apache.tuscany.model.assembly.ConfiguredRuntimeObject#setRuntimeConfiguration(java.lang.Object)
+     * @see org.apache.tuscany.binding.axis.assembly.WebServiceBinding#getWSDLDefinition()
      */
-    public void setRuntimeConfiguration(Object configuration) {
-        this.runtimeConfiguration = configuration;
+    public Definition getWSDLDefinition() {
+        return definition;
     }
-
-    /**
-     * @see org.apache.tuscany.model.assembly.AssemblyModelObject#initialize(org.apache.tuscany.model.assembly.AssemblyModelContext)
-     */
-    public void initialize(AssemblyModelContext modelContext) {
-    }
-
-    /**
-     * @see org.apache.tuscany.model.assembly.AssemblyModelObject#freeze()
-     */
-    public void freeze() {
-    }
-
+    
     /**
-     * @see org.apache.tuscany.model.assembly.AssemblyModelObject#accept(org.apache.tuscany.model.assembly.AssemblyModelVisitor)
+     * @see org.apache.tuscany.binding.axis.assembly.WebServiceBinding#setWSDLDefinition(javax.wsdl.Definition)
      */
-    public boolean accept(AssemblyModelVisitor visitor) {
-        return AssemblyModelVisitorHelperImpl.accept(this, visitor);
+    public void setWSDLDefinition(Definition definition) {
+        checkNotFrozen();
+        this.definition=definition;
     }
 
-} //TWebServiceBindingImpl
+}

Modified: incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/config/AxisEngineConfigurationFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/config/AxisEngineConfigurationFactory.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/config/AxisEngineConfigurationFactory.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/config/AxisEngineConfigurationFactory.java Mon Feb 20 23:36:03 2006
@@ -20,9 +20,12 @@
 import java.io.InputStream;
 import java.net.URL;
 import java.util.Iterator;
+
 import javax.servlet.ServletConfig;
 import javax.wsdl.Definition;
+import javax.wsdl.Message;
 import javax.wsdl.Operation;
+import javax.wsdl.Port;
 import javax.wsdl.PortType;
 import javax.xml.namespace.QName;
 
@@ -37,13 +40,7 @@
 import org.apache.axis.description.ParameterDesc;
 import org.apache.axis.handlers.soap.SOAPService;
 import org.apache.axis.providers.java.MsgProvider;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.xsd.util.XSDConstants;
-import org.osoa.sca.ServiceRuntimeException;
-import org.osoa.sca.model.Binding;
-import org.osoa.sca.model.EntryPoint;
-import org.osoa.sca.model.WebServiceBinding;
-
+import org.apache.tuscany.binding.axis.assembly.WebServiceBinding;
 import org.apache.tuscany.binding.axis.handler.WebServiceEntryPointBean;
 import org.apache.tuscany.binding.axis.handler.WebServiceOperationMetaData;
 import org.apache.tuscany.binding.axis.handler.WebServicePortMetaData;
@@ -52,11 +49,12 @@
 import org.apache.tuscany.core.context.webapp.TuscanyWebAppRuntime;
 import org.apache.tuscany.model.assembly.AssemblyFactory;
 import org.apache.tuscany.model.assembly.AssemblyModelContext;
-import org.apache.tuscany.model.assembly.Interface;
+import org.apache.tuscany.model.assembly.Binding;
+import org.apache.tuscany.model.assembly.EntryPoint;
 import org.apache.tuscany.model.assembly.Module;
 import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
-import org.apache.tuscany.model.types.InterfaceType;
-import org.apache.tuscany.model.types.wsdl.WSDLTypeHelper;
+import org.eclipse.xsd.util.XSDConstants;
+import org.osoa.sca.ServiceRuntimeException;
 
 /**
  */
@@ -136,18 +134,11 @@
                 Binding binding = (Binding) entryPoint.getBindings().get(0);
                 if (binding instanceof WebServiceBinding) {
                     WebServiceBinding wsBinding = (WebServiceBinding) binding;
-                    QName qname = assemblyFactory.createQName(wsBinding.getPort());
+                    Definition definition=wsBinding.getWSDLDefinition();
+                    Port port=wsBinding.getWSDLPort();
+                    QName qname = new QName(definition.getTargetNamespace(), port.getName());
                     if (qname != null) {
-
-                        // Get the WSDL port and binding
-                        WSDLTypeHelper typeHelper = moduleContext.getAssemblyModelContext().getWSDLTypeHelper();
-
-                        Definition definition = typeHelper.getWSDLDefinition(qname.getNamespaceURI());
-                        if (definition == null) {
-                            throw new IllegalArgumentException("Unable to locate WSDL package for target namespace " + qname.getNamespaceURI());
-                        }
-
-                        WebServicePortMetaData wsdlPortInfo = new WebServicePortMetaData(typeHelper, definition, qname, null, false);
+                        WebServicePortMetaData wsdlPortInfo = new WebServicePortMetaData(definition, port, null, false);
 
                         // Create a new message SOAP service
                         SOAPService service = new SOAPService(new MsgProvider());
@@ -191,9 +182,8 @@
                                 operationDesc.setElementQName((QName) operationMetaData.getOperationSignature().get(0));
                             }
 
-                            InterfaceType eClass = ((Interface) entryPoint.getInterface()).getInterfaceType();
-                            EOperation eOperation = (EOperation) eClass.getOperationType(wsdlOperation.getName());
-                            if (eOperation.getEParameters().size() != 0) {
+                            Message inputMessage=wsdlOperation.getInput()!=null? wsdlOperation.getInput().getMessage():null;
+                            if (inputMessage!=null & !inputMessage.getParts().isEmpty()) {
                                 ParameterDesc parameterDesc = new ParameterDesc();
                                 QName anyQName = new QName(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, "any");
                                 parameterDesc.setTypeQName(anyQName);
@@ -202,7 +192,8 @@
                                 operationDesc.addParameter(parameterDesc);
                             }
 
-                            if (eOperation.getEType() != null) {
+                            Message outputMessage=wsdlOperation.getOutput()!=null? wsdlOperation.getOutput().getMessage():null;
+                            if (outputMessage!=null & !outputMessage.getParts().isEmpty()) {
                                 QName anyQName = new QName(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001, "any");
                                 operationDesc.setReturnType(anyQName);
                                 operationDesc.setReturnQName(anyQName);

Modified: incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/ExternalWebServiceHandler.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/ExternalWebServiceHandler.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/ExternalWebServiceHandler.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/ExternalWebServiceHandler.java Mon Feb 20 23:36:03 2006
@@ -16,45 +16,45 @@
  */
 package org.apache.tuscany.binding.axis.handler;
 
+import java.util.Collection;
 import java.util.List;
+
 import javax.wsdl.Definition;
+import javax.wsdl.Input;
+import javax.wsdl.Operation;
+import javax.wsdl.Part;
 import javax.wsdl.Port;
 import javax.xml.namespace.QName;
 import javax.xml.rpc.Service;
 import javax.xml.rpc.ServiceException;
 import javax.xml.rpc.ServiceFactory;
 
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
 import org.apache.axis.client.Call;
 import org.apache.axis.message.SOAPEnvelope;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.sdo.EProperty;
-import org.eclipse.emf.ecore.sdo.EType;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.ExtendedMetaData;
-import org.osoa.sca.ServiceUnavailableException;
-import org.osoa.sca.model.WebServiceBinding;
-
+import org.apache.tuscany.binding.axis.assembly.WebServiceBinding;
 import org.apache.tuscany.binding.axis.mediator.SOAPMediator;
 import org.apache.tuscany.binding.axis.mediator.impl.SOAPDocumentLiteralMediatorImpl;
 import org.apache.tuscany.binding.axis.mediator.impl.SOAPEnvelopeImpl;
 import org.apache.tuscany.binding.axis.mediator.impl.SOAPRPCEncodedMediatorImpl;
 import org.apache.tuscany.binding.axis.mediator.impl.SOAPRPCLiteralMediatorImpl;
-import org.apache.tuscany.model.util.ConfiguredResourceSet;
 import org.apache.tuscany.core.addressing.EndpointReference;
 import org.apache.tuscany.core.context.TuscanyModuleComponentContext;
-import org.apache.tuscany.core.deprecated.sdo.util.HelperProvider;
-import org.apache.tuscany.core.deprecated.sdo.util.impl.HelperProviderImpl;
 import org.apache.tuscany.core.message.Message;
 import org.apache.tuscany.core.message.handler.MessageHandler;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.AssemblyFactory;
 import org.apache.tuscany.model.assembly.ExternalService;
 import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
-import org.apache.tuscany.model.types.wsdl.WSDLOperationType;
-import org.apache.tuscany.model.types.wsdl.WSDLTypeHelper;
+import org.apache.tuscany.sdo.helper.HelperProviderImpl;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.ExtendedMetaData;
+import org.osoa.sca.ServiceUnavailableException;
+
+import commonj.sdo.DataObject;
+import commonj.sdo.Property;
+import commonj.sdo.Type;
+import commonj.sdo.impl.HelperProvider;
 
 /**
  *         Operation handler
@@ -63,9 +63,8 @@
     private TuscanyModuleComponentContext moduleContext;
     private Service jaxrpcService;
     private WebServicePortMetaData portMetaData;
-    private WSDLTypeHelper typeHelper;
     private Call call;
-    private WSDLOperationType wsdlOperationType;
+    private Operation wsdlOperation;
     private boolean rpcStyle;
     private boolean rpcEncoded;
     private SOAPMediator mediator;
@@ -79,7 +78,7 @@
         call = (Call) jaxrpcService.createCall(portName);
 
         // set operation name
-        WebServiceOperationMetaData operationMetaData = portMetaData.getOperationMetaData(wsdlOperationType.getName());
+        WebServiceOperationMetaData operationMetaData = portMetaData.getOperationMetaData(wsdlOperation.getName());
 
         call.setOperationName(operationMetaData.getRPCOperationName());
 
@@ -119,28 +118,29 @@
 
     private boolean isWrappedStyle() {
         if (wrapped == null) {
-            wrapped = Boolean.valueOf(isWrappedStyle(wsdlOperationType));
+            wrapped = Boolean.valueOf(isWrappedStyle(wsdlOperation));
         }
         return wrapped.booleanValue();
     }
 
-    public static boolean isWrappedStyle(WSDLOperationType wsdlOperationType) {
-        Type inputType = wsdlOperationType.getInputType();
-        if (inputType == null)
+    public static boolean isWrappedStyle(Operation wsdlOperation) {
+        Input input = wsdlOperation.getInput();
+        if (input == null)
+            return false;
+        javax.wsdl.Message message = input.getMessage();
+        if (message == null)
             return false;
-        List properties = inputType.getProperties();
-        if (properties.size() != 1)
+        Collection<Part> parts=message.getParts().values();
+        if (parts.size() != 1)
             return false;
-        Property property = (Property) properties.get(0);
-        EProperty p = (EProperty) property;
-        EType eType = (EType) inputType;
-
-        String elementName = ExtendedMetaData.INSTANCE.getName(p.getEStructuralFeature());
-        String operationName = wsdlOperationType.getName();
-        if (!operationName.equals(elementName))
+        Part part = parts.iterator().next();
+        QName elementName=part.getElementName();
+        if (elementName == null)
+            return false;
+        if (elementName.getLocalPart().equals(wsdlOperation.getName()))
+            return true;
+        else
             return false;
-        List attrs = ExtendedMetaData.INSTANCE.getAttributes((EClass) eType.getEClassifier());
-        return attrs.isEmpty();
     }
 
     /**
@@ -152,10 +152,10 @@
             SOAPEnvelope requestEnvelope = new SOAPEnvelopeImpl();
 
             Object input=message.getBody();
-            Message requestMessage = createRequestMessage(moduleContext, wsdlOperationType, input);
+            Message requestMessage = createRequestMessage(moduleContext, wsdlOperation, input);
 
             // Write the SCA message into the SOAP envelope
-            mediator.writeRequest(moduleContext, requestMessage, wsdlOperationType, requestEnvelope);
+            mediator.writeRequest(moduleContext, requestMessage, wsdlOperation, requestEnvelope);
 
             // Invoke the SOAP operation
             call.setRequestMessage(new org.apache.axis.Message(requestEnvelope));
@@ -164,9 +164,9 @@
             // Create an SCA message from the response envelope
             SOAPEnvelope responseEnvelope = call.getResponseMessage().getSOAPEnvelope();
             Message responseMessage = new MessageFactoryImpl().createMessage();
-            mediator.readResponse(moduleContext, responseEnvelope, responseMessage, wsdlOperationType);
+            mediator.readResponse(moduleContext, responseEnvelope, responseMessage, wsdlOperation);
 
-            Object output=getResponse(responseMessage, wsdlOperationType);
+            Object output=getResponse(responseMessage, wsdlOperation);
             responseMessage.setBody(output);
             
             // Generate a message ID
@@ -186,13 +186,13 @@
         }
     }
 
-    public static Object getResponse(Message responseMessage, WSDLOperationType wsdlOperationType) {
+    public static Object getResponse(Message responseMessage, Operation wsdlOperation) {
         Object result = responseMessage.getBody();
         if (result == null)
             return null;
 
         List properties = wsdlOperationType.getOutputType().getProperties();
-        if (isWrappedStyle(wsdlOperationType)) {
+        if (isWrappedStyle(wsdlOperation)) {
             DataObject outputBody = ((DataObject) result).getDataObject(0);
             Property property = (Property) properties.get(0); // the single part
             List argList = property.getType().getProperties();
@@ -212,13 +212,13 @@
         }
     }
 
-    public static Object[] getRequest(Message requestMessage, WSDLOperationType wsdlOperationType) {
+    public static Object[] getRequest(Message requestMessage, Operation wsdlOperation) {
         Object request = requestMessage.getBody();
         if (request == null)
             return null;
 
         List properties = wsdlOperationType.getInputType().getProperties();
-        if (isWrappedStyle(wsdlOperationType)) {
+        if (isWrappedStyle(wsdlOperation)) {
             DataObject inputPart = ((DataObject) request).getDataObject(0); // Get the single part
             Property property = (Property) properties.get(0); // Type of the part
             List argList = property.getType().getProperties();
@@ -242,7 +242,7 @@
     /**
      * @param input
      */
-    public static Message createRequestMessage(TuscanyModuleComponentContext context, WSDLOperationType operationType, Object input) {
+    public static Message createRequestMessage(TuscanyModuleComponentContext context, Operation operation, Object input) {
         Message message = new MessageFactoryImpl().createMessage();
         HelperProvider provider = new HelperProviderImpl((ConfiguredResourceSet) context.getAssemblyModelContext().getAssemblyLoader());
         Type inputType = operationType.getInputType();
@@ -265,7 +265,7 @@
     /**
      * @param response
      */
-    public static Message createResponseMessage(TuscanyModuleComponentContext context, WSDLOperationType operationType, Object response) {
+    public static Message createResponseMessage(TuscanyModuleComponentContext context, Operation operation, Object response) {
         Message message = new MessageFactoryImpl().createMessage();
         HelperProvider provider = new HelperProviderImpl((ConfiguredResourceSet) context.getAssemblyModelContext().getAssemblyLoader());
         Type outputType = operationType.getOutputType();
@@ -293,15 +293,14 @@
      * @param wsBinding
      * @param endpointReference
      */
-    public ExternalWebServiceHandler(TuscanyModuleComponentContext moduleContext, WSDLOperationType operationType, ExternalService externalService, WebServiceBinding wsBinding,
+    public ExternalWebServiceHandler(TuscanyModuleComponentContext moduleContext, Operation wsdlOperation, ExternalService externalService, WebServiceBinding wsBinding,
                              EndpointReference endpointReference) {
 
         this.moduleContext = moduleContext;
-        this.typeHelper = moduleContext.getAssemblyModelContext().getWSDLTypeHelper();
-        this.wsdlOperationType = operationType;
+        this.wsdlOperation = wsdlOperation;
 
         // Get the WSDL port name
-        String portName = wsBinding.getPort();
+        String portName = wsBinding.getWSDLPort();
         if (portName != null) {
 
             // A port name is specified, create a port handler for this port and cache it in the binding model
@@ -413,35 +412,15 @@
         Port wsdlPort = portMetaData.getPort();
         if (wsdlPort != null) {
             // Create the method handler
-            WebServiceOperationMetaData operationMetaData = portMetaData.getOperationMetaData(wsdlOperationType.getName());
+            WebServiceOperationMetaData operationMetaData = portMetaData.getOperationMetaData(wsdlOperation.getName());
             String soapAction = operationMetaData.getSOAPAction();
             return (soapAction);
         } else {
 
             // No WSDL binding, assume a default SOAP document literal binding from the operation type
             // Derive the SOAP action from the input type
-            String namespace;
-            String name;
-            if (wsdlOperationType.getInputType() != null) {
-                Type type = wsdlOperationType.getInputType();
-                namespace = type.getURI();
-                name = type.getName();
-
-                // TODO: [rfeng]
-                // XSD2Ecore will create an extended metadata for anonymous complex type with key name
-                // and value <elementName>_._type or <elementName>_._<index>_._type" if there's
-                // a duplicate
-
-                if (name.indexOf("_._") != -1)
-                    name = name.substring(0, name.indexOf("_._"));
-
-            } else {
-
-                // Derive the SOAP action from the operation name
-                // FIXME:
-                namespace = "";
-                name = wsdlOperationType.getName();
-            }
+            String namespace = "";
+            String name = wsdlOperation.getName();
             String soapAction = namespace + '/' + name;
 
             // Create the method handler

Modified: incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/WebServiceEntryPointBean.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/WebServiceEntryPointBean.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/WebServiceEntryPointBean.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/WebServiceEntryPointBean.java Mon Feb 20 23:36:03 2006
@@ -50,12 +50,12 @@
 import org.apache.tuscany.model.assembly.ConfiguredReference;
 import org.apache.tuscany.model.assembly.ConfiguredService;
 import org.apache.tuscany.model.assembly.EntryPoint;
-import org.apache.tuscany.model.assembly.Interface;
+import org.apache.tuscany.model.assembly.ServiceContract;
 import org.apache.tuscany.model.assembly.Module;
 import org.apache.tuscany.model.assembly.ServiceURI;
 import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
 import org.apache.tuscany.model.types.InterfaceType;
-import org.apache.tuscany.model.types.wsdl.WSDLInterfaceType;
+import org.apache.tuscany.model.types.wsdl.WSDLServiceContract;
 import org.apache.tuscany.model.types.wsdl.WSDLOperationType;
 import org.apache.tuscany.model.types.wsdl.WSDLTypeHelper;
 
@@ -65,7 +65,7 @@
  */
 public class WebServiceEntryPointBean implements ServiceLifecycle {
     private TuscanyModuleComponentContext moduleContext;
-    private WSDLInterfaceType interfaceType;
+    private WSDLServiceContract interfaceType;
     private WebServicePortMetaData portMetaData;
     private EndpointReference toEndpointReference;
     private EndpointReference fromEndpointReference;
@@ -125,7 +125,7 @@
 
             // Get the target service
             ConfiguredReference referenceValue = entryPoint.getConfiguredReference();
-            ConfiguredService targetServiceEndpoint = referenceValue.getConfiguredServices().get(0);
+            ConfiguredService targetServiceEndpoint = referenceValue.getTargetConfiguredServices().get(0);
 
             // Create a service reference for the target  service
             AssemblyFactory assemblyFactory = new AssemblyFactoryImpl();
@@ -136,7 +136,7 @@
             toEndpointReference.setAddress(serviceAddress.getAddress());
 
             // Get the entry point interface
-            Interface serviceInterface = entryPoint.getInterfaceContract();
+            ServiceContract serviceInterface = entryPoint.getServiceContract();
             InterfaceType interfaceEClass = serviceInterface.getInterfaceType();
             if (interfaceEClass != null)
                 toEndpointReference.setPortTypeName(serviceInterface.getInterface());
@@ -154,7 +154,7 @@
 
             // Get the WSDL port name
             WebServiceBinding wsBinding = (WebServiceBinding) entryPoint.getBindings().get(0);
-            QName wsdlPortName = assemblyFactory.createQName(wsBinding.getPort());
+            QName wsdlPortName = assemblyFactory.createQName(wsBinding.getWSDLPort());
 
             WSDLTypeHelper typeHelper = moduleContext.getAssemblyModelContext().getWSDLTypeHelper();
 

Modified: incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/WebServicePortMetaData.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/WebServicePortMetaData.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/WebServicePortMetaData.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/handler/WebServicePortMetaData.java Mon Feb 20 23:36:03 2006
@@ -19,6 +19,7 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+
 import javax.wsdl.Binding;
 import javax.wsdl.BindingOperation;
 import javax.wsdl.Definition;
@@ -32,11 +33,9 @@
 import javax.xml.soap.SOAPBodyElement;
 import javax.xml.soap.SOAPElement;
 
+import org.apache.tuscany.model.types.wsdl.WSDLServiceContract;
 import org.w3c.dom.Element;
 
-import org.apache.tuscany.model.types.wsdl.WSDLInterfaceType;
-import org.apache.tuscany.model.types.wsdl.WSDLTypeHelper;
-
 /**
  * Metadata for a WSDL port
  *
@@ -63,7 +62,7 @@
 
     private List allOperationMetaData;
 
-    private WSDLInterfaceType interfaceType;
+    private WSDLServiceContract interfaceType;
 
     /**
      * Constructor
@@ -71,43 +70,32 @@
      * @param wsdlDefinition
      * @param portName
      */
-    public WebServicePortMetaData(WSDLTypeHelper wsdlTypeHelper, Definition wsdlDefinition, QName portName, String endpoint, boolean managed) {
+    public WebServicePortMetaData(Definition wsdlDefinition, Port wsdlPort, String endpoint, boolean managed) {
 
         // Lookup the named port
-        wsdlPortName = portName;
+        this.wsdlPort=wsdlPort;
+        wsdlPortName = new QName(wsdlDefinition.getTargetNamespace(), wsdlPort.getName());
         for (Iterator i = wsdlDefinition.getServices().values().iterator(); i.hasNext() && wsdlPort == null;) {
             wsdlService = (javax.wsdl.Service) i.next();
-            if (wsdlPortName.getNamespaceURI().equals(wsdlService.getQName().getNamespaceURI())) {
-                wsdlPort = wsdlService.getPort(wsdlPortName.getLocalPart());
-                if (wsdlPort != null) {
-                    wsdlServiceName = wsdlService.getQName();
-                    break;
-                }
+            if (wsdlService.getPorts().containsValue(wsdlPort)) {
+                wsdlServiceName = wsdlService.getQName();
+                break;
             }
         }
-        if (wsdlPort == null) {
-            throw new IllegalArgumentException("WSDL port cannot be found for " + portName);
-        }
 
         // Save the binding
         wsdlBinding = wsdlPort.getBinding();
         if (wsdlBinding == null) {
-            throw new IllegalArgumentException("WSDL binding cannot be found for " + portName);
+            throw new IllegalArgumentException("WSDL binding cannot be found for " + wsdlPortName);
         }
 
         // Save the portType
         wsdlPortType = wsdlBinding.getPortType();
         if (wsdlPortType == null) {
-            throw new IllegalArgumentException("WSDL portType cannot be found for " + portName);
+            throw new IllegalArgumentException("WSDL portType cannot be found for " + wsdlPortName);
         }
         wsdlPortTypeName = wsdlPortType.getQName();
 
-        // Lookup the EClass representing the WSDL portType
-        interfaceType = wsdlTypeHelper.getWSDLInterfaceType(wsdlPortTypeName);
-        if (interfaceType == null) {
-            throw new IllegalArgumentException("WSDL portType interface metadata cannot be found for " + wsdlPortTypeName);
-        }
-
         // Save the endpoint
         this.endpoint = endpoint;
 
@@ -348,7 +336,7 @@
         return null;
     }
 
-    public WSDLInterfaceType getInterfaceType() {
+    public WSDLServiceContract getInterfaceType() {
         return interfaceType;
 	}
 

Modified: incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/mediator/SOAPMediator.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/mediator/SOAPMediator.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/mediator/SOAPMediator.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/mediator/SOAPMediator.java Mon Feb 20 23:36:03 2006
@@ -17,13 +17,13 @@
 package org.apache.tuscany.binding.axis.mediator;
 
 import java.io.IOException;
+
+import javax.wsdl.Operation;
 import javax.xml.soap.SOAPException;
 
 import org.apache.axis.message.SOAPEnvelope;
-import org.osoa.sca.ModuleContext;
-
 import org.apache.tuscany.core.message.Message;
-import org.apache.tuscany.model.types.wsdl.WSDLOperationType;
+import org.osoa.sca.ModuleContext;
 
 /**
  */
@@ -38,7 +38,7 @@
      * @throws IOException
      * @throws SOAPException
      */
-    public void writeRequest(ModuleContext moduleContext, Message message, WSDLOperationType operationType, SOAPEnvelope soapEnvelope) throws IOException, SOAPException;
+    public void writeRequest(ModuleContext moduleContext, Message message, Operation operation, SOAPEnvelope soapEnvelope) throws IOException, SOAPException;
 
     /**
      * Write a response message to a SOAP envelope
@@ -49,7 +49,7 @@
      * @throws IOException
      * @throws SOAPException
      */
-    public void writeResponse(ModuleContext moduleContext, Message message, WSDLOperationType operationType, SOAPEnvelope soapEnvelope) throws IOException, SOAPException;
+    public void writeResponse(ModuleContext moduleContext, Message message, Operation operation, SOAPEnvelope soapEnvelope) throws IOException, SOAPException;
 
     /**
      * Read a request message from a SOAP envelope
@@ -61,7 +61,7 @@
      * @throws IOException
      * @throws SOAPException
      */
-    public void readRequest(ModuleContext moduleContext, SOAPEnvelope soapEnvelope, Message message, WSDLOperationType operationType) throws IOException, SOAPException;
+    public void readRequest(ModuleContext moduleContext, SOAPEnvelope soapEnvelope, Message message, Operation operation) throws IOException, SOAPException;
 
     /**
      * Read a response message from a SOAP envelope
@@ -72,6 +72,6 @@
      * @throws IOException
      * @throws SOAPException
      */
-    public void readResponse(ModuleContext moduleContext, SOAPEnvelope soapEnvelope, Message message, WSDLOperationType operationType) throws IOException, SOAPException;
+    public void readResponse(ModuleContext moduleContext, SOAPEnvelope soapEnvelope, Message message, Operation operation) throws IOException, SOAPException;
 	
 }

Modified: incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/mediator/impl/SOAPBaseMediatorImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/mediator/impl/SOAPBaseMediatorImpl.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/mediator/impl/SOAPBaseMediatorImpl.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/main/java/org/apache/tuscany/binding/axis/mediator/impl/SOAPBaseMediatorImpl.java Mon Feb 20 23:36:03 2006
@@ -19,24 +19,24 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Iterator;
+
 import javax.xml.soap.SOAPException;
 
-import commonj.sdo.DataObject;
 import org.apache.axis.Constants;
 import org.apache.axis.message.MessageElement;
 import org.apache.axis.message.SOAPEnvelope;
 import org.apache.axis.utils.Mapping;
-import org.osoa.sca.ModuleContext;
-
 import org.apache.tuscany.binding.axis.handler.WebServicePortMetaData;
 import org.apache.tuscany.binding.axis.mediator.SOAPMediator;
 import org.apache.tuscany.common.io.util.UTF8String;
-import org.apache.tuscany.model.util.ConfiguredResourceSet;
 import org.apache.tuscany.core.context.TuscanyModuleComponentContext;
-import org.apache.tuscany.core.deprecated.sdo.util.HelperProvider;
-import org.apache.tuscany.core.deprecated.sdo.util.XMLHelper;
-import org.apache.tuscany.core.deprecated.sdo.util.impl.HelperProviderImpl;
 import org.apache.tuscany.core.message.Message;
+import org.apache.tuscany.sdo.helper.HelperProviderImpl;
+import org.osoa.sca.ModuleContext;
+
+import commonj.sdo.DataObject;
+import commonj.sdo.helper.XMLHelper;
+import commonj.sdo.impl.HelperProvider;
 
 /**
  */
@@ -134,12 +134,5 @@
         return helperProvider.getXSDHelper();
     }
     */
-
-    protected static HelperProvider getHelperProvider(ModuleContext moduleContext) {
-        TuscanyModuleComponentContext context = (TuscanyModuleComponentContext) moduleContext;
-        HelperProvider helperProvider = new HelperProviderImpl((ConfiguredResourceSet) context
-                .getAssemblyModelContext().getAssemblyLoader());
-        return helperProvider;
-    }
 
 }

Modified: incubator/tuscany/java/sca/binding.axis/src/test/java/org/apache/tuscany/binding/axis/assembly/tests/WebServiceAssemblyLoaderTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/test/java/org/apache/tuscany/binding/axis/assembly/tests/WebServiceAssemblyLoaderTestCase.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/test/java/org/apache/tuscany/binding/axis/assembly/tests/WebServiceAssemblyLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/test/java/org/apache/tuscany/binding/axis/assembly/tests/WebServiceAssemblyLoaderTestCase.java Mon Feb 20 23:36:03 2006
@@ -20,7 +20,6 @@
 import junit.framework.TestCase;
 
 import org.apache.tuscany.binding.axis.assembly.WebServiceBinding;
-import org.apache.tuscany.model.assembly.AssemblyLoader;
 import org.apache.tuscany.model.assembly.AssemblyModelContext;
 import org.apache.tuscany.model.assembly.Binding;
 import org.apache.tuscany.model.assembly.Component;
@@ -28,6 +27,7 @@
 import org.apache.tuscany.model.assembly.ExternalService;
 import org.apache.tuscany.model.assembly.Module;
 import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
+import org.apache.tuscany.model.assembly.loader.AssemblyLoader;
 
 /**
  */

Modified: incubator/tuscany/java/sca/binding.axis/src/test/java/org/apache/tuscany/binding/axis/mediator/tests/SOAPMediatorTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/binding.axis/src/test/java/org/apache/tuscany/binding/axis/mediator/tests/SOAPMediatorTestCase.java?rev=379388&r1=379387&r2=379388&view=diff
==============================================================================
--- incubator/tuscany/java/sca/binding.axis/src/test/java/org/apache/tuscany/binding/axis/mediator/tests/SOAPMediatorTestCase.java (original)
+++ incubator/tuscany/java/sca/binding.axis/src/test/java/org/apache/tuscany/binding/axis/mediator/tests/SOAPMediatorTestCase.java Mon Feb 20 23:36:03 2006
@@ -41,13 +41,13 @@
 import org.apache.tuscany.core.message.MessageFactory;
 import org.apache.tuscany.core.message.impl.MessageFactoryImpl;
 import org.apache.tuscany.model.assembly.AssemblyFactory;
-import org.apache.tuscany.model.assembly.AssemblyLoader;
 import org.apache.tuscany.model.assembly.AssemblyModelContext;
 import org.apache.tuscany.model.assembly.Module;
 import org.apache.tuscany.model.assembly.ModuleComponent;
 import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
 import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
-import org.apache.tuscany.model.types.wsdl.WSDLInterfaceType;
+import org.apache.tuscany.model.assembly.loader.AssemblyLoader;
+import org.apache.tuscany.model.types.wsdl.WSDLServiceContract;
 import org.apache.tuscany.model.types.wsdl.WSDLOperationType;
 import org.apache.tuscany.model.types.wsdl.WSDLTypeHelper;
 
@@ -106,7 +106,7 @@
         MessageFactory messageFactory = new MessageFactoryImpl();
         Message message = messageFactory.createMessage();
 
-        WSDLInterfaceType interfaceType = modelContext.getWSDLTypeHelper().getWSDLInterfaceType("http://www.example.org/Test/DocLitWrapped#Test");
+        WSDLServiceContract interfaceType = modelContext.getWSDLTypeHelper().getWSDLInterfaceType("http://www.example.org/Test/DocLitWrapped#Test");
         WSDLOperationType operationType = (WSDLOperationType) interfaceType.getOperationType("indexOf");
 
         DataObject input = provider.getDataFactory().create(operationType.getInputType());
@@ -154,7 +154,7 @@
         MessageFactory messageFactory = new MessageFactoryImpl();
         Message message = messageFactory.createMessage();
 
-        WSDLInterfaceType interfaceType = modelContext.getWSDLTypeHelper().getWSDLInterfaceType("http://www.example.org/Test/DocLit#Test");
+        WSDLServiceContract interfaceType = modelContext.getWSDLTypeHelper().getWSDLInterfaceType("http://www.example.org/Test/DocLit#Test");
         WSDLOperationType operationType = (WSDLOperationType) interfaceType.getOperationType("indexOf");
 
         DataObject input = provider.getDataFactory().create(operationType.getInputType());
@@ -200,7 +200,7 @@
         MessageFactory messageFactory = new MessageFactoryImpl();
         Message message = messageFactory.createMessage();
 
-        WSDLInterfaceType interfaceType = modelContext.getWSDLTypeHelper().getWSDLInterfaceType("http://www.example.org/Test/RpcLit#Test");
+        WSDLServiceContract interfaceType = modelContext.getWSDLTypeHelper().getWSDLInterfaceType("http://www.example.org/Test/RpcLit#Test");
         WSDLOperationType operationType = (WSDLOperationType) interfaceType.getOperationType("indexOf");
 
         DataObject input = provider.getDataFactory().create(operationType.getInputType());