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());