[jboss-svn-commits] JBL Code SVN: r23660 - in labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta: src/org/jboss/internal/soa/esb/webservice and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Oct 31 13:43:04 EDT 2008


Author: tfennelly
Date: 2008-10-31 13:43:04 -0400 (Fri, 31 Oct 2008)
New Revision: 23660

Added:
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/util/SetAttribute.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/addressing-ext.smooks.xml
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.expected.wsdl
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.xml
Modified:
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBContractGenerator.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/dom/YADOMUtil.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/schedule/SchedulerJob.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/ESBContractGeneratorUnitTest.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_06.xml
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_07.xml
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_08.xml
Log:
WS-A WSDL Binding extensions: https://jira.jboss.org/jira/browse/JBESB-2026

Added: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/util/SetAttribute.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/util/SetAttribute.java	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/util/SetAttribute.java	2008-10-31 17:43:04 UTC (rev 23660)
@@ -0,0 +1,70 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.internal.soa.esb.util;
+
+import org.milyn.delivery.dom.DOMVisitBefore;
+import org.milyn.container.ExecutionContext;
+import org.milyn.SmooksException;
+import org.milyn.expression.MVELExpressionEvaluator;
+import org.milyn.javabean.BeanAccessor;
+import org.milyn.cdr.annotation.ConfigParam;
+import org.w3c.dom.Element;
+
+import javax.xml.XMLConstants;
+
+/**
+ * Set an attribute on an element.
+ * <p/>
+ * Value pulled from bean context via an expression.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SetAttribute implements DOMVisitBefore {
+
+    @ConfigParam
+    private String attribute;
+
+    @ConfigParam (use = ConfigParam.Use.OPTIONAL)
+    private String attributeNS;
+
+    @ConfigParam
+    private MVELExpressionEvaluator valueExpression;
+
+    @ConfigParam (defaultVal = "true")
+    private boolean bindNSPrefix;
+
+    public void visitBefore(Element element, ExecutionContext executionContext) throws SmooksException {
+        String[] attributeNameTokens = attribute.split(":");
+        Object attributeValue = valueExpression.getValue(BeanAccessor.getBeanMap(executionContext));
+
+        if(attributeNameTokens.length == 2) {
+            if(attributeNS == null) {
+                throw new SmooksException("Qualified 'attributeName' specified ('" + attribute + "'), but no 'attributeNamespace' specified.");
+            }
+
+            element.setAttributeNS(attributeNS, attribute, attributeValue.toString());
+            if(bindNSPrefix) {
+                element.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, XMLConstants.XMLNS_ATTRIBUTE + ":" + attributeNameTokens[0], attributeNS);
+            }
+        } else {
+            element.setAttribute(attribute, attributeValue.toString());
+        }
+    }
+}


Property changes on: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/util/SetAttribute.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBContractGenerator.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBContractGenerator.java	2008-10-31 17:36:26 UTC (rev 23659)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBContractGenerator.java	2008-10-31 17:43:04 UTC (rev 23660)
@@ -20,13 +20,11 @@
 package org.jboss.internal.soa.esb.webservice;
 
 import java.io.StringWriter;
+import java.io.IOException;
 import java.security.AccessController;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import javax.wsdl.Binding;
 import javax.wsdl.BindingFault;
@@ -46,6 +44,10 @@
 import javax.wsdl.extensions.soap.SOAPOperation;
 import javax.wsdl.factory.WSDLFactory;
 import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.XMLConstants;
 
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.dom.YADOMUtil;
@@ -55,6 +57,7 @@
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
 
 import com.ibm.wsdl.extensions.schema.SchemaImpl;
 import com.ibm.wsdl.extensions.soap.SOAPAddressImpl;
@@ -66,8 +69,9 @@
 public class ESBContractGenerator {
 	private static final QName XSD_QN = new QName("http://www.w3.org/2001/XMLSchema", "schema");
 	private static WSDLFactory wsdlFactory ;
- 
-	public static String generateWSDL(final Service serviceConfig, final ESBServiceEndpointInfo serviceInfo)
+    private static final String WSAW_NS = "http://www.w3.org/2006/05/addressing/wsdl";
+
+    public static String generateWSDL(final Service serviceConfig, final ESBServiceEndpointInfo serviceInfo)
 			throws ConfigurationException {
 		final Definition def = getWSDLFactory().newDefinition() ;
 		final String namespace = serviceInfo.getNamespace() ;
@@ -145,10 +149,61 @@
 		} catch (WSDLException e) {
 			throw new ConfigurationException("Failed to generate wsdl for service:" + serviceConfig.getCategory() + "/" + serviceConfig.getName() , e);
 		}
-		return sw.toString();
+
+        addAddressingExtensions(sw, serviceInfo);
+
+        return sw.toString();
 	}
 
-	private static void addSchema(Types types, Element xsdElement) {
+    /**
+     * Add the WS-A wsld binding extensions.
+     * <p/>
+     * Some versions of WSDL4J support doing this via the API, but the version in the AS
+     * throws an error when trying to add the "UsingAddressing" extension to the binding.
+     * After a quick google, it looks like a WSDL4J versioning issue and support for different
+     * extension elements there in. So it's safer to manually add it to the wsdl.
+     *
+     * @param wsdlWriter The WSLD writer.
+     * @param serviceInfo The Service info.
+     * @throws ConfigurationException Error creating Smooks config.
+     */
+    private static void addAddressingExtensions(StringWriter wsdlWriter, ESBServiceEndpointInfo serviceInfo) throws ConfigurationException {
+        Document wsdlDoc;
+
+        try {
+            wsdlDoc = YADOMUtil.parse(wsdlWriter.toString(), true);
+        } catch (Exception e) {
+            throw new ConfigurationException("Unable to parse WSDL document for adding WS-A WSDL Binding extensions.", e);
+        }
+
+        // Add the "UsingAddressing" extension...
+        Element bindingOpElement = (Element) YADOMUtil.getNode(wsdlDoc, "/wsdl:definitions/wsdl:binding/wsdl:operation", "wsdl|http://schemas.xmlsoap.org/wsdl/");
+        if(bindingOpElement != null) {
+            Element usingAddressing = wsdlDoc.createElementNS(WSAW_NS, "wsaw:UsingAddressing");
+
+            usingAddressing.setAttributeNS("http://schemas.xmlsoap.org/wsdl/", "wsdl:required", Boolean.toString(serviceInfo.isAddressing()));
+            bindingOpElement.getParentNode().insertBefore(usingAddressing, bindingOpElement);
+        }
+
+        // Add the input action...
+        Element inputElement = (Element) YADOMUtil.getNode(wsdlDoc, "/wsdl:definitions/wsdl:portType/wsdl:operation/wsdl:input", "wsdl|http://schemas.xmlsoap.org/wsdl/");
+        if(inputElement != null) {
+            inputElement.setAttributeNS(WSAW_NS, "wsaw:Action", serviceInfo.getRequestAction());
+            inputElement.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, XMLConstants.XMLNS_ATTRIBUTE + ":wsaw", WSAW_NS);
+        }
+
+        // Add the output action...
+        Element outputElement = (Element) YADOMUtil.getNode(wsdlDoc, "/wsdl:definitions/wsdl:portType/wsdl:operation/wsdl:output", "wsdl|http://schemas.xmlsoap.org/wsdl/");
+        if(outputElement != null) {
+            outputElement.setAttributeNS(WSAW_NS, "wsaw:Action", serviceInfo.getResponseAction());
+            outputElement.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, XMLConstants.XMLNS_ATTRIBUTE + ":wsaw", WSAW_NS);
+        }
+
+        wsdlWriter.getBuffer().setLength(0);
+        YADOMUtil.serialize(wsdlDoc, new StreamResult(wsdlWriter), true);
+    }
+
+    private static void addSchema(Types types, Element xsdElement) {
 		SchemaImpl schemaImpl = new SchemaImpl();
 		schemaImpl.setElement(xsdElement);
 		schemaImpl.setElementType(XSD_QN);
@@ -240,7 +295,7 @@
 		return portType;
 	}
 
-	private static Binding addBinding(Definition def, final ESBServiceEndpointInfo serviceInfo, PortType portType) {
+	private static Binding addBinding(Definition def, final ESBServiceEndpointInfo serviceInfo, PortType portType) throws ConfigurationException {
 		// add binding
 		Binding binding = def.createBinding();
 		binding.setUndefined(false);

Added: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/addressing-ext.smooks.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/addressing-ext.smooks.xml	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/addressing-ext.smooks.xml	2008-10-31 17:43:04 UTC (rev 23660)
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+    <resource-config selector="binding/operation" selector-namespace="http://schemas.xmlsoap.org/wsdl/">
+        <resource type="ftl"><!--<wsaw:UsingAddressing wsdl:required="<#if serviceInfo.addressing>true<#else>false</#if>" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" />-->
+        </resource>
+        <param name="action">insertbefore</param>
+    </resource-config>
+
+    <resource-config selector="portType/operation/input" selector-namespace="http://schemas.xmlsoap.org/wsdl/">
+        <resource>org.jboss.internal.soa.esb.util.SetAttribute</resource>
+        <param name="attribute">wsaw:Action</param>
+        <param name="attributeNS">http://www.w3.org/2006/05/addressing/wsdl</param>
+        <param name="valueExpression">serviceInfo.requestAction</param>
+    </resource-config>
+
+    <resource-config selector="portType/operation/output" selector-namespace="http://schemas.xmlsoap.org/wsdl/">
+        <resource>org.jboss.internal.soa.esb.util.SetAttribute</resource>
+        <param name="attribute">wsaw:Action</param>
+        <param name="attributeNS">http://www.w3.org/2006/05/addressing/wsdl</param>
+        <param name="valueExpression">serviceInfo.responseAction</param>
+    </resource-config>
+
+    <!-- TODO: Fault Action not available in ServiceInfo.  Kev wanted it this way?? -->
+
+</smooks-resource-list>
\ No newline at end of file


Property changes on: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/addressing-ext.smooks.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/dom/YADOMUtil.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/dom/YADOMUtil.java	2008-10-31 17:36:26 UTC (rev 23659)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/dom/YADOMUtil.java	2008-10-31 17:43:04 UTC (rev 23660)
@@ -26,8 +26,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.util.List;
-import java.util.Vector;
+import java.util.*;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
@@ -42,6 +41,7 @@
 import javax.xml.xpath.XPathConstants;
 import javax.xml.xpath.XPathExpressionException;
 import javax.xml.xpath.XPathFactory;
+import javax.xml.namespace.NamespaceContext;
 
 import org.jboss.internal.soa.esb.assertion.AssertArgument;
 import org.jboss.soa.esb.ConfigurationException;
@@ -96,6 +96,17 @@
     }
 
     /**
+     * Parse the supplied XML String and return the associated W3C Document object.
+     *
+     * @param xml XML String.
+     * @param namespaceAware True if the parse it to be namespace aware, otherwise false.
+     * @return The W3C Document object associated with the input stream.
+     */
+    public static Document parse(String xml, boolean namespaceAware) throws SAXException, IOException {
+        return parseStream(new ByteArrayInputStream(xml.getBytes()), false, false, namespaceAware);
+    }
+
+    /**
      * Parse the XML stream and return the associated W3C Document object.
      * <p/>
      * Performs a namespace unaware parse.
@@ -358,6 +369,22 @@
      *         document, or null.
      */
     public static NodeList getNodeList(Node node, String xpath) {
+        return getNodeList(node, xpath, null);
+    }
+
+    /**
+     * Get the W3C NodeList instance associated with the XPath selection
+     * supplied.
+     * <p/>
+     * <b>NOTE</b>: Taken from Milyn Commons.
+     *
+     * @param node  The document node to be searched.
+     * @param xpath The XPath String to be used in the selection.
+     * @param namespaces List of namespaces in the format "prefix|namespace".
+     * @return The W3C NodeList instance at the specified location in the
+     *         document, or null.
+     */
+    public static NodeList getNodeList(Node node, String xpath, String... namespaces) {
         if (node == null) {
             throw new IllegalArgumentException(
                     "null 'document' arg in method call.");
@@ -368,6 +395,10 @@
         try {
             XPath xpathEvaluater = xPathFactory.newXPath();
 
+            if(namespaces != null) {
+                xpathEvaluater.setNamespaceContext(new NamespaceRegistry(namespaces));
+            }
+
             if (xpath.endsWith(ELEMENT_NAME_FUNC)) {
                 return (NodeList) xpathEvaluater.evaluate(xpath.substring(0,
                         xpath.length() - ELEMENT_NAME_FUNC.length()), node,
@@ -393,8 +424,23 @@
      *         or null.
      */
     public static Node getNode(Node node, String xpath) {
-        NodeList nodeList = getNodeList(node, xpath);
+        return getNode(node, xpath, null);
+    }
 
+    /**
+     * Get the W3C Node instance associated with the XPath selection supplied.
+     * <p/>
+     * <b>NOTE</b>: Taken from Milyn Commons.
+     *
+     * @param node  The document node to be searched.
+     * @param xpath The XPath String to be used in the selection.
+     * @param namespaces List of namespaces in the format "prefix|namespace".
+     * @return The W3C Node instance at the specified location in the document,
+     *         or null.
+     */
+    public static Node getNode(Node node, String xpath, String... namespaces) {
+        NodeList nodeList = getNodeList(node, xpath, namespaces);
+
         if (nodeList == null || nodeList.getLength() == 0) {
             return null;
         } else {
@@ -441,4 +487,47 @@
             target.appendChild((Node)nodeList.get(i));
         }
     }
+
+    private static class NamespaceRegistry implements NamespaceContext {
+
+        private Map<String, String> namespaces = new HashMap<String, String>();
+
+        private NamespaceRegistry(String[] namespaces) {
+            for(String namespace : namespaces) {
+                String[] namepaceTokens = namespace.split("\\|");
+
+                if(namepaceTokens.length != 2) {
+                    throw new IllegalArgumentException("Invalid namepace definition '" + namespace + "'. Should be formatted 'prefix|namespace'.");
+                }
+                this.namespaces.put(namepaceTokens[0], namepaceTokens[1]);
+            }
+        }
+
+        public String getNamespaceURI(String prefix) {
+            return namespaces.get(prefix);
+        }
+
+        public String getPrefix(String namespaceURI) {
+            Set<Map.Entry<String, String>> entries = namespaces.entrySet();
+
+            for (Map.Entry<String, String> entry : entries) {
+                if(entry.getValue().equals(namespaceURI)) {
+                    return entry.getKey();
+                }
+            }
+
+            return null;
+        }
+
+        public Iterator getPrefixes(String namespaceURI) {
+            List<String> prefixes = new ArrayList<String>();
+            String prefix = getPrefix(namespaceURI);
+
+            if(prefix != null) {
+                prefixes.add(prefix);
+            }
+
+            return prefixes.iterator();
+        }
+    }
 }

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/schedule/SchedulerJob.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/schedule/SchedulerJob.java	2008-10-31 17:36:26 UTC (rev 23659)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/schedule/SchedulerJob.java	2008-10-31 17:43:04 UTC (rev 23660)
@@ -244,6 +244,10 @@
         {
             trigger.setStartTime(startDate) ;
         }
+        else
+        {
+            trigger.setStartTime(new Date(0)) ;
+        }
         if (endDate != null)
         {
             trigger.setEndTime(endDate) ;

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/ESBContractGeneratorUnitTest.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/ESBContractGeneratorUnitTest.java	2008-10-31 17:36:26 UTC (rev 23659)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/ESBContractGeneratorUnitTest.java	2008-10-31 17:43:04 UTC (rev 23660)
@@ -34,9 +34,11 @@
 import org.jboss.soa.esb.listeners.config.Generator;
 import org.jboss.soa.esb.listeners.config.xbeanmodel.ServiceDocument.Service;
 import org.jboss.soa.esb.util.ClassUtil;
+import org.jboss.soa.esb.testutils.StringUtils;
 import org.xml.sax.InputSource;
 
 public class ESBContractGeneratorUnitTest extends TestCase {
+    
     public void testRequestResponseFault() throws Exception {
         executeTest("jbossesb_config_06.xml") ;
     }
@@ -48,8 +50,15 @@
     public void testRequest() throws Exception {
         executeTest("jbossesb_config_08.xml") ;
     }
-    
-    private void executeTest(final String resourceName) throws Exception {
+
+    public void testWSAExtensions_01() throws Exception {
+        String expectedWsdl = StreamUtils.readStreamString(getClass().getResourceAsStream("jbossesb_config_09.expected.wsdl"), "UTF-8");
+        String actualWsdl = executeTest("jbossesb_config_09.xml") ;
+
+        assertTrue("WSDL not as expected.", StringUtils.compareXMLContent(expectedWsdl, actualWsdl));
+    }
+
+    private String executeTest(final String resourceName) throws Exception {
         final InputStream is = ClassUtil.getResourceAsStream(resourceName, getClass()) ;
         final byte[] configBytes = StreamUtils.readStream(is) ;
         ByteArrayOutputStream listenerXml = new ByteArrayOutputStream();
@@ -64,6 +73,8 @@
         InputSource inputSource = new InputSource(strReader);
         Definition def = WSDLFactory.newInstance().newWSDLReader().readWSDL("file://tmp.wsdl", inputSource);
         assertNotNull("Failed to generate wsdl file" , def);
-	}
 
+        return wsdl;
+    }
+
 }

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_06.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_06.xml	2008-10-31 17:36:26 UTC (rev 23659)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_06.xml	2008-10-31 17:43:04 UTC (rev 23660)
@@ -3,7 +3,7 @@
 	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
 	<services>
 		<service category="FirstServiceESB" name="SimpleListener"
-			description="Hello World" invmScope="GLOBAL">>
+			description="Hello World" invmScope="GLOBAL">
 			<actions 
 				inXsd="/org/jboss/internal/soa/esb/webservice/request.xsd"
 				outXsd="/org/jboss/internal/soa/esb/webservice/response.xsd"

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_07.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_07.xml	2008-10-31 17:36:26 UTC (rev 23659)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_07.xml	2008-10-31 17:43:04 UTC (rev 23660)
@@ -3,7 +3,7 @@
 	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
 	<services>
 		<service category="FirstServiceESB" name="SimpleListener"
-			description="Hello World" invmScope="GLOBAL">>
+			description="Hello World" invmScope="GLOBAL">
 			<actions 
 				inXsd="/org/jboss/internal/soa/esb/webservice/request.xsd"
 				outXsd="/org/jboss/internal/soa/esb/webservice/response.xsd">

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_08.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_08.xml	2008-10-31 17:36:26 UTC (rev 23659)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_08.xml	2008-10-31 17:43:04 UTC (rev 23660)
@@ -3,7 +3,7 @@
 	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
 	<services>
 		<service category="FirstServiceESB" name="SimpleListener"
-			description="Hello World" invmScope="GLOBAL">>
+			description="Hello World" invmScope="GLOBAL">
 			<actions 
 				inXsd="/org/jboss/internal/soa/esb/webservice/request.xsd">
 				<action name="action2"

Added: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.expected.wsdl
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.expected.wsdl	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.expected.wsdl	2008-10-31 17:43:04 UTC (rev 23660)
@@ -0,0 +1,98 @@
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://www.jboss.org/sayHi"
+                  xmlns:ns2="http://www.jboss.org/sayHi" xmlns:ns3="http://www.jboss.org/sayHi"
+                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://soa.jboss.org/FirstServiceESB"
+                  targetNamespace="http://soa.jboss.org/FirstServiceESB">
+    <wsdl:types>
+        <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:x1="http://www.jboss.org/sayHi"
+                   elementFormDefault="qualified" targetNamespace="http://www.jboss.org/sayHi" version="1.0">
+            <xs:element name="sayHi" type="x1:sayHi"/>
+            <xs:complexType name="sayHi">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="arg0" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+        </xs:schema>
+        <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:x1="http://www.jboss.org/sayHi"
+                   elementFormDefault="qualified" targetNamespace="http://www.jboss.org/sayHi" version="1.0">
+            <xs:element name="sayHiReponse" type="x1:sayHiReponse"/>
+            <xs:complexType name="sayHiReponse">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="arg0" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+        </xs:schema>
+        <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:x1="http://www.jboss.org/sayHi"
+                   elementFormDefault="qualified" targetNamespace="http://www.jboss.org/sayHi" version="1.0">
+            <xs:element name="sayFault" type="x1:fault"/>
+            <xs:complexType name="fault">
+                <xs:sequence>
+                    <xs:element name="code" type="xs:string"/>
+                    <xs:element name="faultString" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:element name="sayFault2" type="x1:fault2"/>
+            <xs:complexType name="fault2">
+                <xs:sequence>
+                    <xs:element name="code" type="xs:int"/>
+                    <xs:element name="descrption" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+
+        </xs:schema>
+    </wsdl:types>
+    <wsdl:message name="SimpleListenerFault2">
+        <wsdl:part element="ns1:sayFault" name="fault2">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="SimpleListenerFault1">
+        <wsdl:part element="ns1:sayFault" name="fault1">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="SimpleListenerReq">
+        <wsdl:part element="ns1:sayHi" name="in">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="SimpleListenerRes">
+        <wsdl:part element="ns1:sayHiReponse" name="out">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:portType name="SimpleListenerPortType">
+        <wsdl:operation name="SimpleListenerOp">
+            <wsdl:input xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" message="tns:SimpleListenerReq"
+                        name="SimpleListenerReq" wsaw:Action="http://soa.jboss.org/FirstServiceESB/SimpleListenerOp">
+            </wsdl:input>
+            <wsdl:output xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" message="tns:SimpleListenerRes"
+                         name="SimpleListenerRes"
+                         wsaw:Action="http://soa.jboss.org/FirstServiceESB/SimpleListenerOpResp">
+            </wsdl:output>
+            <wsdl:fault message="tns:SimpleListenerFault1" name="fault1">
+            </wsdl:fault>
+            <wsdl:fault message="tns:SimpleListenerFault2" name="fault2">
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="SimpleListenerBinding" type="tns:SimpleListenerPortType">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsaw:UsingAddressing xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" wsdl:required="true"/>
+        <wsdl:operation name="SimpleListenerOp">
+            <soap:operation soapAction="http://soa.jboss.org/FirstServiceESB/SimpleListenerOpResp"/>
+            <wsdl:input name="SimpleListenerReq">
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="SimpleListenerRes">
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="fault1">
+                <soap:fault name="fault1" use="literal"/>
+            </wsdl:fault>
+            <wsdl:fault name="fault2">
+                <soap:fault name="fault2" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="SimpleListenerService">
+        <wsdl:port binding="tns:SimpleListenerBinding" name="SimpleListenerPortType">
+            <soap:address location="http://change_this_URI//FirstServiceESB/SimpleListener"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>

Copied: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.xml (from rev 23609, labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_08.xml)
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.xml	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.xml	2008-10-31 17:43:04 UTC (rev 23660)
@@ -0,0 +1,19 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+	<services>
+		<service category="FirstServiceESB" name="SimpleListener"
+			description="Hello World" invmScope="GLOBAL">
+			<actions
+				inXsd="/org/jboss/internal/soa/esb/webservice/request.xsd"
+				outXsd="/org/jboss/internal/soa/esb/webservice/response.xsd"
+				faultXsd="/org/jboss/internal/soa/esb/webservice/fault.xsd"
+                addressing="true">
+				<action name="action2"
+					class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="printfull" value="true" />
+				</action>
+			</actions>
+		</service>
+	</services>
+</jbossesb>


Property changes on: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:mergeinfo
   + 
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list