diff options
Diffstat (limited to '')
11 files changed, 272 insertions, 8 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-ws-wsdlgen/META-INF/MANIFEST.MF b/sca-java-2.x/trunk/modules/binding-ws-wsdlgen/META-INF/MANIFEST.MF index c71dfdb8d8..43f305bcae 100644 --- a/sca-java-2.x/trunk/modules/binding-ws-wsdlgen/META-INF/MANIFEST.MF +++ b/sca-java-2.x/trunk/modules/binding-ws-wsdlgen/META-INF/MANIFEST.MF @@ -38,6 +38,7 @@ Import-Package: javax.jws;resolution:=optional, org.apache.tuscany.sca.contribution;version="2.0.0";resolution:=optional,
org.apache.tuscany.sca.contribution.resolver;version="2.0.0",
org.apache.tuscany.sca.core;version="2.0.0",
+ org.apache.tuscany.sca.definitions;version="2.0.0",
org.apache.tuscany.sca.databinding;version="2.0.0",
org.apache.tuscany.sca.databinding.jaxb;version="2.0.0",
org.apache.tuscany.sca.interfacedef;version="2.0.0",
diff --git a/sca-java-2.x/trunk/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WebServiceBindingBuilder.java b/sca-java-2.x/trunk/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WebServiceBindingBuilder.java index 2b24df92d2..08f8ce7cf4 100644 --- a/sca-java-2.x/trunk/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WebServiceBindingBuilder.java +++ b/sca-java-2.x/trunk/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WebServiceBindingBuilder.java @@ -27,6 +27,12 @@ import org.apache.tuscany.sca.assembly.builder.BindingBuilder; import org.apache.tuscany.sca.assembly.builder.BuilderContext; import org.apache.tuscany.sca.binding.ws.WebServiceBinding; import org.apache.tuscany.sca.core.ExtensionPointRegistry; +import org.apache.tuscany.sca.core.FactoryExtensionPoint; +import org.apache.tuscany.sca.definitions.Definitions; +import org.apache.tuscany.sca.policy.BindingType; +import org.apache.tuscany.sca.policy.Intent; +import org.apache.tuscany.sca.policy.PolicyFactory; +import org.apache.tuscany.sca.policy.PolicySubject; /** * A factory for the calculated WSDL document needed by Web Service bindings. @@ -52,7 +58,46 @@ public class WebServiceBindingBuilder implements BindingBuilder<WebServiceBindin binding.setBindingInterfaceContract(null); binding.setGeneratedWSDLDocument(null); } + BindingWSDLGenerator.generateWSDL(component, contract, binding, extensionPoints, context.getMonitor()); + + /* + * Set the default mayProvides intent provided by the binding. For example, + * It mayProvides SOAP.v1_1 and SOAP.v1_2. If you don't specify any intents + * it implements SOAP.v1_1 by default and hence the default intent + * is SOAP.v1_1. Binding.ws doesn't allwaysProvide SOAP.v1_1 though as if the + * user specifies the SOAP.v1_2 the binding does SOAP.v1_2 instead of SOAP.v1_1 + */ + boolean addDefaultSOAPIntent = true; + + for(Intent intent : ((PolicySubject)binding).getRequiredIntents()){ + if (intent.getName().getLocalPart().equals("SOAP.v1_1")){ + addDefaultSOAPIntent = false; + break; + } + if (intent.getName().getLocalPart().equals("SOAP.v1_2")){ + addDefaultSOAPIntent = false; + break; + } + } + + if (addDefaultSOAPIntent){ + Definitions systemDefinitions = context.getDefinitions(); + if (systemDefinitions != null){ + BindingType bindingType = systemDefinitions.getBindingType(binding.getType()); + Intent defaultIntent = null; + for (Intent intent : bindingType.getMayProvidedIntents()){ + if (intent.getName().getLocalPart().equals("SOAP.v1_1")){ + defaultIntent = intent; + } + } + + if (defaultIntent != null){ + ((PolicySubject)binding).getRequiredIntents().add(0, defaultIntent); + } + } + } + } public QName getBindingType() { diff --git a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java index ea8d7aba9c..b0be5cb3e8 100644 --- a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java +++ b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/impl/EndpointReferenceBinderImpl.java @@ -822,7 +822,7 @@ public class EndpointReferenceBinderImpl implements EndpointReferenceBinder { } // TUSCANY-3959 - something that's not explicitly stated in the spec. mayProvides intents don't - // don't lead to policy sets as the binding natively implements the intent. So + // lead to policy sets as the binding natively implements the intent. So // we need to check that these intents match explicitly between reference and service // sides if (eprMayProvideInterationIntents.size() > 0){ @@ -838,8 +838,7 @@ public class EndpointReferenceBinderImpl implements EndpointReferenceBinder { if (!match){ matchAudit.append("No match because the reference has a mayProvide intent that the service doesn't have " + eprIntent.getName()); matchAudit.appendSeperator(); - // Causing POL 4031 to fail - //return false; + return false; } } } diff --git a/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/RequiresExt.java b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/RequiresExt.java new file mode 100644 index 0000000000..e72aa98420 --- /dev/null +++ b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/RequiresExt.java @@ -0,0 +1,56 @@ +/*
+ * 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.tuscany.sca.interfacedef.wsdl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.xml.namespace.QName;
+
+/**
+ * A class to serve as the extensibility element for policy requires elements
+ */
+public class RequiresExt implements ExtensibilityElement {
+
+ private QName elementType = null;
+ private List<QName> intents = new ArrayList<QName>();
+
+ // -- methods required by the Extensibility Element interface
+ public QName getElementType() {
+ return elementType;
+ }
+
+ public Boolean getRequired() {
+ return true;
+ }
+
+ public void setElementType(QName theName ) {
+ elementType = theName;
+ }
+
+ public void setRequired(Boolean required) {
+ // intentionally left blank
+ }
+
+ // -- other methods
+ public List<QName> getIntents(){
+ return intents;
+ }
+}
diff --git a/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java index dd19407abe..642aa81179 100644 --- a/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java +++ b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java @@ -25,11 +25,14 @@ import java.util.List; import java.util.Vector; import javax.wsdl.PortType; +import javax.wsdl.extensions.ExtensibilityElement; +import javax.wsdl.extensions.UnknownExtensibilityElement; import javax.xml.namespace.QName; import org.apache.tuscany.sca.contribution.resolver.ModelResolver; import org.apache.tuscany.sca.core.FactoryExtensionPoint; import org.apache.tuscany.sca.interfacedef.Operation; +import org.apache.tuscany.sca.interfacedef.wsdl.RequiresExt; import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory; import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; @@ -38,6 +41,7 @@ import org.apache.tuscany.sca.monitor.Monitor; import org.apache.tuscany.sca.policy.Intent; import org.apache.tuscany.sca.policy.PolicyFactory; import org.apache.tuscany.sca.xsd.XSDFactory; +import org.w3c.dom.Element; /** * Introspector for creating WSDLInterface definitions from WSDL PortTypes. @@ -108,6 +112,8 @@ public class WSDLInterfaceIntrospectorImpl { } // end method processCallbackAttribute private void processIntents(WSDLInterface wsdlInterface, PortType portType) { + + // process @requires attribute Object o; try { o = portType.getExtensionAttribute(POLICY_REQUIRES); @@ -128,7 +134,22 @@ public class WSDLInterfaceIntrospectorImpl { wsdlInterface.getRequiredIntents().add(intent); } + } + + // process <sca:requires/> element + for(Object object : portType.getExtensibilityElements()){ + ExtensibilityElement element = (ExtensibilityElement)object; + if (element.getElementType().equals(POLICY_REQUIRES)){ + RequiresExt requires = ((RequiresExt)element); + + for (QName intentName : requires.getIntents()){ + Intent intent = policyFactory.createIntent(); + intent.setName(intentName); + + wsdlInterface.getRequiredIntents().add(intent); + } + } } } diff --git a/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/PolicyExtensionHandler.java b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/PolicyExtensionHandler.java new file mode 100644 index 0000000000..937be6a57f --- /dev/null +++ b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/PolicyExtensionHandler.java @@ -0,0 +1,119 @@ +/*
+ * 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.tuscany.sca.interfacedef.wsdl.xml;
+
+import java.io.PrintWriter;
+
+import javax.wsdl.Definition;
+import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.ExtensionDeserializer;
+import javax.wsdl.extensions.ExtensionRegistry;
+import javax.wsdl.extensions.ExtensionSerializer;
+import javax.xml.namespace.QName;
+
+import org.apache.tuscany.sca.interfacedef.wsdl.RequiresExt;
+import org.w3c.dom.Element;
+
+/**
+ * A WSDL extension processor for extension policy elements of the form:
+ *
+ * <sca:requires intents="sca:SOAP.v1_1"/>
+ *
+ */
+public class PolicyExtensionHandler implements ExtensionSerializer, ExtensionDeserializer {
+
+ /**
+ * Marshals the requires extension element to XML
+ * See (@link javax.wsdl.extensions.ExtensionSerializer)
+ */
+ @SuppressWarnings("unchecked")
+ public void marshall(Class parentType,
+ QName elementType,
+ ExtensibilityElement theElement,
+ PrintWriter writer,
+ Definition def,
+ ExtensionRegistry extReg)
+ throws WSDLException {
+
+ RequiresExt requires = (RequiresExt) theElement;
+ QName theType = requires.getElementType();
+
+ writer.println("<" + theType.toString() +
+ " intents=\"");
+
+ for(QName intentName : requires.getIntents()){
+ writer.println(intentName + " ");
+ }
+
+ writer.println("\">");
+ }
+
+ /**
+ * Unmarshals the requires extension element from XML
+ */
+ @SuppressWarnings("unchecked")
+ public ExtensibilityElement unmarshall(Class theClass,
+ QName elementType,
+ Element theElement,
+ Definition def,
+ ExtensionRegistry extReg)
+ throws WSDLException {
+
+ // Check that this elementType really is a requires element
+ if( !elementType.getLocalPart().equals("requires") ){
+ return null;
+ }
+
+ RequiresExt requires = new RequiresExt();
+ requires.setElementType(elementType);
+
+ String intents = theElement.getAttribute("intents");
+ String[] intentArray = intents.split(" +");
+
+ for (int i=0; i < intentArray.length; i++){
+ String intentNameString = intentArray[i];
+ QName intentQName = getQNameValue( def, intentNameString);
+ requires.getIntents().add(intentQName);
+ }
+
+ return requires;
+ }
+
+ /**
+ * Returns a QName from a string.
+ * @param definition - a WSDL Definition
+ * @param value - the String from which to form the QName in the form "pref:localName"
+ * @return
+ */
+ protected QName getQNameValue(Definition definition, String value) {
+ if (value != null && definition != null) {
+ int index = value.indexOf(':');
+ String prefix = index == -1 ? "" : value.substring(0, index);
+ String localName = index == -1 ? value : value.substring(index + 1);
+ String ns = definition.getNamespace(prefix);
+ if (ns == null) {
+ ns = "";
+ }
+ return new QName(ns, localName, prefix);
+ } else {
+ return null;
+ }
+ }
+}
diff --git a/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java index fdb562b1b7..354cca8392 100644 --- a/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java +++ b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java @@ -103,6 +103,7 @@ public class WSDLModelResolver implements ModelResolver { // ---- SCA Policy WSDL Attachments public static final QName Q_POLICY_ATTRIBUTE_EXTENSION = new QName("http://docs.oasis-open.org/ns/opencsa/sca/200912", "requires"); + public static final QName Q_POLICY_ELEMENT_EXTENSION = new QName("http://docs.oasis-open.org/ns/opencsa/sca/200912", "requires"); public static final QName Q_POLICY_END_CONVERSATION_ATTRIBUTE_EXTENSION = new QName("http://docs.oasis-open.org/ns/opencsa/sca/200912", "endsConversation"); // ---- SCA Callback WSDL Extension public static final QName Q_CALLBACK_ATTRIBUTE_EXTENSION = new QName("http://docs.oasis-open.org/ns/opencsa/sca/200912", "callback" ); @@ -134,6 +135,7 @@ public class WSDLModelResolver implements ModelResolver { this.xsdFactory = modelFactories.getFactory(XSDFactory.class); wsdlExtensionRegistry = this.wsdl4jFactory.newPopulatedExtensionRegistry(); + // REVIEW: [rfeng] Disable the schema extension for WSDL4J to avoid aggressive loading ExtensionDeserializer deserializer = new UnknownExtensionDeserializer(); ExtensionSerializer serializer = new UnknownExtensionSerializer(); @@ -141,11 +143,17 @@ public class WSDLModelResolver implements ModelResolver { wsdlExtensionRegistry.registerSerializer(Types.class, schema, serializer); wsdlExtensionRegistry.registerDeserializer(Types.class, schema, deserializer); } + // ---- Policy WSDL Extensions try { wsdlExtensionRegistry.registerExtensionAttributeType(PortType.class, Q_POLICY_ATTRIBUTE_EXTENSION, AttributeExtensible.LIST_OF_QNAMES_TYPE); wsdlExtensionRegistry.registerExtensionAttributeType(Operation.class, Q_POLICY_END_CONVERSATION_ATTRIBUTE_EXTENSION, AttributeExtensible.STRING_TYPE); wsdlExtensionRegistry.registerExtensionAttributeType(PortType.class, Q_CALLBACK_ATTRIBUTE_EXTENSION, AttributeExtensible.QNAME_TYPE); + + serializer = new PolicyExtensionHandler(); + deserializer = new PolicyExtensionHandler(); + wsdlExtensionRegistry.registerSerializer(PortType.class, Q_POLICY_ELEMENT_EXTENSION, serializer); + wsdlExtensionRegistry.registerDeserializer(PortType.class, Q_POLICY_ELEMENT_EXTENSION, deserializer); } catch (NoSuchMethodError e) { // That method does not exist on older WSDL4J levels } diff --git a/sca-java-2.x/trunk/testing/compliance-tests/java-caa/src/test/resources/tuscany-oasis-sca-tests-errors.properties b/sca-java-2.x/trunk/testing/compliance-tests/java-caa/src/test/resources/tuscany-oasis-sca-tests-errors.properties index 2019cf230a..45810997ef 100644 --- a/sca-java-2.x/trunk/testing/compliance-tests/java-caa/src/test/resources/tuscany-oasis-sca-tests-errors.properties +++ b/sca-java-2.x/trunk/testing/compliance-tests/java-caa/src/test/resources/tuscany-oasis-sca-tests-errors.properties @@ -61,13 +61,14 @@ JCA_10050=org.oasisopen.sca.ServiceRuntimeException: [Composite: {http://docs.oa JCA_10051=org.apache.tuscany.sca.contribution.processor.ContributionResolveException: org.apache.tuscany.sca.implementation.java.IntrospectionException: [JCA90059] The array of interfaces or classes specified by the value attribute of the @Service annotation
JCA_10052=org.apache.tuscany.sca.contribution.processor.ContributionResolveException: org.apache.tuscany.sca.implementation.java.IntrospectionException: [JCA90060] The value of each element in the @Service names array MUST be unique amongst all the other element values in the array
JCA_11005=org.oasisopen.sca.ServiceRuntimeException: [Component: TEST_JCA_11005Component1, Service: Service1] - [JCA100006] JAX-WS client-side asynchronous polling and callback methods are not allowed in service interfaces
-JCA_11010=org.oasisopen.sca.ServiceRuntimeException: [Composite: {http://docs.oasis-open.org/ns/opencsa/sca/200912}, Component: TEST_JCA_11010Component1, Service: Service1] - [POL40009,ASM60009,ASM60010,JCA70001,JCA70003] Intent {http://docs.oasis-open.org/ns/opencsa/scatests/200903}antiSoap and {http://docs.oasis-open.org/ns/opencsa/sca/200912}SOAP.v1_1 are mutually exclusive
-JCA_11011=org.oasisopen.sca.ServiceRuntimeException: [Composite: {http://docs.oasis-open.org/ns/opencsa/sca/200912}, Component: TEST_JCA_11011Component1, Service: Service1] - [POL40009,ASM60009,ASM60010,JCA70001,JCA70003] Intent {http://docs.oasis-open.org/ns/opencsa/scatests/200903}antiSoap and {http://docs.oasis-open.org/ns/opencsa/sca/200912}SOAP.v1_1 are mutually exclusive
-JCA_11012=org.oasisopen.sca.ServiceRuntimeException: [Composite: {http://docs.oasis-open.org/ns/opencsa/sca/200912}, Component: TEST_JCA_11012Component1, Service: Service1] - [POL40009,ASM60009,ASM60010,JCA70001,JCA70003] Intent {http://docs.oasis-open.org/ns/opencsa/scatests/200903}antiSoap and {http://docs.oasis-open.org/ns/opencsa/sca/200912}SOAP.v1_1 are mutually exclusive
+JCA_11010=org.oasisopen.sca.ServiceRuntimeException: [Composite: {http://docs.oasis-open.org/ns/opencsa/sca/200912}, Component: TEST_JCA_11010Component1, Service: Service1] - [POL40009,ASM60009,ASM60010,JCA70001,JCA70003] Intent {http://docs.oasis-open.org/ns/opencsa/sca/200912}SOAP.v1_1 and {http://docs.oasis-open.org/ns/opencsa/scatests/200903}antiSoap are mutually exclusive
+JCA_11011=org.oasisopen.sca.ServiceRuntimeException: [Composite: {http://docs.oasis-open.org/ns/opencsa/sca/200912}, Component: TEST_JCA_11011Component1, Service: Service1] - [POL40009,ASM60009,ASM60010,JCA70001,JCA70003] Intent {http://docs.oasis-open.org/ns/opencsa/sca/200912}SOAP.v1_1 and {http://docs.oasis-open.org/ns/opencsa/scatests/200903}antiSoap are mutually exclusive
+JCA_11012=org.oasisopen.sca.ServiceRuntimeException: [Composite: {http://docs.oasis-open.org/ns/opencsa/sca/200912}, Component: TEST_JCA_11012Component1, Service: Service1] - [POL40009,ASM60009,ASM60010,JCA70001,JCA70003] Intent {http://docs.oasis-open.org/ns/opencsa/sca/200912}SOAP.v1_1 and {http://docs.oasis-open.org/ns/opencsa/scatests/200903}antiSoap are mutually exclusive
JCA_11013=org.oasisopen.sca.ServiceRuntimeException: [Composite: {http://docs.oasis-open.org/ns/opencsa/sca/200912}, Component: TEST_JCA_11013Component1, Service: Service1] - [POL40009,ASM60009,ASM60010,JCA70001,JCA70003] Intent {http://docs.oasis-open.org/ns/opencsa/scatests/200903}antiSoap and {http://docs.oasis-open.org/ns/opencsa/sca/200912}SOAP are mutually exclusive
JCA_11014=org.oasisopen.sca.ServiceRuntimeException: [Contribution: JCA_11014, Composite: {http://docs.oasis-open.org/ns/opencsa/scatests/200903}TEST_JCA_11014] - [JCA100018] Forbidden annotation interface javax.xml.ws.WebServiceClient found in class org.oasisopen.sca.test.Service1WithWebServiceClient
-JCA_11016=Test service got an exception during execution: org.oasisopen.sca.ServiceRuntimeException Unable to bind [] - Unable to match the endpoint reference (***)EndpointReference: URI = TEST_JCA_11016Component1#reference(reference1) WIRED_TARGET_NOT_FOUND Target = (***)Endpoint: URI = TEST_JCA_11016Component2#service(Service3OperationsWebServiceProviderImpl) [Unresolved] with the policy of the service to which it refers, matching process was Match policy of (***)EndpointReference: URI = TEST_JCA_11016Component1#reference(reference1) WIRED_TARGET_NOT_FOUND Target = (***)Endpoint: URI = TEST_JCA_11016Component2#service(Service3OperationsWebServiceProviderImpl) [Unresolved] to (***)Endpoint: URI = TEST_JCA_11016Component2#service-binding(Service3OperationsWebServiceProviderImpl/Service3OperationsWebServiceProviderImpl) Match because there are no intents or policies |||Match interface of (***)EndpointReference: URI = TEST_JCA_11016Component1#reference(reference1) WIRED_TARGET_NOT_FOUND Target = (***)Endpoint: URI = TEST_JCA_11016Component2#service(Service3OperationsWebServiceProviderImpl) [Unresolved] to (***)Endpoint: URI = TEST_JCA_11016Component2#service-binding(Service3OperationsWebServiceProviderImpl/Service3OperationsWebServiceProviderImpl) Operation operation3 not found on target|||Match failed because the interface contract mapper failed |||
+JCA_11016=Test service got an exception during execution: org.oasisopen.sca.ServiceRuntimeException Unable to bind [] - Unable to match the endpoint reference (***)EndpointReference: URI = TEST_JCA_11016Component1#reference(reference1) WIRED_TARGET_NOT_FOUND Target = (***)Endpoint: URI = TEST_JCA_11016Component2#service(Service3OperationsWebServiceProviderImpl) [Unresolved] with the policy of the service to which it refers, matching process was Match policy of (***)EndpointReference: URI = TEST_JCA_11016Component1#reference(reference1) WIRED_TARGET_NOT_FOUND Target = (***)Endpoint: URI = TEST_JCA_11016Component2#service(Service3OperationsWebServiceProviderImpl) [Unresolved] to (***)Endpoint: URI = TEST_JCA_11016Component2#service-binding(Service3OperationsWebServiceProviderImpl/Service3OperationsWebServiceProviderImpl) Match because the intents are resolved and there are no policy sets |||Match interface of (***)EndpointReference: URI = TEST_JCA_11016Component1#reference(reference1) WIRED_TARGET_NOT_FOUND Target = (***)Endpoint: URI = TEST_JCA_11016Component2#service(Service3OperationsWebServiceProviderImpl) [Unresolved] to (***)Endpoint: URI = TEST_JCA_11016Component2#service-binding(Service3OperationsWebServiceProviderImpl/Service3OperationsWebServiceProviderImpl) Operation operation3 not found on target|||Match failed because the interface contract mapper failed |||
JCA_11020=Test service got an exception during execution: java.lang.IllegalArgumentException No matching operation is found: public abstract java.lang.String org.oasisopen.sca.test.Service2Operations.operation1(java.lang.String)
+JCA_11022=org.oasisopen.sca.ServiceRuntimeException: [Composite: {http://docs.oasis-open.org/ns/opencsa/sca/200912}, Component: TEST_JCA_11022Component2] - Component type service not found for component service (missing @Remotable annotation?): Component = TEST_JCA_11022Component2 Service = ServiceWithName
# Intent and PolicySet related tests
JCA_8001=org.oasisopen.sca.ServiceRuntimeException: [Composite: {http://docs.oasis-open.org/ns/opencsa/sca/200912}, Component: TEST_JCA_8001Component1, Service: Service1] - [POL40009,ASM60009,ASM60010,JCA70001,JCA70003] Intent {http://docs.oasis-open.org/ns/opencsa/scatests/200903}testIntent2 and {http://docs.oasis-open.org/ns/opencsa/scatests/200903}testIntent1 are mutually exclusive
JCA_8002=org.apache.tuscany.sca.contribution.processor.ContributionResolveException: org.apache.tuscany.sca.contribution.processor.ContributionResolveException: Processing composite {http://docs.oasis-open.org/ns/opencsa/scatests/200903}TEST_JCA_8002: Resolving Java implementation: org.oasisopen.sca.test.service1BadIntent, [JCA70002,JCA70005] Method that is not an SCA reference cannot have policySet/intent annotations: public java.lang.String org.oasisopen.sca.test.service1BadIntent.operation1(java.lang.String)
diff --git a/sca-java-2.x/trunk/testing/itest/callback-two-nodes/pom.xml b/sca-java-2.x/trunk/testing/itest/callback-two-nodes/pom.xml index 266eaacd8d..c7db9362d5 100644 --- a/sca-java-2.x/trunk/testing/itest/callback-two-nodes/pom.xml +++ b/sca-java-2.x/trunk/testing/itest/callback-two-nodes/pom.xml @@ -53,6 +53,7 @@ <artifactId>jetty</artifactId> <version>6.1.19</version> </dependency> + <dependency> <groupId>org.apache.tuscany.sca</groupId> <artifactId>tuscany-domain-hazelcast</artifactId> @@ -60,6 +61,19 @@ <scope>test</scope> </dependency> + <dependency> + <groupId>org.codehaus.woodstox</groupId> + <artifactId>wstx-asl</artifactId> + <version>3.2.9</version> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>stax</groupId> + <artifactId>stax-api</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> <properties> diff --git a/sca-java-2.x/trunk/testing/itest/interface-matching/src/test/java/org/apache/tuscany/sca/itest/interfaces/InerfaceMissmatchTestCase.java b/sca-java-2.x/trunk/testing/itest/interface-matching/src/test/java/org/apache/tuscany/sca/itest/interfaces/InerfaceMissmatchTestCase.java index ea3bd34254..636f6cb789 100644 --- a/sca-java-2.x/trunk/testing/itest/interface-matching/src/test/java/org/apache/tuscany/sca/itest/interfaces/InerfaceMissmatchTestCase.java +++ b/sca-java-2.x/trunk/testing/itest/interface-matching/src/test/java/org/apache/tuscany/sca/itest/interfaces/InerfaceMissmatchTestCase.java @@ -211,7 +211,6 @@ public class InerfaceMissmatchTestCase { *
* @throws Exception
*/
- @Ignore
@Test
public void testPolicyDistributedRemotable() throws Exception {
diff --git a/sca-java-2.x/trunk/testing/itest/policy/pom.xml b/sca-java-2.x/trunk/testing/itest/policy/pom.xml index 40b618a7d1..4e62039bbd 100644 --- a/sca-java-2.x/trunk/testing/itest/policy/pom.xml +++ b/sca-java-2.x/trunk/testing/itest/policy/pom.xml @@ -32,6 +32,7 @@ <modules> <module>matching</module> <module>wspolicy</module> + <module>operations</module> <!-- <module>interceptors</module> --> |