[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>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * </restriction>
+ * </complexContent>
+ * </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>
+ * <complexType name="sayHello">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="toWhom" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * <attribute ref="{http://www.w3.org/ns/sawsdl}modelReference use="required" fixed="http://mycompany.com/ontologies/#GreetingTask""/>
+ * </restriction>
+ * </complexContent>
+ * </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>
+ * <complexType name="sayHelloResponse">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * </sequence>
+ * <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""/>
+ * </restriction>
+ * </complexContent>
+ * </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