[jboss-svn-commits] JBL Code SVN: r32101 - in labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts: ontology_mediation and 23 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Mar 15 16:24:29 EDT 2010


Author: johan.kumps
Date: 2010-03-15 16:24:28 -0400 (Mon, 15 Mar 2010)
New Revision: 32101

Added:
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/HelloWorldWS.wsdl
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/build.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/deployment.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/jboss-esb.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/lib/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/log4j.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/readme.txt
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/jboss/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/jboss/soa/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/jboss/soa/esb/samples/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/jboss/soa/esb/samples/quickstart/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/test/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/test/SendWSMessage.java
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/lib/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/lib/ext/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/resources/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/resources/WEB-INF/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/resources/WEB-INF/classes/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/resources/WEB-INF/lib/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/resources/WEB-INF/web.xml
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/AttrExtensions.java
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/HelloWorldWS.java
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/HelloWorldWSService.java
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/ObjectFactory.java
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/SayHello.java
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/SayHelloResponse.java
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/package-info.java
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/index.jsp
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/mappings/
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/mappings/liftingSchema1.xsl
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/mappings/loweringSchema1.xsl
   labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/wsbarrier-service.xml
Log:
Initial version

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/HelloWorldWS.wsdl
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/HelloWorldWS.wsdl	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/HelloWorldWS.wsdl	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,50 @@
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ontology_mediation/helloworld" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sawsdl="http://www.w3.org/ns/sawsdl" name="HelloWorldWSService" targetNamespace="http://ontology_mediation/helloworld">
+	<wsdl:types>
+		<xs:schema targetNamespace="http://ontology_mediation/helloworld" version="1.0" xmlns:tns="http://ontology_mediation/helloworld" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+			<xs:import namespace="http://www.w3.org/ns/sawsdl" schemaLocation="http://www.w3.org/ns/sawsdl"/>
+			<xs:element name="sayHello" type="tns:sayHello" sawsdl:modelReference="http://org1.example.com/ontologies/SampleOntology#SKU"/>
+			<xs:element name="sayHelloResponse" type="tns:sayHelloResponse"/>
+			<xs:complexType name="sayHello">
+				<xs:sequence>
+					<xs:element minOccurs="1" name="toWhom" type="xs:string"/>
+				</xs:sequence>
+				<xs:attribute ref="sawsdl:modelReference" use="required" fixed="http://mycompany.com/ontologies/#GreetingTask"/>
+			</xs:complexType>
+			<xs:complexType name="sayHelloResponse">
+				<xs:sequence>
+					<xs:element minOccurs="0" name="return" type="xs:string"/>
+				</xs:sequence>
+				<xs:attribute ref="sawsdl:loweringSchemaMapping" default="http://127.0.0.1:8080/Quickstart_ontology_mediation_ws/mappings/loweringSchema1.xsl"/>
+			</xs:complexType>
+		</xs:schema>
+	</wsdl:types>
+	<wsdl:message name="HelloWorld_sayHello">
+		<wsdl:part name="sayHello" element="tns:sayHello"/>
+	</wsdl:message>
+	<wsdl:message name="HelloWorld_sayHelloResponse">
+		<wsdl:part name="sayHelloResponse" element="tns:sayHelloResponse"/>
+	</wsdl:message>
+	<wsdl:portType name="HelloWorldWS">
+		<wsdl:operation name="sayHello" parameterOrder="sayHello">
+			<wsdl:input message="tns:HelloWorld_sayHello"/>
+			<wsdl:output message="tns:HelloWorld_sayHelloResponse"/>
+		</wsdl:operation>
+	</wsdl:portType>
+	<wsdl:binding name="HelloWorldBinding" type="tns:HelloWorldWS">
+		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+		<wsdl:operation name="sayHello">
+			<soap:operation soapAction=""/>
+			<wsdl:input>
+				<soap:body use="literal"/>
+			</wsdl:input>
+			<wsdl:output>
+				<soap:body use="literal"/>
+			</wsdl:output>
+		</wsdl:operation>
+	</wsdl:binding>
+	<wsdl:service name="HelloWorldWSService">
+		<wsdl:port name="HelloWorldPort" binding="tns:HelloWorldBinding">
+			<soap:address location="http://127.0.0.1:8080/Quickstart_ontology_mediation_ws/HelloWorldWS"/>
+		</wsdl:port>
+	</wsdl:service>
+</wsdl:definitions>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/build.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/build.xml	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,85 @@
+<project name="Quickstart_ontology_mediation" default="deploy" basedir=".">
+	
+	<description> 
+		${ant.project.name}
+		${line.separator}
+	</description>
+    
+    <property name="additional.deploys" value="wsbarrier-service.xml" />
+
+    <!-- Import the base Ant build script... -->
+    <import file="../conf/base-build.xml"/>
+
+    <property name="war.build.dir" location="${build.dir}/war/classes"/>
+
+    <target name="quickstart-specific-checks" depends="assert-ws-available"/>
+
+    <target name="quickstart-specific-assemblies" depends="makewar"/>
+
+    <target name="quickstart-specific-predeploys">
+		<copy todir="${org.jboss.esb.server.deploy.dir}"
+			file="build/predeploy/${ant.project.name}_ws.war"/>
+		<!-- sleep seconds="3"/ -->
+	</target>
+
+    <target name="quickstart-specific-undeploys">
+		<delete file="${org.jboss.esb.server.deploy.dir}/${ant.project.name}_ws.war"/>
+	</target>
+
+    <target name="makewar" description="make war">
+        <!-- Compile... -->
+        <mkdir dir="${war.build.dir}" />
+        <javac srcdir="war/src" destdir="${war.build.dir}" debug="true">
+            <classpath>
+                <path refid="compile-classpath" />
+                <fileset dir="war/lib/ext" includes="*.jar" />
+            </classpath>
+        </javac>
+
+        <!-- War... -->
+		<mkdir dir="build/predeploy"/>
+        <war warfile="build/predeploy/${ant.project.name}_ws.war"
+             webxml="${basedir}/war/resources/WEB-INF/web.xml">
+            <webinf dir="${basedir}/war/resources/WEB-INF">
+                <!-- <include name="jboss-web.xml"/>-->
+            </webinf>
+            <classes dir="${war.build.dir}" includes="**/*.class"/>
+            <fileset dir="${basedir}/war/view">
+                <include name="**/*"/>
+            </fileset>
+            <classes dir="${basedir}">
+                <include name="juddi.properties"/>
+            </classes>
+        </war>
+    </target>
+
+    <target name="quickstart-specific-clean">
+		<delete file="${basedir}/listener.log"/>
+    </target>
+
+	<target name="run">
+		<echo>standalone mode is not available for this quickstart.</echo>
+    </target>
+
+	<target name="runinternal" depends="compile">
+	    <java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.ontology_mediation.test.SendWSMessage" failonerror="true">
+			<arg value="${runtest.arg.url}"/>
+	    	<arg value="${user.name}"/>
+			<classpath refid="exec-classpath"/>
+	    </java>
+	 </target>  
+
+	<target name="runws">
+		<echo>Calling JBossWS webservice directly.</echo>
+		<property name="runtest.arg.url" value="http://localhost:8080/Quickstart_ontology_mediation_ws/HelloWorldWS"/>
+		<antcall target="runinternal"/>
+	</target>
+
+	<target name="runhttp">
+		<echo>Calling JBossWS webservice via HttpGatewayListener and SOAPProxy.</echo>
+		<property name="runtest.arg.url" value="http://127.0.0.1:8080/Quickstart_ontology_mediation/http/Ontology_Mediation/Proxy"/>
+		<antcall target="runinternal"/>
+	</target>
+	<target name="runtest" depends="runhttp"/>
+
+</project>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/deployment.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/deployment.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/deployment.xml	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,4 @@
+<jbossesb-deployment>
+    <depends>jboss.ws:context=Quickstart_ontology_mediation_ws,endpoint=HelloWorldWS.Barrier</depends>
+</jbossesb-deployment>
+

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/jboss-esb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/jboss-esb.xml	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
+
+	<services>
+		<service category="Ontology_Mediation" name="Proxy"
+				 description="Ontology Mediation WebService Proxy"
+				 invmScope="GLOBAL">
+			<listeners>
+				<http-gateway name="Ontology-Mediation-GwListener" />
+			</listeners>
+			<actions mep="RequestResponse">
+				<action name="echo-request"
+						class="org.jboss.soa.esb.actions.SystemPrintln">
+						<property name="message" value="Message before Lifting : " />
+				</action>
+				<action name="lifting-action"
+						class="org.jboss.soa.esb.actions.transformation.xslt.OntologyAction">						
+						<property name="resultType" value="STRING"/>
+				</action>
+				<action name="echo-request-after-lifting"
+						class="org.jboss.soa.esb.actions.SystemPrintln">
+						<property name="message" value="Message after Lifting : " />
+				</action>
+				<action name="proxy"
+						class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">						
+						<property name="wsdl" value="internal://jboss.ws:context=Quickstart_ontology_mediation_ws,endpoint=HelloWorldWS"/>
+				</action>
+				<action name="echo-response"
+						class="org.jboss.soa.esb.actions.SystemPrintln">
+						<property name="message" value="Response from service : " />
+				</action>
+				<action name="lowering-action"
+						class="org.jboss.soa.esb.actions.transformation.xslt.OntologyAction">						
+						<property name="resultType" value="STRING"/>
+				</action>
+				<action name="echo-response-after-lowering"
+						class="org.jboss.soa.esb.actions.SystemPrintln">
+						<property name="message" value="Message after Lowering : " />
+				</action>
+			</actions>
+		</service>
+	</services>
+
+</jbossesb>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/log4j.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/log4j.xml	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml 28016 2009-07-14 18:32:14Z dward $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A size based file rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="./listener.log"/>
+     <param name="Append" value="false"/>
+     <param name="MaxFileSize" value="500KB"/>
+     <param name="MaxBackupIndex" value="1"/>
+
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
+     </layout>	    
+   </appender>
+
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <category name="org.jboss">
+      <priority value="WARN"/>
+   </category>
+   <category name="org.jboss.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.jboss.internal.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.apache">
+      <priority value="ERROR"/>
+   </category>
+   <category name="quickstart">
+      <priority value="INFO"/>
+   </category>
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/readme.txt
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/readme.txt	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,254 @@
+Overview:
+=========
+  This quickstart introduces the semantic data mediation concept to the ESB. Traditionally messages are being transformed from one model to another using some 
+  of transformation language (like XSL). Although these mappings can be managed using the ESB, this may lead to a whole number of point-to-point mappings 
+  between a service data model and its consumers.
+  
+		--------------							-------------
+		| Consumer 1 |							| Consumer 2 |--------------------------------
+		--------------							--------------								 |
+			  |										   |									 |
+			  |										   |									 |
+  ------------------------------------------------------------------------------------------------ ESB --
+  |		-------------							-------------							-------------	|
+  |		| xForm 1-A |							| xForm 2-A |							| xForm 2-B |	|
+  |		-------------							-------------							-------------	|
+  -------------------------------------------------------------------------------------------------------
+			  |										  |										  |
+			  |										  |										  |
+  		--------------								  |									--------------
+		| Service A  |---------------------------------									| Service B  |
+		--------------																	--------------
+  
+  This means we have to design and implement XXXXX transformations (ex : XSLT scripts).
+  
+  One of the principal motivation for SOA is to improve business agility. Having to govern a high number of these mapping scripts may become a burden and 
+  jeopardize the agility of the SOA as a whole because services and consumers are less loosely coupled due to the fact that the consumer (can also be another 
+  service) needs to know how to map its model to the service. In this case the semantics of the data being exchanged becomes important.
+  
+  Various parts of a WSDL document, such as input and output message structures, interfaces and operations may be annotated. JBossESB implements the "Semantic 
+  Annotations dor WSDL and XML schema (SAWSDL) specification (http://www.w3c.org). This quickstart focusses on the data mediation part. SAWSDL defines an 
+  annotations mechanism for specifying the data mapping of XML Schema types to and from an ontology (formal explicit description of concepts in a certain 
+  business domain); such mappings could be used during invocation of services, particularly when data mediation is required.
+  
+  So what is the advantage of using semantics based data mediation? Transformations are still needed though!
+  
+  Yes, transformations are still needed but we can make the architecture more agile by being capable of using a generic OntologyAction executing mapping logic 
+  governed by the consumer (lifting); the consumer knows how to map its model to the centrally used ontology schema. Or the generic OntologyAction may execute 
+  mapping logic governed by the service provider knowing how to map the ontology schema to its internally used schema (lowering).
+  
+  		--------------							-------------
+		| Consumer 1 |							| Consumer 2 |--------------------------------
+		--------------							--------------								 |
+			  |										   |									 |
+			  |										   |									 |
+  ------------------------------------------------------------------------------------------------ ESB --
+  |	  ---------------------------------------------------------------------------------------------     |
+  |	  |                    OntologyAction (Lifting & Lowering)									   |	|
+  |	  ---------------------------------------------------------------------------------------------|    |
+  -------------------------------------------------------------------------------------------------------
+  			  |										  |										  |
+			  |										  |										  |
+  		--------------								  |									--------------
+		| Service A  |---------------------------------									| Service B  |
+		--------------																	--------------
+  
+  This way the OntologyAction executes the mapping logic. Logic which does not need to be governed by the schema custodian managing the ontology.
+  
+  Attention : one of the main goals of SOA is "increased intrinsic interoperability". The ontology based data mediation pattern can help you to achieve semantic 
+  interoperability between services using semantics based transformations. Keep in mind that the ultimate goal still is to avoid the need for transformations by 
+  making sure all services are using the same ontology and therefore being intrinsic interoperable.
+  
+The Quickstart itself  :
+========================
+The OntologyAction quickstart defines an ESB service being a proxy for a certain web service. 
+Before messages can be send to this service they have to be lifted to an XML schema structure meeting the one 
+specified by the ontology. The response of the service is lowered to the internal message structure the client is expecting.
+
+Running this quickstart:
+========================
+  Please refer to 'ant help-quickstarts' for prerequisites about the quickstarts
+  and a more detailed descripton of the different ways to run the quickstarts.
+
+To Run:
+===========================
+  1. In a command terminal window in this folder ("Window1"), type 'ant deploy'.
+  	- In your server console, you will see output like this:
+
+20:24:06,781 INFO  [DefaultEndpointRegistry] register: jboss.ws:context=Quickstart_ontology_mediation_ws,endpoint=HelloWorldWS
+20:24:06,796 INFO  [TomcatDeployer] deploy, ctxPath=/Quickstart_ontology_mediation_ws, warUrl=.../tmp/deploy/tmp3119008311350815436Quickstart_ontology_mediation_ws-exp.war/
+20:24:07,171 INFO  [WSDLFilePublisher] WSDL published to: file:/D:/software/copyable/jbossesb-server-4.7-test/server/default/data/wsdl/Quickstart_ontology_mediation_ws.war/HelloWorldWSService6578665147090457391.wsdl
+20:24:07,312 INFO  [JBoss4ESBDeployer] create esb service, Quickstart_ontology_mediation.esb
+20:24:07,359 INFO  [TomcatDeployer] deploy, ctxPath=/Quickstart_ontology_mediation, warUrl=.../tmp/deploy/tmp3478102405517683598Quickstart_ontology_mediation-exp.war/
+20:24:07,562 INFO  [SOAPProxy] mapped soapaction [""] to binding [{http://ontology_mediation/helloworld}HelloWorldBinding]
+20:24:07,625 INFO  [SOAPProxy] mapped operation [{http://ontology_mediation/helloworld}sayHello] to binding [{http://ontology_mediation/helloworld}HelloWorldBinding]
+20:24:07,625 INFO  [SOAPProxy] mapped binding [{http://ontology_mediation/helloworld}HelloWorldBinding] to transport [org.jboss.soa.esb.actions.soap.proxy.HttpSOAPProxyTransport] with endpoint address: [http://127.0.0.1:8080/Quickstart_ontology_mediation_ws/HelloWorldWS]
+
+  2. Open another command terminal window in this folder ("Window2"), type
+     'ant runtest'.
+
+  3. Switch back to Application Server console to see the output from the ESB
+
+  4. In this folder ("Window1"), type 'ant undeploy'.
+
+  'runws' target description:
+  - This simply calls the target JBossWS webservice directly.
+  - The request url is: http://localhost:8080/Quickstart_ontology_mediation_ws/HelloWorldWS
+  - Running it will create output similar to the output below. You can see that the <myName> element in the request message is not correctly handled by the service.
+  
+	***  REQUEST BODY: 
+	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://ontology_mediation/helloworld" xmlns:sawsdl="http://www.w3.org/ns/sawsdl">
+		<soapenv:Header/>
+		<soapenv:Body>
+			<hello:sayHello sawsdl:liftingSchemaMapping="http://127.0.0.1:8080/Quickstart_ontology_mediation_ws/mappings/liftingSchema1.xsl">
+				<myName>Johan</myName>
+			</hello:sayHello>
+		</soapenv:Body>
+	</soapenv:Envelope>
+  	
+	**** RESPONSE BODY: 
+	<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
+		<env:Header></env:Header>
+		<env:Body>
+			<ns2:sayHelloResponse xmlns:ns2="http://ontology_mediation/helloworld">
+				<return>Hello null!</return>		
+			</ns2:sayHelloResponse>
+		</env:Body>
+	</env:Envelope>
+  
+  'runhttp' (alias 'runtest') target description:
+  - This will exercise the target webservice *via* the SOAPProxy, first going
+	through a Http Gateway Listener action processing pipeline containing the OntologyAction.
+  - The request url is: http://127.0.0.1:8080/Quickstart_ontology_mediation/http/Ontology_Mediation/Proxy
+  - Running it will create output like this in the server console:
+
+12:33:12,796 INFO  [STDOUT] Message before Lifting : :
+12:33:12,796 INFO  [STDOUT] [
+	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://ontology_mediation/helloworld" xmlns:sawsdl="http://www.w3.org/ns/sawsdl">
+		<soapenv:Header/>
+		<soapenv:Body>
+			<hello:sayHello sawsdl:liftingSchemaMapping="http://127.0.0.1:8080/Quickstart_ontology_mediation_ws/mappings/liftingSchema1.xsl">
+				<myName>Johan</myName>
+			</hello:sayHello>
+		</soapenv:Body>
+	</soapenv:Envelope>].
+12:33:12,812 INFO  [STDOUT] Message after Lifting : :
+12:33:12,812 INFO  [STDOUT] [
+	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hel="http://ontology_mediation/helloworld">
+	    <soapenv:Header/>
+	    <soapenv:Body>
+	        <hel:sayHello>
+	            <toWhom>Johan</toWhom>
+	        </hel:sayHello>
+	    </soapenv:Body>
+	</soapenv:Envelope>
+].
+12:33:12,843 INFO  [STDOUT] Response from service : :
+12:33:12,843 INFO  [STDOUT] [
+	<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
+		<env:Header></env:Header>
+		<env:Body>
+			<ns2:sayHelloResponse xmlns:ns2="http://ontology_mediation/helloworld">
+				<return>Hello Johan!</return>
+			</ns2:sayHelloResponse>
+		</env:Body>
+	</env:Envelope>].
+20:31:33,140 INFO  [STDOUT] Message after Lowering : :
+20:31:33,140 INFO  [STDOUT] [
+	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://ontology_mediation/helloworld">
+	    <soapenv:Header/>
+	    <soapenv:Body>
+	        <hello:sayHelloResponse>
+	            <greeting>Hello JKPW297!</greeting>
+	        </hello:sayHelloResponse>
+	    </soapenv:Body>
+	</soapenv:Envelope>
+].
+
+  ...and this in the client console:
+
+     [java] ****  REQUEST  URL: http://127.0.0.1:8080/Quickstart_ontology_mediation/http/Ontology_Mediation/Proxy
+     [java] ****  REQUEST BODY: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://ontology_mediation/helloworld" xmlns:sawsdl="http://www.w3.org/ns/sawsdl"><soapenv:Header/><soapenv:Body><hello:sayHello sawsdl:liftingSchemaMapping="http://127.0.0.1:8080/Quickstart_ontology_mediation_ws/mappings/liftingSchema1.xsl"><myName>JKPW297</myName></hello:sayHello></soapenv:Body></soapenv:Envelope>
+     [java] 20:31:33,046 DEBUG [main][header] >> "POST /Quickstart_ontology_mediation/http/Ontology_Mediation/Proxy HTTP/1.1[\r][\n]"
+     [java] 20:31:33,062 DEBUG [main][header] >> "Content-Type: text/xml;charset=UTF-8[\r][\n]"
+     [java] 20:31:33,062 DEBUG [main][header] >> "SOAPAction: ""[\r][\n]"
+     [java] 20:31:33,062 DEBUG [main][header] >> "User-Agent: Jakarta Commons-HttpClient/3.0.1[\r][\n]"
+     [java] 20:31:33,062 DEBUG [main][header] >> "Host: 127.0.0.1:8080[\r][\n]"
+     [java] 20:31:33,062 DEBUG [main][header] >> "Content-Length: 405[\r][\n]"
+     [java] 20:31:33,062 DEBUG [main][header] >> "[\r][\n]"
+     [java] 20:31:33,062 DEBUG [main][content] >> "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://ontology_mediation/helloworld" xmlns:sawsdl="http://www.w3.org/ns/sawsdl"><soapenv:Header/><soapenv:Body><hello:sayHello sawsdl:liftingSchemaMapping="http://127.0.0.1:8080/Quickstart_ontology_mediation_ws/mappings/liftingSchema1.xsl"><myName>JKPW297</myName></hello:sayHello></soapenv:Body></soapenv:Envelope>"
+     [java] 20:31:33,140 DEBUG [main][header] << "HTTP/1.1 200 OK[\r][\n]"
+     [java] 20:31:33,140 DEBUG [main][header] << "Server: Apache-Coyote/1.1[\r][\n]"
+     [java] 20:31:33,140 DEBUG [main][header] << "X-Powered-By: Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0[\r][\n]"
+     [java] 20:31:33,140 DEBUG [main][header] << "asyncServiceInvoke: false[\r][\n]"
+     [java] 20:31:33,140 DEBUG [main][header] << "Date: Sun, 07 Mar 2010 19:31:33 GMT[\r][\n]"
+     [java] 20:31:33,140 DEBUG [main][header] << "Content-Type: text/xml;charset=UTF-8[\r][\n]"
+     [java] 20:31:33,140 DEBUG [main][header] << "Content-Length: 314[\r][\n]"
+     [java] **** RESPONSE CODE: 200
+     [java] 20:31:33,156 DEBUG [main][content] << "<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://ontology_mediation/helloworld"><soapenv:Header/><soapenv:Body><hello:sayHelloResponse><greeting>Hello JKPW297!</greeting><"
+     [java] 20:31:33,156 DEBUG [main][content] << "/hello:sayHelloResponse></soapenv:Body></soapenv:Envelope>"
+     [java] **** RESPONSE BODY: 
+     <?xml version="1.0" encoding="UTF-8"?>
+     	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://ontology_mediation/helloworld">
+     		<soapenv:Header/>
+     		<soapenv:Body>
+     			<hello:sayHelloResponse>
+     				<greeting>Hello JKPW297!</greeting>
+     			</hello:sayHelloResponse>
+     		</soapenv:Body>
+     	</soapenv:Envelope>
+     
+As you can see the <myName> element in the request message was now successfully processed by the service because it was first transformed (lifted) 
+to the <toWhom> element specified by the ontology. Ffterwards the response of the service has been lowered to the structure the client is expecting.
+
+Project file descriptions:
+==========================
+	jboss-esb.xml:
+	A Http Gateway Listener accepts the incoming HTTP call makes it available to the
+	Ontology_Mediation/Proxy, who has a message exchange pattern of RequestResponse.  In the
+	action chain, there are 3 actions:
+	1) echo out the incoming SOAP request,
+	2) the OntologyAction processing the incoming message
+	2) use the SOAPProxy class to invoke the original webservice endpoint,
+	3) echo out the outgoing SOAP response.
+	Configuration:
+	- wsdl (required): The original wsdl url whose WS endpoint will get re-written and exposed as
+	new wsdl from the ESB:
+	http://127.0.0.1:8080/Quickstart_ontology_mediation/http/Ontology_Mediation/Proxy?wsdl
+	Depending upon the <definitions><service><port><soap:address location attribute's protocol
+	(for example "http"), a protocol-specific SOAPProxyTransport implementation is used.
+	For other possible configuration properties, see the specific SOAPProxyTransport implementations
+	themselves.
+
+	jboss-esb.xml wsdl Note:
+		The replacement of the http:// wsdl URL with the internal:// format,
+		as well as the inclusion of the wsbarrier-service.xml, is so that on
+		restart of the ESB server, when Tomcat's HTTP Connector is not yet
+		available, the wsdl can still be pulled internally rather than over
+		HTTP.  For more details, please refer to:
+		https://jira.jboss.org/jira/browse/JBESB-2855 and
+		https://jira.jboss.org/jira/browse/JBESB-2947
+
+	log4j.xml:
+	Needed to configure log4J used by the quickstart.
+
+	src/../SendWSMessage.java:
+	Sends a SOAP message to the target webservice endpoint (see "ant run*" above).
+	
+	build.xml:
+	Targets and structure description:
+
+	*	the runws task calls the
+		org.jboss.soa.esb.samples.quickstart.ontology_mediation.test.SendWSMessage class and
+		passes in and argument representing the *ORIGINAL* webservice endpoint
+		and an argument representing the string-based message to invoke the webservice with. 
+
+	*	the runhttp (also runtest) task calls the
+		org.jboss.soa.esb.samples.quickstart.ontology_mediation.test.SendWSMessage class and
+		passes in and argument representing the *PROXIED* webservice endpoint (via HTTP)
+		and an argument representing the string-based message to invoke the webservice with. 
+
+	HelloWorldWS.wsdl
+	The WSDL file describing the backend service. Code generated using the following command:
+	
+		wsconsume -o src -p org.jboss.soa.esb.samples.quickstart.ontology_mediation HelloWorldWS.wsdl

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/test/SendWSMessage.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/test/SendWSMessage.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/test/SendWSMessage.java	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,92 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., 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-2009
+ */
+package org.jboss.soa.esb.samples.quickstart.ontology_mediation.test;
+
+import java.io.InputStream;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.StringRequestEntity;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+
+/**
+ * Sends a simple webservice request to the proxied webservice, printing both the request and the response to the console.
+ * 
+ * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
+ */
+public class SendWSMessage
+{
+	
+	private static final String SOAP_PRE =
+		"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:hello=\"http://ontology_mediation/helloworld\" xmlns:sawsdl=\"http://www.w3.org/ns/sawsdl\">" +
+			"<soapenv:Header/>" +
+			"<soapenv:Body>" +
+				"<hello:sayHello sawsdl:liftingSchemaMapping=\"http://127.0.0.1:8080/Quickstart_ontology_mediation_ws/mappings/liftingSchema1.xsl\">" +
+					"<myName>";
+	
+	private static final String SOAP_POST =
+					"</myName>" +
+				"</hello:sayHello>" +
+			"</soapenv:Body>" +
+		"</soapenv:Envelope>";
+	
+	// see product/samples/quickstarts/webservice_proxy_lifting/build.xml
+	public static void main(String... args) throws Exception
+	{
+		if (args.length < 2)
+		{
+			// for testing main method from Eclipse (build.xml passes these args in)
+			args = new String[2];			
+			args[0] = "http://127.0.0.1:8080/Quickstart_ontology_mediation/http/Ontology_Mediation/Proxy"; // proxy via jbr gateway ("ant runhttp" or "ant runtest")
+			args[1] = System.getProperty("user.name");
+		}
+		
+		String url = args[0];
+		System.out.println("****  REQUEST  URL: " + url);
+		PostMethod method = new PostMethod(url);
+		method.setRequestHeader("Content-Type", "text/xml;charset=UTF-8");
+		method.setRequestHeader("SOAPAction", "\"\"");
+		
+		String request = SOAP_PRE + args[1] + SOAP_POST;
+		System.out.println("****  REQUEST BODY: " + request);
+		method.setRequestEntity( new StringRequestEntity(request) );
+		
+		HttpClient client = new HttpClient();
+		InputStream response = null;
+		try
+		{
+			int code = client.executeMethod(method);
+			System.out.println("**** RESPONSE CODE: " + code);
+			
+			response = method.getResponseBodyAsStream();
+			byte[] bytes = StreamUtils.readStream(response);
+			System.out.println("**** RESPONSE BODY: " + new String(bytes, method.getResponseCharSet()));
+		}
+		finally
+		{
+			method.releaseConnection();
+			if (response != null)
+			{
+				response.close();
+			}
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/resources/WEB-INF/web.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/resources/WEB-INF/web.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/resources/WEB-INF/web.xml	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">  
+  <servlet> 
+    <servlet-name>HelloWorldWS</servlet-name>  
+    <servlet-class>org.jboss.soa.esb.samples.quickstart.ontology_mediation.HelloWorldWS</servlet-class>  
+  </servlet>  
+  
+  <servlet-mapping> 
+    <servlet-name>HelloWorldWS</servlet-name>  
+    <url-pattern>/HelloWorldWS</url-pattern> 
+  </servlet-mapping>   
+  
+</web-app>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/AttrExtensions.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/AttrExtensions.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/AttrExtensions.java	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,59 @@
+
+package org.jboss.soa.esb.samples.quickstart.ontology_mediation;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyAttribute;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This element is for use in WSDL 1.1 only. It does not apply to WSDL 2.0 documents.  Use in
+ *         WSDL 2.0 documents is invalid.
+ * 
+ * <p>Java class for anonymous complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "")
+ at XmlRootElement(name = "attrExtensions", namespace = "http://www.w3.org/ns/sawsdl")
+public class AttrExtensions {
+
+    @XmlAnyAttribute
+    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+
+    /**
+     * Gets a map that contains attributes that aren't bound to any typed property on this class.
+     * 
+     * <p>
+     * the map is keyed by the name of the attribute and 
+     * the value is the string value of the attribute.
+     * 
+     * the map returned by this method is live, and you can add new attribute
+     * by updating the map directly. Because of this design, there's no setter.
+     * 
+     * 
+     * @return
+     *     always non-null
+     */
+    public Map<QName, String> getOtherAttributes() {
+        return otherAttributes;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/HelloWorldWS.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/HelloWorldWS.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/HelloWorldWS.java	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,38 @@
+package org.jboss.soa.esb.samples.quickstart.ontology_mediation;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * This class was generated by the JAX-WS RI. JAX-WS RI 2.1.1-b03- Generated
+ * source version: 2.0
+ * 
+ */
+ at WebService(name = "HelloWorld", targetNamespace = "http://ontology_mediation/helloworld")
+ at SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+public class HelloWorldWS {
+
+	/**
+	 * 
+	 * @param sayHello
+	 * @return returns org.jboss.soa.esb.samples.quickstart.ontology_mediation.
+	 *         SayHelloResponse
+	 */
+	@WebMethod
+	@WebResult(name = "sayHelloResponse", targetNamespace = "http://ontology_mediation/helloworld", partName = "sayHelloResponse")
+	public SayHelloResponse sayHello(
+			@WebParam(name = "sayHello", targetNamespace = "http://ontology_mediation/helloworld", partName = "sayHello") SayHello sayHello) {
+
+		SayHelloResponse response = new SayHelloResponse();
+		response.setReturn("Hello " + sayHello.getToWhom() + "!");
+
+		response
+				.getLoweringSchemaMapping()
+				.add("http://127.0.0.1:8080/Quickstart_ontology_mediation_ws/mappings/loweringSchema1.xsl");
+		return response;
+	}
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/HelloWorldWSService.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/HelloWorldWSService.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/HelloWorldWSService.java	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,53 @@
+
+package org.jboss.soa.esb.samples.quickstart.ontology_mediation;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.1-b03-
+ * Generated source version: 2.0
+ * 
+ */
+ at WebServiceClient(name = "HelloWorldWSService", targetNamespace = "http://ontology_mediation/helloworld", wsdlLocation = "file:/D:/software/copyable/jbossesb-server-4.7-test/bin/HelloWorldWS.wsdl")
+public class HelloWorldWSService
+    extends Service
+{
+
+    private final static URL HELLOWORLDWSSERVICE_WSDL_LOCATION;
+
+    static {
+        URL url = null;
+        try {
+            url = new URL("file:/D:/software/copyable/jbossesb-server-4.7-test/bin/HelloWorldWS.wsdl");
+        } catch (MalformedURLException e) {
+            e.printStackTrace();
+        }
+        HELLOWORLDWSSERVICE_WSDL_LOCATION = url;
+    }
+
+    public HelloWorldWSService(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public HelloWorldWSService() {
+        super(HELLOWORLDWSSERVICE_WSDL_LOCATION, new QName("http://ontology_mediation/helloworld", "HelloWorldWSService"));
+    }
+
+    /**
+     * 
+     * @return
+     *     returns HelloWorld
+     */
+    @WebEndpoint(name = "HelloWorldPort")
+    public HelloWorldWS getHelloWorldPort() {
+        return (HelloWorldWS)super.getPort(new QName("http://ontology_mediation/helloworld", "HelloWorldPort"), HelloWorldWS.class);
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/ObjectFactory.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/ObjectFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/ObjectFactory.java	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,79 @@
+
+package org.jboss.soa.esb.samples.quickstart.ontology_mediation;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the org.jboss.soa.esb.samples.quickstart.ontology_mediation package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+ at XmlRegistry
+public class ObjectFactory {
+
+    private final static QName _SayHello_QNAME = new QName("http://ontology_mediation/helloworld", "sayHello");
+    private final static QName _SayHelloResponse_QNAME = new QName("http://ontology_mediation/helloworld", "sayHelloResponse");
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.jboss.soa.esb.samples.quickstart.ontology_mediation
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {@link SayHello }
+     * 
+     */
+    public SayHello createSayHello() {
+        return new SayHello();
+    }
+
+    /**
+     * Create an instance of {@link AttrExtensions }
+     * 
+     */
+    public AttrExtensions createAttrExtensions() {
+        return new AttrExtensions();
+    }
+
+    /**
+     * Create an instance of {@link SayHelloResponse }
+     * 
+     */
+    public SayHelloResponse createSayHelloResponse() {
+        return new SayHelloResponse();
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link SayHello }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://ontology_mediation/helloworld", name = "sayHello")
+    public JAXBElement<SayHello> createSayHello(SayHello value) {
+        return new JAXBElement<SayHello>(_SayHello_QNAME, SayHello.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link SayHelloResponse }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://ontology_mediation/helloworld", name = "sayHelloResponse")
+    public JAXBElement<SayHelloResponse> createSayHelloResponse(SayHelloResponse value) {
+        return new JAXBElement<SayHelloResponse>(_SayHelloResponse_QNAME, SayHelloResponse.class, null, value);
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/SayHello.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/SayHello.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/SayHello.java	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,97 @@
+
+package org.jboss.soa.esb.samples.quickstart.ontology_mediation;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for sayHello complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="sayHello">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="toWhom" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *       &lt;attribute ref="{http://www.w3.org/ns/sawsdl}modelReference use="required" fixed="http://mycompany.com/ontologies/#GreetingTask""/>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "sayHello", propOrder = {
+    "toWhom"
+})
+public class SayHello {
+
+    @XmlElement(required = true)
+    protected String toWhom;
+    @XmlAttribute(namespace = "http://www.w3.org/ns/sawsdl", required = true)
+    protected List<String> modelReference;
+
+    /**
+     * Gets the value of the toWhom property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getToWhom() {
+        return toWhom;
+    }
+
+    /**
+     * Sets the value of the toWhom property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setToWhom(String value) {
+        this.toWhom = value;
+    }
+
+    /**
+     * Gets the value of the modelReference property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the modelReference property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getModelReference().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getModelReference() {
+        if (modelReference == null) {
+            modelReference = new ArrayList<String>();
+        }
+        return this.modelReference;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/SayHelloResponse.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/SayHelloResponse.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/SayHelloResponse.java	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,97 @@
+
+package org.jboss.soa.esb.samples.quickstart.ontology_mediation;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for sayHelloResponse complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="sayHelloResponse">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute ref="{http://www.w3.org/ns/sawsdl}loweringSchemaMapping use="required" fixed="http://127.0.0.1:8080/Quickstart_ontology_mediation_ws/mappings/loweringSchema1.xsl""/>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "sayHelloResponse", propOrder = {
+    "_return"
+})
+public class SayHelloResponse {
+
+    @XmlElement(name = "return")
+    protected String _return;
+    @XmlAttribute(namespace = "http://www.w3.org/ns/sawsdl", required = true)
+    protected List<String> loweringSchemaMapping;
+
+    /**
+     * Gets the value of the return property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getReturn() {
+        return _return;
+    }
+
+    /**
+     * Sets the value of the return property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setReturn(String value) {
+        this._return = value;
+    }
+
+    /**
+     * Gets the value of the loweringSchemaMapping property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the loweringSchemaMapping property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getLoweringSchemaMapping().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getLoweringSchemaMapping() {
+        if (loweringSchemaMapping == null) {
+            loweringSchemaMapping = new ArrayList<String>();
+        }
+        return this.loweringSchemaMapping;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/package-info.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/package-info.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/src/org/jboss/soa/esb/samples/quickstart/ontology_mediation/package-info.java	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,2 @@
+ at javax.xml.bind.annotation.XmlSchema(namespace = "http://ontology_mediation/helloworld")
+package org.jboss.soa.esb.samples.quickstart.ontology_mediation;

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/index.jsp
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/index.jsp	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/index.jsp	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,9 @@
+<html>
+	<body>
+		This is just a place holder.<br>
+		Verify the that the WS has been deployed by hitting 
+			<a href="http://localhost:8080/jbossws">
+				http://localhost:8080/jbossws
+			</a>
+  </body>
+</html>	
\ No newline at end of file

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/mappings/liftingSchema1.xsl
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/mappings/liftingSchema1.xsl	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/mappings/liftingSchema1.xsl	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,18 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+	version="1.0">
+
+	<xsl:output method="xml" encoding="UTF-8" />
+
+	<xsl:template match="/">
+		<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+			xmlns:hello="http://ontology_mediation/helloworld">
+			<soapenv:Header />
+			<soapenv:Body>
+				<hello:sayHello>					
+					<toWhom><xsl:value-of select="/soapenv:Envelope/soapenv:Body/hello:sayHello/myName"/></toWhom>
+				</hello:sayHello>
+			</soapenv:Body>
+		</soapenv:Envelope>
+	</xsl:template>
+
+</xsl:stylesheet>

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/mappings/loweringSchema1.xsl
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/mappings/loweringSchema1.xsl	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/war/view/mappings/loweringSchema1.xsl	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,18 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+	version="1.0">
+
+	<xsl:output method="xml" encoding="UTF-8" />
+
+	<xsl:template match="/">
+		<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+			xmlns:hello="http://ontology_mediation/helloworld">
+			<soapenv:Header />
+			<soapenv:Body>
+				<hello:sayHelloResponse>					
+					<greeting><xsl:value-of select="/soapenv:Envelope/soapenv:Body/hello:sayHelloResponse/return"/></greeting>
+				</hello:sayHelloResponse>
+			</soapenv:Body>
+		</soapenv:Envelope>
+	</xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file

Added: labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/wsbarrier-service.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/wsbarrier-service.xml	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/samples/quickstarts/ontology_mediation/wsbarrier-service.xml	2010-03-15 20:24:28 UTC (rev 32101)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+	<mbean code="org.jboss.internal.soa.esb.dependencies.WSDeploymentBarrierController" name="jboss.esb:service=OntologyMediationHelloWorldWSBarrierController">
+		<attribute name="WsObjectName">jboss.ws:context=Quickstart_ontology_mediation_ws,endpoint=HelloWorldWS</attribute>
+	</mbean>
+</server>



More information about the jboss-svn-commits mailing list