riftsaw SVN: r231 - in trunk: runtime/jbossesb-bpel/src/test/java/org/jboss/soa/esb/actions/bpel and 11 other directories.
by riftsaw-commits@lists.jboss.org
Author: objectiser
Date: 2009-11-05 12:37:56 -0500 (Thu, 05 Nov 2009)
New Revision: 231
Added:
trunk/samples/esb/bpel_loan_fault/
trunk/samples/esb/bpel_loan_fault/build.xml
trunk/samples/esb/bpel_loan_fault/deployment.xml
trunk/samples/esb/bpel_loan_fault/jbm-queue-service.xml
trunk/samples/esb/bpel_loan_fault/jbmq-queue-service.xml
trunk/samples/esb/bpel_loan_fault/jboss-esb.xml
trunk/samples/esb/bpel_loan_fault/jbossesb-properties.xml
trunk/samples/esb/bpel_loan_fault/jndi.properties
trunk/samples/esb/bpel_loan_fault/juddi.properties
trunk/samples/esb/bpel_loan_fault/log4j.xml
trunk/samples/esb/bpel_loan_fault/readme.txt
trunk/samples/esb/bpel_loan_fault/src/
trunk/samples/esb/bpel_loan_fault/src/org/
trunk/samples/esb/bpel_loan_fault/src/org/jboss/
trunk/samples/esb/bpel_loan_fault/src/org/jboss/soa/
trunk/samples/esb/bpel_loan_fault/src/org/jboss/soa/esb/
trunk/samples/esb/bpel_loan_fault/src/org/jboss/soa/esb/samples/
trunk/samples/esb/bpel_loan_fault/src/org/jboss/soa/esb/samples/quickstart/
trunk/samples/esb/bpel_loan_fault/src/org/jboss/soa/esb/samples/quickstart/loanfault/
trunk/samples/esb/bpel_loan_fault/src/org/jboss/soa/esb/samples/quickstart/loanfault/test/
trunk/samples/esb/bpel_loan_fault/src/org/jboss/soa/esb/samples/quickstart/loanfault/test/SendEsbMessage.java
Modified:
trunk/runtime/jbossesb-bpel/src/main/java/org/jboss/soa/esb/actions/bpel/BPELInvoke.java
trunk/runtime/jbossesb-bpel/src/test/java/org/jboss/soa/esb/actions/bpel/BPELInvokeTest.java
trunk/runtime/jbossesb-bpel/src/test/java/org/jboss/soa/esb/actions/bpel/TestBPELEngine.java
Log:
RIFTSAW-6 - added support for returning BPEL (wsdl) faults to ESB action either as a fault message or throwing as an exception to abruptly terminate the action pipeline. Added loan_fault ESB example - needs testing when dependent issue fixed, and also integration tests implemented based on both the fault message and exception appropriates.
Modified: trunk/runtime/jbossesb-bpel/src/main/java/org/jboss/soa/esb/actions/bpel/BPELInvoke.java
===================================================================
--- trunk/runtime/jbossesb-bpel/src/main/java/org/jboss/soa/esb/actions/bpel/BPELInvoke.java 2009-11-05 17:28:46 UTC (rev 230)
+++ trunk/runtime/jbossesb-bpel/src/main/java/org/jboss/soa/esb/actions/bpel/BPELInvoke.java 2009-11-05 17:37:56 UTC (rev 231)
@@ -47,7 +47,10 @@
protected static final String RESPONSE_PART_NAME = "responsePartName";
protected static final String SERVICE = "service";
protected static final String OPERATION = "operation";
+ protected static final String ABORT_ON_FAULT = "abortOnFault";
+ protected static final String BODY_FAULT_CODE = "org.jboss.soa.esb.message.fault.detail.code";
+
protected ConfigTree _config;
private static BPELEngine _bpelEngine;
@@ -168,9 +171,17 @@
logger.debug("Invoking service: "+qname);
- org.w3c.dom.Element resp=engine.invoke(_config.getAttribute(OPERATION),
+ org.w3c.dom.Element resp=null;
+ javax.xml.namespace.QName faultName=null;
+
+ try {
+ resp = engine.invoke(_config.getAttribute(OPERATION),
new javax.xml.namespace.QName(getNamespace(serviceName),
getLocalPart(serviceName)), mesgElem);
+ } catch(BPELFault fault) {
+ resp = fault.getFaultMessage();
+ faultName = fault.getFaultName();
+ }
if (resp != null) {
ret = MessageFactory.getInstance().getMessage();
@@ -210,7 +221,7 @@
Object respValue=respNode;
// Check if node needs to be converted to text
- if (f_toText && respNode != null) {
+ if ((f_toText || faultName != null) && respNode != null) {
respValue = getText(respNode);
}
@@ -219,7 +230,24 @@
"' into a response document");
} else {
ret.getBody().add(respValue);
+
+ // Check if fault name should be set
+ if (faultName != null) {
+ //ret.getFault().setReason(faultName.toString());
+ throw new org.jboss.soa.esb.actions.ActionProcessingDetailFaultException(faultName,
+ "Fault", respValue.toString());
+ }
}
+ } catch(org.jboss.soa.esb.actions.ActionProcessingDetailFaultException fault) {
+
+ // Determine whether to abort action pipeline with exception or return
+ // fault message for continued processing
+ if (_config.getAttribute(ABORT_ON_FAULT, "true").equalsIgnoreCase("true")) {
+ throw fault;
+ } else {
+ ret = fault.getFaultMessage();
+ }
+
} catch(Exception e) {
logger.error("Failed to parse response '"+resp+"'", e);
}
Modified: trunk/runtime/jbossesb-bpel/src/test/java/org/jboss/soa/esb/actions/bpel/BPELInvokeTest.java
===================================================================
--- trunk/runtime/jbossesb-bpel/src/test/java/org/jboss/soa/esb/actions/bpel/BPELInvokeTest.java 2009-11-05 17:28:46 UTC (rev 230)
+++ trunk/runtime/jbossesb-bpel/src/test/java/org/jboss/soa/esb/actions/bpel/BPELInvokeTest.java 2009-11-05 17:37:56 UTC (rev 231)
@@ -17,6 +17,7 @@
*/
package org.jboss.soa.esb.actions.bpel;
+import org.jboss.soa.bpel.runtime.engine.BPELFault;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
@@ -603,6 +604,90 @@
}
}
+ public void testFaultAsException() {
+
+ ConfigTree config=new ConfigTree("test");
+ config.setAttribute(BPELInvoke.OPERATION, TEST_OP);
+ config.setAttribute(BPELInvoke.SERVICE, TEST_SERVICE);
+
+ // Request message
+ TestBPELEngine bpelEngine=null;
+ javax.xml.namespace.QName faultName=new javax.xml.namespace.QName("ns","lp");
+
+ BPELFault fault=null;
+
+ try {
+ fault = new BPELFault(faultName, (org.w3c.dom.Element)BPELInvoke.getNode("<data/>"));
+
+ bpelEngine=new TestBPELEngine(fault);
+
+ BPELInvoke invoke=new BPELInvoke(config);
+
+ invoke.setBPELEngine(bpelEngine);
+
+ Message mesg=MessageFactory.getInstance().getMessage();
+
+ mesg.getBody().add("<request/>");
+
+ invoke.process(mesg);
+
+ fail("Should have caused an exception");
+
+ } catch(org.jboss.soa.esb.actions.ActionProcessingDetailFaultException faultex) {
+
+ if (faultName.equals(faultex.getFaultMessage().getBody().get(BPELInvoke.BODY_FAULT_CODE)) == false) {
+ fail("QNames don't match: "+faultName+" against "+
+ faultex.getFaultMessage().getBody().get(BPELInvoke.BODY_FAULT_CODE));
+ }
+
+ } catch(Exception e) {
+ fail("Failed processing fault: "+e);
+ }
+ }
+
+ public void testFaultAsMessage() {
+
+ ConfigTree config=new ConfigTree("test");
+ config.setAttribute(BPELInvoke.OPERATION, TEST_OP);
+ config.setAttribute(BPELInvoke.SERVICE, TEST_SERVICE);
+ config.setAttribute(BPELInvoke.ABORT_ON_FAULT, "false");
+
+ // Request message
+ TestBPELEngine bpelEngine=null;
+ javax.xml.namespace.QName faultName=new javax.xml.namespace.QName("ns","lp");
+
+ BPELFault fault=null;
+
+ try {
+ fault = new BPELFault(faultName, (org.w3c.dom.Element)BPELInvoke.getNode("<data/>"));
+
+ bpelEngine=new TestBPELEngine(fault);
+
+ BPELInvoke invoke=new BPELInvoke(config);
+
+ invoke.setBPELEngine(bpelEngine);
+
+ Message mesg=MessageFactory.getInstance().getMessage();
+
+ mesg.getBody().add("<request/>");
+
+ Message resp=invoke.process(mesg);
+
+ // Check that response is a fault message with the correct fault code
+ if (resp.getFault() == null) {
+ fail("Response message should be a fault");
+ }
+
+ if (faultName.equals(resp.getBody().get(BPELInvoke.BODY_FAULT_CODE)) == false) {
+ fail("QNames don't match: "+faultName+" against "+
+ resp.getBody().get(BPELInvoke.BODY_FAULT_CODE));
+ }
+
+ } catch(Exception e) {
+ fail("Failed processing fault: "+e);
+ }
+ }
+
protected org.w3c.dom.Element getElement(org.w3c.dom.Element parent, String name) {
org.w3c.dom.Element ret=null;
Modified: trunk/runtime/jbossesb-bpel/src/test/java/org/jboss/soa/esb/actions/bpel/TestBPELEngine.java
===================================================================
--- trunk/runtime/jbossesb-bpel/src/test/java/org/jboss/soa/esb/actions/bpel/TestBPELEngine.java 2009-11-05 17:28:46 UTC (rev 230)
+++ trunk/runtime/jbossesb-bpel/src/test/java/org/jboss/soa/esb/actions/bpel/TestBPELEngine.java 2009-11-05 17:37:56 UTC (rev 231)
@@ -36,6 +36,10 @@
m_response = resp;
}
+ public TestBPELEngine(BPELFault fault) {
+ m_fault = fault;
+ }
+
public TestBPELEngine(String resp) throws Exception {
DocumentBuilder builder=DocumentBuilderFactory.newInstance().newDocumentBuilder();
@@ -69,6 +73,11 @@
@Override
public Element invoke(String operation, QName service, Element message)
throws BPELFault, Exception {
+
+ if (m_fault != null) {
+ throw m_fault;
+ }
+
m_request = message;
return(m_response);
}
@@ -84,11 +93,11 @@
}
- public Object getManagementInterface()
- {
- throw new RuntimeException("Not implemented");
- }
-
- private Element m_request=null;
+ public Object getManagementInterface() {
+ throw new RuntimeException("Not implemented");
+ }
+
+ private Element m_request=null;
private Element m_response=null;
+ private BPELFault m_fault=null;
}
Added: trunk/samples/esb/bpel_loan_fault/build.xml
===================================================================
--- trunk/samples/esb/bpel_loan_fault/build.xml (rev 0)
+++ trunk/samples/esb/bpel_loan_fault/build.xml 2009-11-05 17:37:56 UTC (rev 231)
@@ -0,0 +1,22 @@
+<project name="Quickstart_esb_bpel_loan_fault" default="run" basedir=".">
+
+ <description>
+ ${ant.project.name}
+ ${line.separator}
+ </description>
+
+ <!-- Import the base Ant build script... -->
+ <import file="../conf/base-build.xml"/>
+
+ <target name="sendesb" depends="compile"
+ description="Will send an esb Message">
+ <echo>Runs Test ESB Message Sender</echo>
+ <java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.loanfault.test.SendEsbMessage" failonerror="true">
+ <arg value="LoanFaultBPELESB"/> <!-- service category -->
+ <arg value="LoanFail"/> <!-- service name -->
+ <arg value="<request><firstName>Jane</firstName><name>Bloggs</name><amount>0</amount></request>"/> <!-- Message text -->
+ <classpath refid="exec-classpath"/>
+ </java>
+ </target>
+
+</project>
Added: trunk/samples/esb/bpel_loan_fault/deployment.xml
===================================================================
--- trunk/samples/esb/bpel_loan_fault/deployment.xml (rev 0)
+++ trunk/samples/esb/bpel_loan_fault/deployment.xml 2009-11-05 17:37:56 UTC (rev 231)
@@ -0,0 +1,6 @@
+<jbossesb-deployment>
+ <depends>jboss.bpel:service=BPELEngine</depends>
+ <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_bpel_loan_fault_Request_esb</depends>
+ <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_bpel_loan_fault_Request_esb_reply</depends>
+ <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_bpel_loan_fault_Request_gw</depends>
+</jbossesb-deployment>
Added: trunk/samples/esb/bpel_loan_fault/jbm-queue-service.xml
===================================================================
--- trunk/samples/esb/bpel_loan_fault/jbm-queue-service.xml (rev 0)
+++ trunk/samples/esb/bpel_loan_fault/jbm-queue-service.xml 2009-11-05 17:37:56 UTC (rev 231)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_bpel_loan_fault_Request_esb"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_bpel_loan_fault_Request_esb_reply"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_bpel_loan_fault_Request_gw"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/samples/esb/bpel_loan_fault/jbmq-queue-service.xml
===================================================================
--- trunk/samples/esb/bpel_loan_fault/jbmq-queue-service.xml (rev 0)
+++ trunk/samples/esb/bpel_loan_fault/jbmq-queue-service.xml 2009-11-05 17:37:56 UTC (rev 231)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_bpel_loan_fault_Request_esb">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_bpel_loan_fault_Request_esb_reply">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_bpel_loan_fault_Request_gw">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+</server>
Added: trunk/samples/esb/bpel_loan_fault/jboss-esb.xml
===================================================================
--- trunk/samples/esb/bpel_loan_fault/jboss-esb.xml (rev 0)
+++ trunk/samples/esb/bpel_loan_fault/jboss-esb.xml 2009-11-05 17:37:56 UTC (rev 231)
@@ -0,0 +1,48 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml..." parameterReloadSecs="5">
+
+ <providers>
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
+ <jms-bus busid="quickstartGwChannel">
+ <jms-message-filter
+ dest-type="QUEUE"
+ dest-name="queue/quickstart_bpel_loan_fault_Request_gw"
+ />
+ </jms-bus>
+ <jms-bus busid="quickstartEsbChannel">
+ <jms-message-filter
+ dest-type="QUEUE"
+ dest-name="queue/quickstart_bpel_loan_fault_Request_esb"
+ />
+ </jms-bus>
+
+ </jms-provider>
+ </providers>
+
+ <services>
+ <service
+ category="LoanFaultBPELESB"
+ name="LoanFail"
+ description="Fail to get loan approved">
+ <listeners>
+ <jms-listener name="JMS-Gateway"
+ busidref="quickstartGwChannel"
+ is-gateway="true" />
+ <jms-listener name="loanFault"
+ busidref="quickstartEsbChannel" />
+ </listeners>
+ <actions>
+ <action name="action1" class="org.jboss.soa.esb.actions.SystemPrintln">
+ <property name="printfull" value="true"/>
+ </action>
+ <action name="action2" class="org.jboss.soa.esb.actions.bpel.BPELInvoke">
+ <property name="service" value="{http://example.com/loan-approval/wsdl/}loanService"/>
+ <property name="operation" value="request" />
+ </action>
+ <!-- The next action is for Continuous Integration testing -->
+ <action name="testStore" class="org.jboss.soa.esb.actions.TestMessageStore"/>
+ </actions>
+ </service>
+ </services>
+
+</jbossesb>
Added: trunk/samples/esb/bpel_loan_fault/jbossesb-properties.xml
===================================================================
--- trunk/samples/esb/bpel_loan_fault/jbossesb-properties.xml (rev 0)
+++ trunk/samples/esb/bpel_loan_fault/jbossesb-properties.xml 2009-11-05 17:37:56 UTC (rev 231)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ 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-2006,
+ @author JBoss Inc.
+-->
+<!-- $Id: jbossesb-unittest-properties.xml $ -->
+<!--
+ These options are described in the JBossESB manual.
+ Defaults are provided here for convenience only.
+
+ Please read through this file prior to using the system, and consider
+ updating the specified entries.
+-->
+<esb
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+ <properties name="core">
+ <property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
+ <property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+ <property name="org.jboss.soa.esb.persistence.connection.factory" value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+ <property name="jboss.esb.invm.scope.default" value="NONE"/>
+ </properties>
+ <properties name="registry">
+ <property name="org.jboss.soa.esb.registry.queryManagerURI"
+ value="jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire"/>
+ <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI"
+ value="jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish" />
+ <property name="org.jboss.soa.esb.registry.implementationClass"
+ value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
+ <property name="org.jboss.soa.esb.registry.factoryClass"
+ value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
+ <property name="org.jboss.soa.esb.registry.user"
+ value="jbossesb"/>
+ <property name="org.jboss.soa.esb.registry.password"
+ value="password"/>
+ <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
+ <property name="org.jboss.soa.esb.scout.proxy.transportClass"
+ value="org.apache.ws.scout.transport.RMITransport"/>
+ </properties>
+ <properties name="transports" depends="core">
+ <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
+ <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
+ <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
+ <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
+ </properties>
+ <properties name="connection">
+ <property name="min-pool-size" value="5"/>
+ <property name="max-pool=size" value="10"/>
+ <property name="blocking-timeout-millis" value="5000"/>
+ <property name="abandoned-connection-timeout" value="10000"/>
+ <property name="abandoned-connection-time-interval" value="30000"/>
+ </properties>
+ <properties name="dbstore">
+ <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:hsqldb:hsql://localhost:9001/"/>
+ <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
+ <property name="org.jboss.soa.esb.persistence.db.user" value="sa"/>
+ <property name="org.jboss.soa.esb.persistence.db.pwd" value=""/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
+ <!--table managed by pool to test for valid connections - created by pool automatically -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
+ <!-- # of milliseconds to timeout waiting for a connection from pool -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
+ <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
+ </properties>
+ <properties name="messagerouting">
+ <property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+ </properties>
+</esb>
Added: trunk/samples/esb/bpel_loan_fault/jndi.properties
===================================================================
--- trunk/samples/esb/bpel_loan_fault/jndi.properties (rev 0)
+++ trunk/samples/esb/bpel_loan_fault/jndi.properties 2009-11-05 17:37:56 UTC (rev 231)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+
Added: trunk/samples/esb/bpel_loan_fault/juddi.properties
===================================================================
--- trunk/samples/esb/bpel_loan_fault/juddi.properties (rev 0)
+++ trunk/samples/esb/bpel_loan_fault/juddi.properties 2009-11-05 17:37:56 UTC (rev 231)
@@ -0,0 +1,69 @@
+# jUDDI Registry Properties (used by RegistryServer)
+# see http://www.juddi.org for more information
+
+# The UDDI Operator Name
+juddi.operatorName = jUDDI.org
+
+# The i18n locale default codes
+juddi.i18n.languageCode = en
+juddi.i18n.countryCode = US
+
+# The UDDI DiscoveryURL Prefix
+juddi.discoveryURL = http://localhost:8080/juddi/uddiget.jsp?
+
+# The UDDI Operator Contact Email Address
+juddi.operatorEmailAddress = admin(a)juddi.org
+
+# The maximum name size and maximum number
+# of name elements allows in several of the
+# FindXxxx and SaveXxxx UDDI functions.
+juddi.maxNameLength=255
+juddi.maxNameElementsAllowed=5
+
+# The maximum number of UDDI artifacts allowed
+# per publisher. A value of '-1' indicates any
+# number of artifacts is valid (These values can be
+# overridden at the individual publisher level).
+juddi.maxBusinessesPerPublisher=25
+juddi.maxServicesPerBusiness=20
+juddi.maxBindingsPerService=10
+juddi.maxTModelsPerPublisher=100
+
+# jUDDI Authentication module to use
+juddi.auth = org.apache.juddi.auth.DefaultAuthenticator
+
+# jUDDI DataStore module currently to use
+juddi.dataStore = org.apache.juddi.datastore.jdbc.JDBCDataStore
+
+# use a dataSource (if set to false a direct
+# jdbc connection will be used.
+juddi.isUseDataSource=false
+juddi.jdbcDriver=com.mysql.jdbc.Driver
+juddi.jdbcUrl=jdbc:mysql://localhost:3306/juddi
+juddi.jdbcUsername=root
+juddi.jdbcPassword=admin
+# jUDDI DataSource to use
+# juddi.dataSource=java:comp/env/jdbc/MySqlDS
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+
Added: trunk/samples/esb/bpel_loan_fault/log4j.xml
===================================================================
--- trunk/samples/esb/bpel_loan_fault/log4j.xml (rev 0)
+++ trunk/samples/esb/bpel_loan_fault/log4j.xml 2009-11-05 17:37:56 UTC (rev 231)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+ | 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"/>
+ <param name="Threshold" value="INFO"/>
+
+ <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="DEBUG"/>
+ </category>
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <appender-ref ref="CONSOLE"/>
+ <appender-ref ref="FILE"/>
+ </root>
+
+</log4j:configuration>
Added: trunk/samples/esb/bpel_loan_fault/readme.txt
===================================================================
--- trunk/samples/esb/bpel_loan_fault/readme.txt (rev 0)
+++ trunk/samples/esb/bpel_loan_fault/readme.txt 2009-11-05 17:37:56 UTC (rev 231)
@@ -0,0 +1,21 @@
+Overview:
+=========
+ The purpose of the bpel helloworld quickstart sample is to demonstrate
+ a simple invocation of a BPEL process using an ESB action.
+
+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 '.esb' archive mode:
+===========================
+ Before deploying this example, you will need to deploy the BPEL 'hello_world'
+ quickstart example. The ESB action deployed and executed in this example will
+ invoke this 'hello_world' BPEL example.
+
+ 1. In a command terminal window in this folder ("Window1"), type 'ant deploy'.
+ 2. Open another command terminal window in this folder ("Window2"), type
+ 'ant sendesb'.
+ 3. Switch back to Application Server console to see the output from the ESB
+ 4. In this folder ("Window1"), type 'ant undeploy'.
Added: trunk/samples/esb/bpel_loan_fault/src/org/jboss/soa/esb/samples/quickstart/loanfault/test/SendEsbMessage.java
===================================================================
--- trunk/samples/esb/bpel_loan_fault/src/org/jboss/soa/esb/samples/quickstart/loanfault/test/SendEsbMessage.java (rev 0)
+++ trunk/samples/esb/bpel_loan_fault/src/org/jboss/soa/esb/samples/quickstart/loanfault/test/SendEsbMessage.java 2009-11-05 17:37:56 UTC (rev 231)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY 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 along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.soa.esb.samples.quickstart.loanfault.test;
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.client.ServiceInvoker;
+
+/**
+ * Standalone class with to send ESB messages to a 'known' [category,name].
+ * <p/> arg0 - service category
+ * <br/>arg1 - service name
+ * <br/>arg2 - Text of message to send
+ *
+ * @author <a href="mailto:schifest@heuristica.com.ar">schifest(a)heuristica.com.ar</a>
+ * @since Version 4.0
+ *
+ */
+public class SendEsbMessage
+{
+ public static void main(String args[]) throws Exception
+ {
+// Setting the ConnectionFactory such that it will use scout
+ System.setProperty("javax.xml.registry.ConnectionFactoryClass","org.apache.ws.scout.registry.ConnectionFactoryImpl");
+
+ if (args.length < 3)
+ {
+ System.err.println("Usage SendEsbMessage <category> <name> <text to send>");
+ System.exit(1);
+ }
+
+ Message esbMessage = MessageFactory.getInstance().getMessage();
+
+ esbMessage.getBody().add(args[2]);
+
+ Message respMessage = new ServiceInvoker(args[0], args[1]).deliverSync(esbMessage, 5000);
+
+ System.out.println("REPLY: "+respMessage.getBody().get());
+ }
+
+}
15 years, 11 months
riftsaw SVN: r230 - in trunk: qa and 1 other directory.
by riftsaw-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2009-11-05 12:28:46 -0500 (Thu, 05 Nov 2009)
New Revision: 230
Added:
trunk/qa/hudson-riftsaw-ws.sh
Modified:
trunk/distribution/src/main/release/install/build.xml
Log:
* RIFTSAW-109, update jbossws-native-3.2.1 in the installer.
Modified: trunk/distribution/src/main/release/install/build.xml
===================================================================
--- trunk/distribution/src/main/release/install/build.xml 2009-11-05 10:31:44 UTC (rev 229)
+++ trunk/distribution/src/main/release/install/build.xml 2009-11-05 17:28:46 UTC (rev 230)
@@ -18,6 +18,22 @@
<property name="bpel-esb-examples" value="esb" />
<property name="esb.examples.dir" value="${org.jboss.esb.home}/samples/quickstarts"/>
+ <!-- ws stack provider -->
+ <property name="ws.stack" value="default" />
+ <property name="ws.version" value="3.2.1.GA" />
+
+ <property name="ws.stack.distro.url" value="http://www.jboss.org/downloading/?projectId=jbossws&url=/jbossws/down..." />
+ <property name="ws.stack.dir" value="ws-stack"/>
+
+ <condition property="keep.ws.stack">
+ <equals arg1="${ws.stack}" arg2="default"/>
+ </condition>
+
+ <condition property="is.ws.stack.distro.available">
+ <available file="${ws.stack.dir}/jbossws-${ws.stack}-${ws.version}.zip" />
+ </condition>
+
+
<property name="modules" value="../modules" />
<property name="samples" value="../samples" />
@@ -34,6 +50,9 @@
</target>
<target name="deploy" description="Deploys BPEL Runtime to the server">
+
+ <antcall target="internal.install.riftsaw.ws.stack"/>
+
<echo message="Deploy BPEL runtime to JBoss server" />
<copy todir="${deployers.dir}/${bpel-deployer}">
<fileset dir="${modules}/${bpel-deployer}" />
@@ -94,7 +113,7 @@
<delete dir="${deploy.dir}/${bpel-runtime}" />
<delete file="${deploy.dir}/${jbossesb-bpel}" />
- <!--install appropriate db driver-->
+ <!--uninstall appropriate db driver-->
<antcall target="internal.uninstall.riftsaw.into.jboss.db.${database}" />
<!-- https://jira.jboss.org/jira/browse/RIFTSAW-24 -->
@@ -169,4 +188,22 @@
<target name="internal.uninstall.riftsaw.into.jboss.db.postgres" />
+ <target name="internal.install.riftsaw.ws.stack" unless="keep.ws.stack">
+ <echo>Replacing the Web Service Stack to ${ws.stack}-${ws.version}</echo>
+ <antcall target="get.ws.stack" />
+ <unzip src="${ws.stack.dir}/jbossws-${ws.stack}-${ws.version}.zip" dest="${basedir}/ws-stack/dist/" />
+ <copy file="ws-stack/dist/jbossws-${ws.stack}-bin-dist/ant.properties.example" tofile="ws-stack/dist/jbossws-${ws.stack}-bin-dist/ant.properties" />
+ <ant dir="${basedir}/ws-stack/dist/jbossws-${ws.stack}-bin-dist" target="deploy-jboss510">
+ <property name="jboss510.home" value="${org.jboss.esb.server.home}" />
+ <property name="jboss.server.instance" value="${org.jboss.esb.server.config}" />
+ </ant>
+ <!-- JBoss WS install additional juddi, duplicated with JBossESB's juddi one -->
+ <delete dir="${org.jboss.esb.home}/server/${org.jboss.esb.server.config}/deploy/juddi-service.sar"/>
+ </target>
+
+ <target name="get.ws.stack" description="download ws stack" unless="is.ws.stack.distro.available">
+ <mkdir dir="${ws.stack.dir}" />
+ <get src="${ws.stack.distro.url}" dest="${ws.stack.dir}/jbossws-${ws.stack}-${ws.version}.zip" />
+ </target>
+
</project>
Added: trunk/qa/hudson-riftsaw-ws.sh
===================================================================
--- trunk/qa/hudson-riftsaw-ws.sh (rev 0)
+++ trunk/qa/hudson-riftsaw-ws.sh 2009-11-05 17:28:46 UTC (rev 230)
@@ -0,0 +1,38 @@
+#!/bin/sh
+#
+# Run Riftsaw Integration tests.
+
+MAVEN_OPTS="-Xms512M -Xmx1024M"
+RIFTSAW_PARENT_DIR="$WORKSPACE"
+JBOSS_VERSION="5.1.0.GA"
+DATABASE="hsql"
+
+ANT_PROPERTIES="-Driftsaw.parent.dir=$RIFTSAW_PARENT_DIR -Ddatabase=$DATABASE"
+echo ANT_PROPERTIES=${ANT_PROPERTIES}
+
+# firstly build the Riftsaw and run unit tests
+echo build RiftSaw and running unit test
+cd ..
+mvn clean install
+
+# run integration test
+echo cleanup the RiftSaw HOME
+cd qa
+ant $ANT_PROPERTIES clean
+ant $ANT_PROPERTIES install.jbossesb
+
+# clean up the database
+echo clean up the database
+
+#ant $ANT_PROPERTIES drop.riftsaw.schema
+
+RIFTSAW_VERSION="2.0-SNAPSHOT"
+ESB_HOME="$RIFTSAW_PARENT_DIR/riftsaw-$RIFTSAW_VERSION/jboss-$JBOSS_VERSION"
+ESB_CONFIG="default"
+WS_STACK_DIR="$RIFTSAW_PARENT_DIR/downloads"
+
+echo build the RiftSaw and run integration tests
+echo ESB_HOME=$ESB_HOME, ESB_CONIFG=$ESB_CONFIG
+
+cd ../integration-tests
+mvn -Dorg.jboss.esb.server.home=$ESB_HOME -Dorg.jboss.esb.server.config=$ESB_CONFIG -Ddatabase=$DATABASE -Dws.stack=$WS_STACK -Dws.stack.dir=$WS_STACK_DIR clean install
Property changes on: trunk/qa/hudson-riftsaw-ws.sh
___________________________________________________________________
Name: svn:executable
+ *
15 years, 11 months
riftsaw SVN: r229 - trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws.
by riftsaw-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2009-11-05 05:31:44 -0500 (Thu, 05 Nov 2009)
New Revision: 229
Modified:
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/WebServiceClient.java
Log:
Fix RIFTSAW-90: Parse SOAP Fault on response
Modified: trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java
===================================================================
--- trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java 2009-11-05 10:13:45 UTC (rev 228)
+++ trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java 2009-11-05 10:31:44 UTC (rev 229)
@@ -35,10 +35,10 @@
import javax.wsdl.extensions.ElementExtensible;
import javax.wsdl.extensions.soap.SOAPBinding;
import javax.xml.namespace.QName;
-import javax.xml.soap.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.soap.*;
import java.util.*;
/**
@@ -223,7 +223,7 @@
}
public void parseSoapResponse(org.apache.ode.bpel.iapi.Message odeMessage,
- SOAPMessage soapMessage, Operation odeOperation) {
+ SOAPMessage soapMessage, javax.wsdl.Operation odeOperation) {
BindingOperation bop = binding.getBindingOperation(odeOperation.getName(), null, null);
if (bop == null)
throw new RuntimeException("Operation "+odeOperation.getName()+"not found on "+serviceName+"/"+portName);
@@ -339,4 +339,49 @@
return CollectionsX.filter(new ArrayList<SOAPHeader>(), (Collection<Object>) eee.getExtensibilityElements(),
SOAPHeader.class);
}
+
+ public Fault parseSoapFault(
+ Element odeMessage,
+ SOAPMessage soapMessage,
+ javax.wsdl.Operation operation)
+ {
+ Fault fdef = null;
+ try
+ {
+ SOAPFault flt = soapMessage.getSOAPBody().getFault();
+ Detail detail = flt.getDetail();
+ fdef = inferFault(operation, flt);
+ if(fdef!=null)
+ {
+ Part pdef = (Part)fdef.getMessage().getParts().values().iterator().next();
+ Element partel = odeMessage.getOwnerDocument().createElementNS(null,pdef.getName());
+ odeMessage.appendChild(partel);
+
+ Element childByName = DOMUtils.findChildByName(detail, pdef.getElementName());
+ if (childByName != null)
+ {
+ partel.appendChild(odeMessage.getOwnerDocument().importNode(childByName, true));
+ }
+ else
+ {
+ partel.appendChild(odeMessage.getOwnerDocument().importNode(detail,true));
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Failed to parse SOAP Fault",e);
+ }
+
+ return fdef;
+ }
+
+ private Fault inferFault(Operation operation, SOAPFault flt) {
+ if (!flt.hasDetail())
+ return null;
+ // The detail is a dummy <detail> node containing the interesting fault element
+ Element element = DOMUtils.getFirstChildElement(flt.getDetail());
+ QName elName = new QName(element.getNamespaceURI(), element.getLocalName());
+ return WsdlUtils.inferFault(operation, elName);
+ }
}
Modified: trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/WebServiceClient.java
===================================================================
--- trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/WebServiceClient.java 2009-11-05 10:13:45 UTC (rev 228)
+++ trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/WebServiceClient.java 2009-11-05 10:31:44 UTC (rev 229)
@@ -27,21 +27,25 @@
import org.apache.ode.bpel.iapi.MessageExchange;
import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange;
import org.apache.ode.bpel.iapi.Scheduler;
+import org.apache.ode.utils.DOMUtils;
import org.jboss.soa.bpel.runtime.engine.BPELFault;
import org.jboss.soa.bpel.runtime.engine.EndpointReference;
import org.jboss.soa.bpel.runtime.engine.PartnerChannel;
import org.jboss.soa.bpel.runtime.engine.ode.ExecutionEnvironment;
+import org.w3c.dom.Document;
import org.w3c.dom.Element;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.transaction.UserTransaction;
import javax.wsdl.Definition;
+import javax.wsdl.Fault;
import javax.xml.namespace.QName;
import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPFault;
import javax.xml.soap.SOAPMessage;
import javax.xml.ws.Dispatch;
import javax.xml.ws.Service;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.transaction.UserTransaction;
import java.net.URL;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
@@ -136,13 +140,49 @@
// Create ODE response
Message odeResponse = mex.createMessage(mex.getOperation().getOutput().getMessage().getQName());
- messageAdapter.parseSoapResponse(odeResponse,soapResponseMessage,mex.getOperation());
+ if(soapResponseMessage.getSOAPBody().hasFault())
+ {
+ // fault handling
+ Document odeMsg = DOMUtils.newDocument();
+ Element odeMsgEl = odeMsg.createElementNS(null, "message");
+ odeMsg.appendChild(odeMsgEl);
+
+ Fault fault = messageAdapter.parseSoapFault(
+ odeMsgEl, soapResponseMessage, mex.getOperation()
+ );
+ if (fault != null)
+ {
+ if (log.isWarnEnabled())
+ log.warn("Fault response: faultName="
+ + fault.getName() + " faultType=" + fault.getMessage().getQName()
+ + "\n" + DOMWriter.printNode(odeMsgEl, true));
+
+ QName faultType = fault.getMessage().getQName();
+ QName faultName = new QName(wsdlDefintion.getTargetNamespace(), fault.getName());
+ Message response = mex.createMessage(faultType);
+ response.setMessage(odeMsgEl);
+
+ mex.replyWithFault(faultName, response);
+ }
+ else
+ {
+ if (log.isWarnEnabled())
+ log.warn("Fault response: faultType=(unknown)");
+
+ SOAPFault f = soapResponseMessage.getSOAPBody().getFault();
+ mex.replyWithFailure(MessageExchange.FailureType.OTHER, "Unspecified", f.getDetail());
+ }
+ }
+ else
+ {
+ messageAdapter.parseSoapResponse(odeResponse,soapResponseMessage,mex.getOperation());
+ mex.reply(odeResponse);
+ }
+
if(log.isDebugEnabled())
log.debug( "ODE inbound message: \n" +DOMWriter.printNode(odeResponse.getMessage(), true) );
- mex.reply(odeResponse);
-
tx.commit();
}
catch (Throwable e)
15 years, 11 months
riftsaw SVN: r228 - in trunk: samples/quickstart/atm and 1 other directory.
by riftsaw-commits@lists.jboss.org
Author: alex.guizar(a)jboss.com
Date: 2009-11-05 05:13:45 -0500 (Thu, 05 Nov 2009)
New Revision: 228
Modified:
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/build.xml
trunk/samples/quickstart/atm/build.xml
Log:
RIFTSAW-34 fork javac and fix newlines in build files
Modified: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/build.xml
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/build.xml 2009-11-05 09:17:48 UTC (rev 227)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/build.xml 2009-11-05 10:13:45 UTC (rev 228)
@@ -1,49 +1,49 @@
<project name="Quickstart_bpel_atm" default="deploy" basedir=".">
-
- <description>
- ${ant.project.name}
- </description>
-
- <property name="version" value="1" />
-
- <property name="deploy.dir" value="${basedir}/target/tests" />
- <property name="test.dir" value="${basedir}/src/test/resources/samples/${ant.project.name}" />
-
- <property name="sample.jar.name" value="${ant.project.name}-${version}.jar" />
-
- <property name="war.build.dir" location="${deploy.dir}/${ant.project.name}/build/war/classes" />
-
- <path id="compile-classpath">
- <!-- Required for JMS Client Code. -->
- <fileset dir="${org.jboss.esb.server.home}/client" includes="*.jar" />
- </path>
-
- <target name="deploywar" description="make war">
- <!-- Compile... -->
- <mkdir dir="${war.build.dir}" />
-
- <javac srcdir="${test.dir}/war/src" destdir="${war.build.dir}" target="1.5" debug="true">
- <classpath refid="compile-classpath" />
- </javac>
-
- <!-- War... -->
- <war warfile="${deploy.dir}/${ant.project.name}/${ant.project.name}.war" webxml="${test.dir}/war/resources/WEB-INF/web.xml">
- <classes dir="${war.build.dir}" />
- </war>
+
+ <description>
+ ${ant.project.name}
+ </description>
+
+ <property name="version" value="1" />
+
+ <property name="deploy.dir" value="${basedir}/target/tests" />
+ <property name="test.dir" value="${basedir}/src/test/resources/samples/${ant.project.name}" />
+
+ <property name="sample.jar.name" value="${ant.project.name}-${version}.jar" />
+
+ <property name="war.build.dir" location="${deploy.dir}/${ant.project.name}/build/war/classes" />
+
+ <path id="compile-classpath">
+ <!-- Required for JMS Client Code. -->
+ <fileset dir="${org.jboss.esb.server.home}/client" includes="*.jar" />
+ </path>
+
+ <target name="deploywar" description="make war">
+ <!-- Compile... -->
+ <mkdir dir="${war.build.dir}" />
+
+ <javac fork="yes" srcdir="${test.dir}/war/src" destdir="${war.build.dir}" target="1.5" debug="true">
+ <classpath refid="compile-classpath" />
+ </javac>
+
+ <!-- War... -->
+ <war warfile="${deploy.dir}/${ant.project.name}/${ant.project.name}.war" webxml="${test.dir}/war/resources/WEB-INF/web.xml">
+ <classes dir="${war.build.dir}" />
+ </war>
</target>
-
- <target name="undeploywar">
- <delete file="${deploy.dir}/${ant.project.name}/${ant.project.name}.war" />
- </target>
-
- <target name="deploy" depends="deploywar">
- <echo>Deploy ${ant.project.name}</echo>
- <jar basedir="${test.dir}/bpel" destfile="${deploy.dir}/${ant.project.name}/${sample.jar.name}" />
- </target>
-
- <target name="undeploy" depends="undeploywar">
- <echo>Undeploy ${ant.project.name}</echo>
- <delete file="${deploy.dir}/${ant.project.name}/${sample.jar.name}" />
- </target>
-
-</project>
+
+ <target name="undeploywar">
+ <delete file="${deploy.dir}/${ant.project.name}/${ant.project.name}.war" />
+ </target>
+
+ <target name="deploy" depends="deploywar">
+ <echo>Deploy ${ant.project.name}</echo>
+ <jar basedir="${test.dir}/bpel" destfile="${deploy.dir}/${ant.project.name}/${sample.jar.name}" />
+ </target>
+
+ <target name="undeploy" depends="undeploywar">
+ <echo>Undeploy ${ant.project.name}</echo>
+ <delete file="${deploy.dir}/${ant.project.name}/${sample.jar.name}" />
+ </target>
+
+</project>
Modified: trunk/samples/quickstart/atm/build.xml
===================================================================
--- trunk/samples/quickstart/atm/build.xml 2009-11-05 09:17:48 UTC (rev 227)
+++ trunk/samples/quickstart/atm/build.xml 2009-11-05 10:13:45 UTC (rev 228)
@@ -1,60 +1,60 @@
-<project name="Quickstart_bpel_atm" default="deploy" basedir=".">
-
- <description>
- ${ant.project.name}
- </description>
-
- <!-- Import the base Ant build script... -->
- <property file="../../../install/deployment.properties" />
-
- <property name="version" value="1" />
-
- <property name="server.dir" value="${org.jboss.esb.server.home}/server/${org.jboss.esb.server.config}" />
- <property name="conf.dir" value="${server.dir}/conf" />
- <property name="deploy.dir" value="${server.dir}/deploy" />
- <property name="server.lib.dir" value="${server.dir}/lib" />
-
- <property name="sample.jar.name" value="${ant.project.name}-${version}.jar" />
- <property name="war.build.dir" location="build/war/classes" />
-
- <path id="compile-classpath">
- <!-- Required for JMS Client Code. -->
- <fileset dir="${org.jboss.esb.server.home}/client" includes="*.jar" />
- </path>
- <property name="compile-classpath" refid="compile-classpath" />
-
- <target name="makewar" description="make war">
- <!-- Compile... -->
- <mkdir dir="${war.build.dir}" />
- <javac srcdir="war/src" destdir="${war.build.dir}" target="1.5" debug="true">
- <classpath refid="compile-classpath" />
- </javac>
- <copy todir="${war.build.dir}">
- <fileset dir="war/src" includes="**/*.xml" />
- </copy>
-
- <!-- War... -->
- <war warfile="build/${ant.project.name}.war" webxml="${basedir}/war/resources/WEB-INF/web.xml">
- <classes dir="${war.build.dir}" />
- </war>
- </target>
-
- <target name="deploywar" depends="makewar">
- <copy todir="${deploy.dir}" file="build/${ant.project.name}.war" />
+<project name="Quickstart_bpel_atm" default="deploy" basedir=".">
+
+ <description>
+ ${ant.project.name}
+ </description>
+
+ <!-- Import the base Ant build script... -->
+ <property file="../../../install/deployment.properties" />
+
+ <property name="version" value="1" />
+
+ <property name="server.dir" value="${org.jboss.esb.server.home}/server/${org.jboss.esb.server.config}" />
+ <property name="conf.dir" value="${server.dir}/conf" />
+ <property name="deploy.dir" value="${server.dir}/deploy" />
+ <property name="server.lib.dir" value="${server.dir}/lib" />
+
+ <property name="sample.jar.name" value="${ant.project.name}-${version}.jar" />
+ <property name="war.build.dir" location="build/war/classes" />
+
+ <path id="compile-classpath">
+ <!-- Required for JMS Client Code. -->
+ <fileset dir="${org.jboss.esb.server.home}/client" includes="*.jar" />
+ </path>
+ <property name="compile-classpath" refid="compile-classpath" />
+
+ <target name="makewar" description="make war">
+ <!-- Compile... -->
+ <mkdir dir="${war.build.dir}" />
+ <javac srcdir="war/src" destdir="${war.build.dir}" target="1.5" debug="true">
+ <classpath refid="compile-classpath" />
+ </javac>
+ <copy todir="${war.build.dir}">
+ <fileset dir="war/src" includes="**/*.xml" />
+ </copy>
+
+ <!-- War... -->
+ <war warfile="build/${ant.project.name}.war" webxml="${basedir}/war/resources/WEB-INF/web.xml">
+ <classes dir="${war.build.dir}" />
+ </war>
</target>
-
- <target name="undeploywar">
- <delete file="${deploy.dir}/${ant.project.name}.war" />
- </target>
-
- <target name="deploy" depends="deploywar">
- <echo>Deploy ${ant.project.name}</echo>
- <jar basedir="bpel" destfile="${deploy.dir}/${sample.jar.name}" />
- </target>
-
- <target name="undeploy" depends="undeploywar">
- <echo>Undeploy ${ant.project.name}</echo>
- <delete file="${deploy.dir}/${sample.jar.name}" />
- </target>
-
-</project>
+
+ <target name="deploywar" depends="makewar">
+ <copy todir="${deploy.dir}" file="build/${ant.project.name}.war" />
+ </target>
+
+ <target name="undeploywar">
+ <delete file="${deploy.dir}/${ant.project.name}.war" />
+ </target>
+
+ <target name="deploy" depends="deploywar">
+ <echo>Deploy ${ant.project.name}</echo>
+ <jar basedir="bpel" destfile="${deploy.dir}/${sample.jar.name}" />
+ </target>
+
+ <target name="undeploy" depends="undeploywar">
+ <echo>Undeploy ${ant.project.name}</echo>
+ <delete file="${deploy.dir}/${sample.jar.name}" />
+ </target>
+
+</project>
15 years, 11 months
riftsaw SVN: r227 - in trunk: integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples and 33 other directories.
by riftsaw-commits@lists.jboss.org
Author: alex.guizar(a)jboss.com
Date: 2009-11-05 04:17:48 -0500 (Thu, 05 Nov 2009)
New Revision: 227
Added:
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELAtmTestCase.java
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/AtmFrontEndService.java
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/FrontEnd.java
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/InsufficientFunds.java
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/InsufficientFunds_Exception.java
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/UnauthorizedAccess.java
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/UnauthorizedAccess_Exception.java
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/package-info.java
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/account-service.wsdl
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/atm-service.wsdl
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/atm.bpel
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/bpel-deploy.xml
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/account.wsdl
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/atm.wsdl
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/ticket.wsdl
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/ticket-service.wsdl
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/build.xml
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/resources/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/resources/WEB-INF/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/resources/WEB-INF/web.xml
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountOperation.java
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem.java
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem_Impl.java
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/accounts.xml
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/package-info.java
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer.java
trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer_Impl.java
trunk/samples/quickstart/atm/
trunk/samples/quickstart/atm/bpel/
trunk/samples/quickstart/atm/bpel/account-service.wsdl
trunk/samples/quickstart/atm/bpel/atm-service.wsdl
trunk/samples/quickstart/atm/bpel/atm.bpel
trunk/samples/quickstart/atm/bpel/bpel-deploy.xml
trunk/samples/quickstart/atm/bpel/interface/
trunk/samples/quickstart/atm/bpel/interface/account.wsdl
trunk/samples/quickstart/atm/bpel/interface/atm.wsdl
trunk/samples/quickstart/atm/bpel/interface/ticket.wsdl
trunk/samples/quickstart/atm/bpel/ticket-service.wsdl
trunk/samples/quickstart/atm/build.xml
trunk/samples/quickstart/atm/war/
trunk/samples/quickstart/atm/war/resources/
trunk/samples/quickstart/atm/war/resources/WEB-INF/
trunk/samples/quickstart/atm/war/resources/WEB-INF/web.xml
trunk/samples/quickstart/atm/war/src/
trunk/samples/quickstart/atm/war/src/org/
trunk/samples/quickstart/atm/war/src/org/jboss/
trunk/samples/quickstart/atm/war/src/org/jboss/soa/
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountOperation.java
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem.java
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem_Impl.java
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/accounts.xml
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/package-info.java
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer.java
trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer_Impl.java
Modified:
trunk/integration-tests/build.xml
Log:
RIFTSAW-34: Provide ATM sample and related integration test, first stab
Modified: trunk/integration-tests/build.xml
===================================================================
--- trunk/integration-tests/build.xml 2009-11-04 10:26:25 UTC (rev 226)
+++ trunk/integration-tests/build.xml 2009-11-05 09:17:48 UTC (rev 227)
@@ -99,6 +99,7 @@
<ant antfile="src/test/resources/samples/Quickstart_bpel_simple_correlation/build.xml" />
<ant antfile="src/test/resources/samples/Quickstart_bpel_simple_invoke/build.xml" />
<ant antfile="src/test/resources/samples/Quickstart_bpel_loan_approval/build.xml" />
+ <ant antfile="src/test/resources/samples/Quickstart_bpel_atm/build.xml" />
<ant antfile="src/test/resources/samples/Quickstart_esb_bpel_hello_world/build.xml" />
</target>
Added: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELAtmTestCase.java
===================================================================
--- trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELAtmTestCase.java (rev 0)
+++ trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELAtmTestCase.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,187 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the JBPM BPEL PUBLIC LICENSE AGREEMENT as
+ * published by JBoss Inc.; either version 1.0 of the License, or
+ * (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+package org.jboss.soa.bpel.tests.samples;
+
+import junit.framework.Test;
+
+import org.jboss.soa.bpel.tests.RiftSawTest;
+import org.jboss.soa.bpel.tests.RiftSawTestSetup;
+import org.jboss.soa.bpel.tests.samples.atm.AtmFrontEndService;
+import org.jboss.soa.bpel.tests.samples.atm.FrontEnd;
+import org.jboss.soa.bpel.tests.samples.atm.InsufficientFunds;
+import org.jboss.soa.bpel.tests.samples.atm.InsufficientFunds_Exception;
+import org.jboss.soa.bpel.tests.samples.atm.UnauthorizedAccess_Exception;
+
+/**
+ * Test for common ATM usage scenarios.
+ *
+ * @author Juan Cantu
+ * @author Alejandro Guizar
+ * @version $Revision$ $Date: 2007/11/29 10:31:47 $
+ */
+public class QuickstartBPELAtmTestCase extends RiftSawTest {
+
+ private FrontEnd frontEnd;
+
+ private static final String TEST_NAME = "Quickstart_bpel_atm";
+
+ public QuickstartBPELAtmTestCase() {
+ super(TEST_NAME);
+ }
+
+ public static Test suite() {
+ return (new RiftSawTestSetup(QuickstartBPELAtmTestCase.class, TEST_NAME,
+ "Quickstart_bpel_atm.war,Quickstart_bpel_atm-1.jar"));
+ }
+
+ protected void setUp() throws Exception {
+ AtmFrontEndService frontEndService = new AtmFrontEndService();
+
+ // obtain dynamic proxy for web service port
+ frontEnd = frontEndService.getFrontEndPort();
+ }
+
+ public void testConnect() {
+ // connect to bank
+ int ticketNumber = frontEnd.connect();
+ assertTrue(ticketNumber > 0);
+
+ // check atm is connected
+ String status = frontEnd.status(ticketNumber);
+ assertEquals("connected", status);
+
+ // disconnect from bank
+ frontEnd.disconnect(ticketNumber);
+ }
+
+ public void testLogOnAuthorized() {
+ // connect to bank
+ int ticketNumber = frontEnd.connect();
+
+ // begin customer session
+ final String customerName = "koen";
+ try {
+ frontEnd.logOn(ticketNumber, customerName);
+ }
+ catch (UnauthorizedAccess_Exception e) {
+ fail("log on of authorized customer should succeed");
+ }
+
+ // end customer session
+ frontEnd.logOff(customerName);
+
+ // disconnect from bank
+ frontEnd.disconnect(ticketNumber);
+ }
+
+ public void testLogOnUnauthorized() {
+ // connect to bank
+ int ticketNumber = frontEnd.connect();
+
+ // begin customer session
+ final String customerName = "nobody";
+ try {
+ frontEnd.logOn(ticketNumber, customerName);
+ fail("log on of unauthorized customer should fail");
+ }
+ catch (UnauthorizedAccess_Exception e) {
+ assertEquals(customerName, e.getFaultInfo().getCustomerName());
+ }
+
+ // disconnect from bank
+ frontEnd.disconnect(ticketNumber);
+ }
+
+ public void testDeposit() throws UnauthorizedAccess_Exception {
+ // connect to bank
+ int ticketNumber = frontEnd.connect();
+
+ // begin customer session
+ final String customerName = "tom";
+ frontEnd.logOn(ticketNumber, customerName);
+
+ // get current balance
+ double previousBalance = frontEnd.getBalance(customerName);
+
+ // deposit some funds
+ double newBalance = frontEnd.deposit(customerName, 10);
+ // check the new balance is correct
+ assertEquals(previousBalance + 10, newBalance, 0);
+
+ // end customer session
+ frontEnd.logOff(customerName);
+
+ // disconnect from bank
+ frontEnd.disconnect(ticketNumber);
+ }
+
+ public void testWithdrawUnderBalance() throws UnauthorizedAccess_Exception {
+ // connect to bank
+ int ticketNumber = frontEnd.connect();
+
+ // begin customer session
+ final String customerName = "tom";
+ frontEnd.logOn(ticketNumber, customerName);
+
+ // get current balance
+ double previousBalance = frontEnd.getBalance(customerName);
+
+ // withdraw some funds
+ try {
+ double newBalance = frontEnd.withdraw(customerName, 10);
+ // check new balance is correct
+ assertEquals(previousBalance - 10, newBalance, 0);
+ }
+ catch (InsufficientFunds_Exception e) {
+ fail("withdraw under balance should succeed");
+ }
+
+ // end customer session
+ frontEnd.logOff(customerName);
+
+ // disconnect from bank
+ frontEnd.disconnect(ticketNumber);
+ }
+
+ public void testWithdrawOverBalance() throws UnauthorizedAccess_Exception {
+ // connect to bank
+ int ticketNumber = frontEnd.connect();
+
+ // begin customer session
+ final String customerName = "fady";
+ frontEnd.logOn(ticketNumber, customerName);
+
+ // get current balance
+ double previousBalance = frontEnd.getBalance(customerName);
+
+ // try to withdraw an amount greater than current balance
+ try {
+ frontEnd.withdraw(customerName, previousBalance + 1);
+ fail("withdraw over balance should fail");
+ }
+ catch (InsufficientFunds_Exception e) {
+ InsufficientFunds faultInfo = e.getFaultInfo();
+ assertEquals(customerName, faultInfo.getCustomerName());
+ // check account balance has not changed
+ assertEquals(previousBalance, faultInfo.getAmount(), 0);
+ }
+
+ // end customer session
+ frontEnd.logOff(customerName);
+
+ // disconnect from bank
+ frontEnd.disconnect(ticketNumber);
+ }
+}
\ No newline at end of file
Property changes on: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELAtmTestCase.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/AtmFrontEndService.java
===================================================================
--- trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/AtmFrontEndService.java (rev 0)
+++ trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/AtmFrontEndService.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,44 @@
+package org.jboss.soa.bpel.tests.samples.atm;
+
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+
+@WebServiceClient(name = AtmFrontEndService.NAME, targetNamespace = AtmFrontEndService.TARGET_NAMESPACE, wsdlLocation = AtmFrontEndService.WSDL_LOCATION)
+public class AtmFrontEndService extends Service {
+
+ public static final String NAME = "AtmFrontEndService";
+ public static final String TARGET_NAMESPACE = "http://jbpm.org/examples/atm";
+ public static final String WSDL_LOCATION =
+ "http://127.0.0.1:8080/Quickstart_bpel_atmFrontEnd?wsdl";
+ public static final String FRONT_END_PORT = "FrontEndPort";
+
+ public AtmFrontEndService(URL wsdlLocation, QName serviceName) {
+ super(wsdlLocation, serviceName);
+ }
+
+ public AtmFrontEndService() {
+ super(null, new QName(TARGET_NAMESPACE, NAME));
+ }
+
+ @WebEndpoint(name = FRONT_END_PORT)
+ public FrontEnd getFrontEndPort() {
+ return super
+ .getPort(new QName(TARGET_NAMESPACE, FRONT_END_PORT), FrontEnd.class);
+ }
+
+ /**
+ * @param features A list of {@link javax.xml.ws.WebServiceFeature} to
+ * configure on the proxy. Supported features not in the <code>features</code>
+ * parameter will have their default values.
+ */
+ @WebEndpoint(name = FRONT_END_PORT)
+ public FrontEnd getFrontEndPort(WebServiceFeature... features) {
+ return super
+ .getPort(new QName(TARGET_NAMESPACE, FRONT_END_PORT), FrontEnd.class, features);
+ }
+
+}
Property changes on: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/AtmFrontEndService.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/FrontEnd.java
===================================================================
--- trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/FrontEnd.java (rev 0)
+++ trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/FrontEnd.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,84 @@
+package org.jboss.soa.bpel.tests.samples.atm;
+
+import javax.jws.Oneway;
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * bank functions available to ATMs
+ */
+@WebService(name = "FrontEnd", targetNamespace = "http://jbpm.org/examples/atm")
+@SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface FrontEnd {
+
+ /**
+ * initiate bank connection
+ */
+ @WebMethod(action = "http://jbpm.org/examples/atm/connect")
+ @WebResult(name = "ticketNo", partName = "ticketNo")
+ public int connect();
+
+ /**
+ * terminate bank connection
+ */
+ @WebMethod(action = "http://jbpm.org/examples/atm/disconnect")
+ @Oneway
+ public void disconnect(
+ @WebParam(name = "ticketNo", partName = "ticketNo") int ticketNo);
+
+ /**
+ * retrieve bank connection status
+ */
+ @WebMethod(action = "http://jbpm.org/examples/atm/status")
+ @WebResult(name = "status", partName = "status")
+ public String status(
+ @WebParam(name = "ticketNo", partName = "ticketNo") int ticketNo);
+
+ /**
+ * initiate customer access
+ */
+ @WebMethod(action = "http://jbpm.org/examples/atm/logOn")
+ public void logOn(
+ @WebParam(name = "ticketNo", partName = "ticketNo") int ticketNo,
+ @WebParam(name = "customerName", partName = "customerName") String customerName)
+ throws UnauthorizedAccess_Exception;
+
+ /**
+ * terminate customer access
+ */
+ @WebMethod(action = "http://jbpm.org/examples/atm/logOff")
+ @Oneway
+ public void logOff(
+ @WebParam(name = "customerName", partName = "customerName") String customerName);
+
+ /**
+ * retrieve account balance
+ */
+ @WebMethod(action = "http://jbpm.org/examples/atm/getBalance")
+ @WebResult(name = "balance", partName = "balance")
+ public double getBalance(
+ @WebParam(name = "customerName", partName = "customerName") String customerName);
+
+ /**
+ * increase account balance
+ */
+ @WebMethod(action = "http://jbpm.org/examples/atm/deposit")
+ @WebResult(name = "balance", partName = "balance")
+ public double deposit(
+ @WebParam(name = "customerName", partName = "customerName") String customerName,
+ @WebParam(name = "amount", partName = "amount") double amount);
+
+ /**
+ * decrease account balance
+ */
+ @WebMethod(action = "http://jbpm.org/examples/atm/withdraw")
+ @WebResult(name = "balance", partName = "balance")
+ public double withdraw(
+ @WebParam(name = "customerName", partName = "customerName") String customerName,
+ @WebParam(name = "amount", partName = "amount") double amount)
+ throws InsufficientFunds_Exception;
+
+}
Property changes on: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/FrontEnd.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/InsufficientFunds.java
===================================================================
--- trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/InsufficientFunds.java (rev 0)
+++ trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/InsufficientFunds.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,81 @@
+
+package org.jboss.soa.bpel.tests.samples.atm;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for InsufficientFunds complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="InsufficientFunds">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="customerName" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="amount" type="{http://www.w3.org/2001/XMLSchema}double"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InsufficientFunds", propOrder = {
+ "customerName",
+ "amount"
+})
+public class InsufficientFunds {
+
+ @XmlElement(required = true)
+ protected String customerName;
+ protected double amount;
+
+ /**
+ * Gets the value of the customerName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCustomerName() {
+ return customerName;
+ }
+
+ /**
+ * Sets the value of the customerName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCustomerName(String value) {
+ this.customerName = value;
+ }
+
+ /**
+ * Gets the value of the amount property.
+ *
+ */
+ public double getAmount() {
+ return amount;
+ }
+
+ /**
+ * Sets the value of the amount property.
+ *
+ */
+ public void setAmount(double value) {
+ this.amount = value;
+ }
+
+}
Property changes on: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/InsufficientFunds.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/InsufficientFunds_Exception.java
===================================================================
--- trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/InsufficientFunds_Exception.java (rev 0)
+++ trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/InsufficientFunds_Exception.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,54 @@
+
+package org.jboss.soa.bpel.tests.samples.atm;
+
+import javax.xml.ws.WebFault;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.6
+ * Generated source version: 2.1
+ *
+ */
+@WebFault(name = "insufficientFunds", targetNamespace = "http://jbpm.org/examples/atm")
+public class InsufficientFunds_Exception
+ extends Exception
+{
+
+ /**
+ * Java type that goes as soapenv:Fault detail element.
+ *
+ */
+ private InsufficientFunds faultInfo;
+
+ /**
+ *
+ * @param message
+ * @param faultInfo
+ */
+ public InsufficientFunds_Exception(String message, InsufficientFunds faultInfo) {
+ super(message);
+ this.faultInfo = faultInfo;
+ }
+
+ /**
+ *
+ * @param message
+ * @param faultInfo
+ * @param cause
+ */
+ public InsufficientFunds_Exception(String message, InsufficientFunds faultInfo, Throwable cause) {
+ super(message, cause);
+ this.faultInfo = faultInfo;
+ }
+
+ /**
+ *
+ * @return
+ * returns fault bean: org.jboss.soa.bpel.samples.quickstart.atm.InsufficientFunds
+ */
+ public InsufficientFunds getFaultInfo() {
+ return faultInfo;
+ }
+
+}
Property changes on: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/InsufficientFunds_Exception.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/UnauthorizedAccess.java
===================================================================
--- trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/UnauthorizedAccess.java (rev 0)
+++ trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/UnauthorizedAccess.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,62 @@
+
+package org.jboss.soa.bpel.tests.samples.atm;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for UnauthorizedAccess complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="UnauthorizedAccess">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="customerName" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "UnauthorizedAccess", propOrder = {
+ "customerName"
+})
+public class UnauthorizedAccess {
+
+ @XmlElement(required = true)
+ protected String customerName;
+
+ /**
+ * Gets the value of the customerName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCustomerName() {
+ return customerName;
+ }
+
+ /**
+ * Sets the value of the customerName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCustomerName(String value) {
+ this.customerName = value;
+ }
+
+}
Property changes on: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/UnauthorizedAccess.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/UnauthorizedAccess_Exception.java
===================================================================
--- trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/UnauthorizedAccess_Exception.java (rev 0)
+++ trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/UnauthorizedAccess_Exception.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,54 @@
+
+package org.jboss.soa.bpel.tests.samples.atm;
+
+import javax.xml.ws.WebFault;
+
+
+/**
+ * This class was generated by the JAX-WS RI.
+ * JAX-WS RI 2.1.6
+ * Generated source version: 2.1
+ *
+ */
+@WebFault(name = "unauthorizedAccess", targetNamespace = "http://jbpm.org/examples/atm")
+public class UnauthorizedAccess_Exception
+ extends Exception
+{
+
+ /**
+ * Java type that goes as soapenv:Fault detail element.
+ *
+ */
+ private UnauthorizedAccess faultInfo;
+
+ /**
+ *
+ * @param message
+ * @param faultInfo
+ */
+ public UnauthorizedAccess_Exception(String message, UnauthorizedAccess faultInfo) {
+ super(message);
+ this.faultInfo = faultInfo;
+ }
+
+ /**
+ *
+ * @param message
+ * @param faultInfo
+ * @param cause
+ */
+ public UnauthorizedAccess_Exception(String message, UnauthorizedAccess faultInfo, Throwable cause) {
+ super(message, cause);
+ this.faultInfo = faultInfo;
+ }
+
+ /**
+ *
+ * @return
+ * returns fault bean: org.jboss.soa.bpel.samples.quickstart.atm.UnauthorizedAccess
+ */
+ public UnauthorizedAccess getFaultInfo() {
+ return faultInfo;
+ }
+
+}
Property changes on: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/UnauthorizedAccess_Exception.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/package-info.java
===================================================================
--- trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/package-info.java (rev 0)
+++ trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/package-info.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,2 @@
+(a)javax.xml.bind.annotation.XmlSchema(namespace = "http://jbpm.org/examples/atm")
+package org.jboss.soa.bpel.tests.samples.atm;
Property changes on: trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/atm/package-info.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/account-service.wsdl
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/account-service.wsdl (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/account-service.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/account"
+ xmlns:tns="http://jbpm.org/examples/account" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <import namespace="http://jbpm.org/examples/account" location="interface/account.wsdl" />
+
+ <binding name="AccountSystemBinding" type="tns:AccountSystem">
+
+ <soap:binding style="rpc"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+
+ <operation name="checkAccess">
+ <soap:operation soapAction="http://jbpm.org/examples/account#verifyAccess" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </output>
+ </operation>
+
+ <operation name="queryBalance">
+ <soap:operation soapAction="http://jbpm.org/examples/account#queryBalance" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </output>
+ </operation>
+
+ <operation name="updateBalance">
+ <soap:operation soapAction="http://jbpm.org/examples/account#updateBalance" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </output>
+ </operation>
+
+ </binding>
+
+ <service name="AccountService">
+
+ <port name="AccountSystemPort" binding="tns:AccountSystemBinding">
+ <soap:address location="http://127.0.0.1:8080/Quickstart_bpel_atm/accountSystem" />
+ </port>
+
+ </service>
+
+</definitions>
\ No newline at end of file
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/account-service.wsdl
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/atm-service.wsdl
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/atm-service.wsdl (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/atm-service.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/atm"
+ xmlns:tns="http://jbpm.org/examples/atm" xmlns:acc="http://jbpm.org/examples/account"
+ xmlns:tic="http://jbpm.org/examples/ticket" xmlns:plt="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+ xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <import namespace="http://jbpm.org/examples/atm" location="interface/atm.wsdl" />
+ <import namespace="http://jbpm.org/examples/account" location="interface/account.wsdl" />
+ <import namespace="http://jbpm.org/examples/ticket" location="interface/ticket.wsdl" />
+
+ <vprop:property name="customerId" type="xsd:string">
+ <vprop:documentation>customer name property</vprop:documentation>
+ </vprop:property>
+
+ <vprop:propertyAlias propertyName="tns:customerId"
+ messageType="tns:logOnRequest" part="customerName" />
+
+ <vprop:propertyAlias propertyName="tns:customerId"
+ messageType="tns:balanceChange" part="customerName" />
+ <vprop:propertyAlias propertyName="tns:customerId"
+ messageType="acc:customerMessage" part="customerName" />
+ <vprop:propertyAlias propertyName="tns:customerId"
+ messageType="acc:accountOperation" part="body">
+ <vprop:query>/body/customerName</vprop:query>
+ </vprop:propertyAlias>
+
+ <vprop:property name="ticketId" type="xsd:int">
+ <vprop:documentation>ticket number property</vprop:documentation>
+ </vprop:property>
+
+ <vprop:propertyAlias propertyName="tns:ticketId"
+ messageType="tic:ticketMessage" part="ticketNo" />
+ <vprop:propertyAlias propertyName="tns:ticketId"
+ messageType="tns:logOnRequest" part="ticketNo" />
+
+ <plt:partnerLinkType name="Atm-Front">
+ <plt:documentation>
+ relationship between the ATM and the process
+ </plt:documentation>
+ <plt:role name="FrontEnd" portType="tns:FrontEnd" />
+ </plt:partnerLinkType>
+ <plt:partnerLinkType name="Front-Ticket">
+ <vprop:documentation>
+ relationship between the process and the ticket issuer
+ </vprop:documentation>
+ <plt:role name="TicketIssuer" portType="tic:TicketIssuer" />
+ </plt:partnerLinkType>
+ <plt:partnerLinkType name="Front-Account">
+ <plt:documentation>
+ relationship between the process and the account system
+ </plt:documentation>
+ <plt:role name="AccountSystem" portType="acc:AccountSystem" />
+ </plt:partnerLinkType>
+
+ <binding name="FrontEndBinding" type="tns:FrontEnd">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="connect">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/connect" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ </operation>
+ <operation name="disconnect">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/disconnect" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ </operation>
+ <operation name="status">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/status" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ </operation>
+ <operation name="logOn">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/logOn" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ <fault name="unauthorizedAccess">
+ <soap:fault use="literal" name="unauthorizedAccess" />
+ </fault>
+ </operation>
+ <operation name="logOff">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/logOff" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ </operation>
+ <operation name="getBalance">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/getBalance" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ </operation>
+ <operation name="deposit">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/deposit" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ </operation>
+ <operation name="withdraw">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/withdraw" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ <fault name="insufficientFunds">
+ <soap:fault use="literal" name="insufficientFunds" />
+ </fault>
+ </operation>
+ </binding>
+
+ <service name="AtmFrontEndService">
+ <port name="FrontEndPort" binding="tns:FrontEndBinding">
+ <soap:address location="http://127.0.0.1:8080/Quickstart_bpel_atmFrontEnd" />
+ </port>
+ </service>
+
+</definitions>
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/atm-service.wsdl
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/atm.bpel
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/atm.bpel (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/atm.bpel 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,508 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process name="AtmFrontEnd" targetNamespace="http://jbpm.org/examples/atm"
+ xmlns:acc="http://jbpm.org/examples/account" xmlns:atm="http://jbpm.org/examples/atm"
+ xmlns:tic="http://jbpm.org/examples/ticket" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+
+ <bpel:import namespace="http://jbpm.org/examples/account" location="account-service.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+ <bpel:import namespace="http://jbpm.org/examples/ticket" location="ticket-service.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+ <bpel:import namespace="http://jbpm.org/examples/atm" location="atm-service.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+
+ <partnerLinks>
+ <partnerLink myRole="FrontEnd" name="atm" partnerLinkType="atm:Atm-Front">
+ <documentation>relationship with the ATM</documentation>
+ </partnerLink>
+ <partnerLink name="ticket" partnerLinkType="atm:Front-Ticket"
+ partnerRole="TicketIssuer">
+ <documentation>relationship with the ticket issuer</documentation>
+ </partnerLink>
+ <partnerLink name="account" partnerLinkType="atm:Front-Account"
+ partnerRole="AccountSystem">
+ <documentation>relationship with the account system</documentation>
+ </partnerLink>
+ </partnerLinks>
+
+ <variables>
+ <variable name="connected" type="xsd:boolean">
+ <documentation>ATM connection flag</documentation>
+ </variable>
+ <variable name="logged" type="xsd:boolean">
+ <documentation>customer access flag</documentation>
+ </variable>
+ <variable messageType="tic:ticketMessage" name="ticketMsg">
+ <documentation>ticket number wrapper</documentation>
+ </variable>
+ </variables>
+
+ <correlationSets>
+ <correlationSet name="atmInteraction" properties="atm:ticketId">
+ <documentation>conversation with a connected ATM</documentation>
+ </correlationSet>
+ </correlationSets>
+
+ <sequence name="MainSeq">
+ <scope name="TicketCreationUnit">
+ <variables>
+ <variable messageType="tic:ticketRequest" name="ticketReq">
+ <documentation>ATM connection request</documentation>
+ </variable>
+ <variable messageType="atm:connectRequest" name="connectReq">
+ <documentation>ticket creation request</documentation>
+ </variable>
+ </variables>
+
+ <sequence name="TicketCreationSeq">
+ <receive createInstance="yes" name="AcceptConnection" operation="connect"
+ partnerLink="atm" portType="atm:FrontEnd" variable="connectReq">
+ <documentation>receive a connection request</documentation>
+ </receive>
+
+ <invoke inputVariable="ticketReq" name="CreateTicket" operation="createTicket"
+ outputVariable="ticketMsg" partnerLink="ticket" portType="tic:TicketIssuer">
+ <documentation>generate a ticket number</documentation>
+ <correlations>
+ <correlation initiate="yes" pattern="response" set="atmInteraction" />
+ </correlations>
+ </invoke>
+
+ <reply name="SendTicketNumber" operation="connect" partnerLink="atm"
+ portType="atm:FrontEnd" variable="ticketMsg">
+ <documentation>
+ send the ticket number back to the ATM
+ </documentation>
+ <correlations>
+ <correlation set="atmInteraction" />
+ </correlations>
+ </reply>
+ </sequence>
+ </scope>
+
+ <assign name="InitializeStatus">
+ <documentation>initialize the status flags</documentation>
+ <copy>
+ <from>true()</from>
+ <to variable="connected" />
+ </copy>
+ <copy>
+ <from>false()</from>
+ <to variable="logged" />
+ </copy>
+ </assign>
+
+ <scope name="ConnectionUnit">
+ <documentation>handle the ATM connection</documentation>
+
+ <variables>
+ <variable messageType="atm:logOnRequest" name="logOnReq">
+ <documentation>customer log on request</documentation>
+ </variable>
+ <variable messageType="atm:statusResponse" name="statusRsp">
+ <documentation>connection status response</documentation>
+ </variable>
+ </variables>
+
+ <eventHandlers>
+ <onEvent messageType="tic:ticketMessage" operation="status"
+ partnerLink="atm" portType="atm:FrontEnd" variable="ticketMsg">
+ <correlations>
+ <correlation set="atmInteraction" />
+ </correlations>
+
+ <scope name="StatusUnit">
+ <sequence name="StatusSeq">
+ <if name="StatusDecision">
+ <condition>$logged</condition>
+ <assign name="SetStatusLogged">
+ <copy>
+ <from>'logged'</from>
+ <to part="status" variable="statusRsp" />
+ </copy>
+ </assign>
+
+ <elseif>
+ <condition>$connected</condition>
+ <assign name="SetStatusConnected">
+ <copy>
+ <from>'connected'</from>
+ <to part="status" variable="statusRsp" />
+ </copy>
+ </assign>
+ </elseif>
+
+ <else>
+ <assign name="Assign">
+ <copy>
+ <from>'disconnected'</from>
+ <to part="status" variable="statusRsp" />
+ </copy>
+ </assign>
+ </else>
+ </if>
+
+ <reply name="SendStatus" operation="status" partnerLink="atm"
+ portType="atm:FrontEnd" variable="statusRsp" />
+ </sequence>
+ </scope>
+ </onEvent>
+ </eventHandlers>
+
+ <while name="ConnectionLoop">
+ <documentation>accept ATM requests, one at a time</documentation>
+ <condition>$connected</condition>
+
+ <pick name="ConnectionMenu">
+ <documentation>
+ listen for either disconnect or log on request
+ </documentation>
+
+ <onMessage operation="logOn" partnerLink="atm" portType="atm:FrontEnd"
+ variable="logOnReq">
+ <correlations>
+ <correlation set="atmInteraction" />
+ </correlations>
+
+ <scope name="AccountUnit">
+ <documentation>handle account access</documentation>
+
+ <variables>
+ <variable messageType="acc:accessMessage" name="accessMsg">
+ <documentation>access check response</documentation>
+ </variable>
+ <variable messageType="acc:customerMessage" name="customerMsg">
+ <documentation>customer name wrapper</documentation>
+ </variable>
+ <variable messageType="atm:logOnResponse" name="logOnRsp">
+ <documentation>customer access acknowledgment</documentation>
+ </variable>
+ <variable messageType="atm:unauthorizedAccess" name="unauthorizedAccess">
+ <documentation>customer access fault</documentation>
+ </variable>
+ <variable messageType="acc:balanceMessage" name="balanceMsg">
+ <documentation>account balance wrapper</documentation>
+ </variable>
+ <variable messageType="atm:balanceChange" name="balanceChange">
+ <documentation>balance change request</documentation>
+ </variable>
+ <variable messageType="acc:accountOperation" name="accountOperation">
+ <documentation>account system operation request</documentation>
+ </variable>
+ <variable name="newBalance" type="xsd:double">
+ <documentation>
+ resulting balance after withdrawal
+ </documentation>
+ </variable>
+ <variable messageType="atm:insufficientFunds" name="insufficientFunds">
+ <documentation>withdraw fault</documentation>
+ </variable>
+ </variables>
+
+ <correlationSets>
+ <correlationSet name="customerInteraction" properties="atm:customerId">
+ <documentation>
+ conversation with a logged customer
+ </documentation>
+ </correlationSet>
+ </correlationSets>
+
+ <sequence name="AccountSeq">
+ <assign name="PrepareAccessCheck">
+ <documentation>populate access check request</documentation>
+ <copy>
+ <from part="customerName" variable="logOnReq" />
+ <to part="customerName" variable="customerMsg" />
+ </copy>
+ </assign>
+
+ <invoke inputVariable="customerMsg" name="CheckAccess" operation="checkAccess"
+ outputVariable="accessMsg" partnerLink="account" portType="acc:AccountSystem">
+ <documentation>check account access privilege</documentation>
+ <correlations>
+ <correlation initiate="yes" pattern="request" set="customerInteraction" />
+ </correlations>
+ </invoke>
+
+ <if name="AccessDecision">
+ <documentation>
+ decide outcome of customer access request
+ </documentation>
+ <condition>$accessMsg.granted</condition>
+
+ <sequence name="AccessGrantedSeq">
+ <documentation>grant customer access</documentation>
+
+ <assign name="SetLoggedOn">
+ <documentation>turn on logged flag</documentation>
+ <copy>
+ <from>true()</from>
+ <to variable="logged" />
+ </copy>
+ </assign>
+
+ <reply name="GrantAccess" operation="logOn" partnerLink="atm"
+ portType="atm:FrontEnd" variable="logOnRsp">
+ <documentation>
+ send acknowledgment back to ATM
+ </documentation>
+ </reply>
+ </sequence>
+
+ <else>
+ <sequence name="AccessDeniedSeq">
+ <documentation>deny customer access</documentation>
+
+ <assign name="PrepareAccessDenial">
+ <documentation>populate access fault</documentation>
+ <copy>
+ <from part="customerName" variable="logOnReq" />
+ <to part="detail" variable="unauthorizedAccess">
+ <query>customerName</query>
+ </to>
+ </copy>
+ </assign>
+
+ <reply name="DenyAccess" operation="logOn" partnerLink="atm"
+ portType="atm:FrontEnd" variable="unauthorizedAccess" faultName="atm:unauthorizedAccess">
+ <documentation>send fault back to ATM</documentation>
+ </reply>
+ </sequence>
+ </else>
+ </if>
+
+ <while name="AccountLoop">
+ <documentation>
+ accept account requests, one at a time
+ </documentation>
+ <condition>$logged</condition>
+
+ <pick name="AccountMenu">
+ <onMessage operation="getBalance" partnerLink="atm"
+ portType="atm:FrontEnd" variable="customerMsg">
+ <correlations>
+ <correlation set="customerInteraction" />
+ </correlations>
+
+ <sequence name="BalanceSeq">
+ <invoke inputVariable="customerMsg" name="QueryBalance"
+ operation="queryBalance" outputVariable="balanceMsg" partnerLink="account"
+ portType="acc:AccountSystem">
+ <documentation>get current account balance</documentation>
+ </invoke>
+
+ <reply name="TellBalance" operation="getBalance" partnerLink="atm"
+ portType="atm:FrontEnd" variable="balanceMsg">
+ <documentation>return balance to ATM</documentation>
+ </reply>
+ </sequence>
+ </onMessage>
+
+ <onMessage operation="deposit" partnerLink="atm" portType="atm:FrontEnd"
+ variable="balanceChange">
+ <correlations>
+ <correlation set="customerInteraction" />
+ </correlations>
+
+ <sequence name="DepositSeq">
+ <assign name="PrepareDeposit">
+ <documentation>
+ populate balance update request
+ </documentation>
+ <copy>
+ <from part="customerName" variable="balanceChange" />
+ <to part="body" variable="accountOperation">
+ <query>customerName</query>
+ </to>
+ </copy>
+ <copy>
+ <from part="amount" variable="balanceChange" />
+ <to part="body" variable="accountOperation">
+ <query>amount</query>
+ </to>
+ </copy>
+ </assign>
+
+ <invoke inputVariable="accountOperation" name="UpdateBalance"
+ operation="updateBalance" outputVariable="balanceMsg" partnerLink="account"
+ portType="acc:AccountSystem">
+ <documentation>post positive balance update</documentation>
+ <correlations>
+ <correlation pattern="request" set="customerInteraction" />
+ </correlations>
+ </invoke>
+
+ <reply name="TellNewBalance" operation="deposit" partnerLink="atm"
+ portType="atm:FrontEnd" variable="balanceMsg">
+ <documentation>
+ make new balance available to ATM
+ </documentation>
+ </reply>
+ </sequence>
+ </onMessage>
+
+ <onMessage operation="withdraw" partnerLink="atm" portType="atm:FrontEnd"
+ variable="balanceChange">
+ <correlations>
+ <correlation set="customerInteraction" />
+ </correlations>
+
+ <sequence name="WithdrawSeq">
+ <assign name="PrepareBalanceQuery">
+ <documentation>
+ populate balance query request
+ </documentation>
+ <copy>
+ <from part="customerName" variable="balanceChange" />
+ <to part="customerName" variable="customerMsg" />
+ </copy>
+ </assign>
+
+ <invoke inputVariable="customerMsg" name="QueryBalance"
+ operation="queryBalance" outputVariable="balanceMsg" partnerLink="account"
+ portType="acc:AccountSystem">
+ <documentation>get current account balance</documentation>
+ <correlations>
+ <correlation pattern="request" set="customerInteraction" />
+ </correlations>
+ </invoke>
+
+ <assign name="EvaluateNewBalance">
+ <documentation>
+ evaluate amount that would remain in account
+ </documentation>
+ <copy>
+ <from>$balanceMsg.balance - $balanceChange.amount</from>
+ <to variable="newBalance" />
+ </copy>
+ </assign>
+
+ <if name="BalanceDecision">
+ <documentation>
+ decide outcome of withdraw request
+ </documentation>
+ <condition>$newBalance >= 0.0</condition>
+
+ <sequence name="PositiveBalanceSeq">
+ <documentation>accept withdrawal</documentation>
+
+ <assign name="PrepareWithdraw">
+ <documentation>
+ populate balance update request
+ </documentation>
+ <copy>
+ <from part="customerName" variable="balanceChange" />
+ <to part="body" variable="accountOperation">
+ <query>customerName</query>
+ </to>
+ </copy>
+ <copy>
+ <from>-$balanceChange.amount</from>
+ <to part="body" variable="accountOperation">
+ <query>amount</query>
+ </to>
+ </copy>
+ </assign>
+
+ <invoke inputVariable="accountOperation" name="UpdateBalance"
+ operation="updateBalance" outputVariable="balanceMsg"
+ partnerLink="account" portType="acc:AccountSystem">
+ <documentation>
+ post negative balance update
+ </documentation>
+ <correlations>
+ <correlation pattern="request" set="customerInteraction" />
+ </correlations>
+ </invoke>
+
+ <reply name="TellNewBalance" operation="withdraw"
+ partnerLink="atm" portType="atm:FrontEnd" variable="balanceMsg">
+ <documentation>return new balance to ATM</documentation>
+ </reply>
+ </sequence>
+
+ <else>
+ <sequence name="NegativeBalanceSeq">
+ <documentation>reject withdrawal</documentation>
+
+ <assign name="PrepareRejection">
+ <documentation>populate withdraw fault</documentation>
+ <copy>
+ <from part="customerName" variable="balanceChange" />
+ <to part="detail" variable="insufficientFunds">
+ <query>customerName</query>
+ </to>
+ </copy>
+ <copy>
+ <from part="balance" variable="balanceMsg" />
+ <to part="detail" variable="insufficientFunds">
+ <query>amount</query>
+ </to>
+ </copy>
+ </assign>
+
+ <reply name="RejectWithdraw" operation="withdraw"
+ partnerLink="atm" portType="atm:FrontEnd" variable="insufficientFunds"
+ faultName="atm:insufficientFunds">
+ <documentation>return fault to ATM</documentation>
+ </reply>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+ </onMessage>
+
+ <onMessage operation="logOff" partnerLink="atm" portType="atm:FrontEnd"
+ variable="customerMsg">
+ <correlations>
+ <correlation set="customerInteraction" />
+ </correlations>
+
+ <assign name="SetLoggedOff">
+ <documentation>turn off logged flag</documentation>
+ <copy>
+ <from>false()</from>
+ <to variable="logged" />
+ </copy>
+ </assign>
+ </onMessage>
+
+ <onAlarm>
+ <for>'PT2M'</for>
+
+ <assign name="SetLoggedOff">
+ <documentation>
+ turn off logged flag after a period of inactivity
+ </documentation>
+ <copy>
+ <from>false()</from>
+ <to variable="logged" />
+ </copy>
+ </assign>
+ </onAlarm>
+ </pick>
+ </while>
+ </sequence>
+ </scope>
+ </onMessage>
+
+ <onMessage operation="disconnect" partnerLink="atm" portType="atm:FrontEnd"
+ variable="ticketMsg">
+ <correlations>
+ <correlation set="atmInteraction" />
+ </correlations>
+
+ <assign name="SetDisconnected">
+ <documentation>turn off connected flag</documentation>
+ <copy>
+ <from>false()</from>
+ <to variable="connected" />
+ </copy>
+ </assign>
+ </onMessage>
+ </pick>
+ </while>
+ </scope>
+ </sequence>
+</process>
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/bpel-deploy.xml
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/bpel-deploy.xml (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/bpel-deploy.xml 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03">
+ <process name="atm:AtmFrontEnd" xmlns:atm="http://jbpm.org/examples/atm">
+ <active>true</active>
+ <provide partnerLink="atm">
+ <service name="atm:AtmFrontEndService" port="FrontEndPort" />
+ </provide>
+ <invoke partnerLink="ticket">
+ <service name="tic:TicketService" port="TicketIssuerPort"
+ xmlns:tic="http://jbpm.org/examples/ticket" />
+ </invoke>
+ <invoke partnerLink="account">
+ <service name="acc:AccountService" port="AccountSystemPort"
+ xmlns:acc="http://jbpm.org/examples/account" />
+ </invoke>
+ </process>
+</deploy>
\ No newline at end of file
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/bpel-deploy.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/account.wsdl
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/account.wsdl (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/account.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/account"
+ xmlns:tns="http://jbpm.org/examples/account" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+
+ <schema targetNamespace="http://jbpm.org/examples/account"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <complexType name="AccountOperation">
+ <annotation>
+ <documentation>account data transfer type</documentation>
+ </annotation>
+ <sequence>
+ <element name="customerName" type="xsd:string" />
+ <element name="amount" type="xsd:double" />
+ </sequence>
+ </complexType>
+
+ </schema>
+
+ </types>
+
+ <message name="customerMessage">
+ <documentation>customer name wrapper</documentation>
+ <part name="customerName" type="xsd:string" />
+ </message>
+
+ <message name="accessMessage">
+ <documentation>access check response</documentation>
+ <part name="granted" type="xsd:boolean" />
+ </message>
+
+ <message name="balanceMessage">
+ <documentation>account balance wrapper</documentation>
+ <part name="balance" type="xsd:double" />
+ </message>
+
+ <message name="accountOperation">
+ <documentation>account operation request</documentation>
+ <part name="body" type="tns:AccountOperation" />
+ </message>
+
+ <portType name="AccountSystem">
+ <documentation>published account functions</documentation>
+
+ <operation name="checkAccess">
+ <documentation>
+ tell whether a customer has an active account
+ </documentation>
+ <input message="tns:customerMessage" />
+ <output message="tns:accessMessage" />
+ </operation>
+
+ <operation name="queryBalance">
+ <documentation>retrieve the balance of an account</documentation>
+ <input message="tns:customerMessage" />
+ <output message="tns:balanceMessage" />
+ </operation>
+
+ <operation name="updateBalance">
+ <documentation>
+ increase/decrease the balance of an account
+ </documentation>
+ <input message="tns:accountOperation" />
+ <output message="tns:balanceMessage" />
+ </operation>
+
+ </portType>
+
+</definitions>
\ No newline at end of file
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/account.wsdl
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/atm.wsdl
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/atm.wsdl (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/atm.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/atm"
+ xmlns:tns="http://jbpm.org/examples/atm" xmlns:tic="http://jbpm.org/examples/ticket"
+ xmlns:acc="http://jbpm.org/examples/account" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <import namespace="http://jbpm.org/examples/ticket" location="ticket.wsdl" />
+ <import namespace="http://jbpm.org/examples/account" location="account.wsdl" />
+
+ <types>
+
+ <schema targetNamespace="http://jbpm.org/examples/atm" xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <complexType name="UnauthorizedAccess">
+ <sequence>
+ <element name="customerName" type="xsd:string" />
+ </sequence>
+ </complexType>
+
+ <element name="unauthorizedAccess" type="tns:UnauthorizedAccess" />
+
+ <complexType name="InsufficientFunds">
+ <sequence>
+ <element name="customerName" type="xsd:string" />
+ <element name="amount" type="xsd:double" />
+ </sequence>
+ </complexType>
+
+ <element name="insufficientFunds" type="tns:InsufficientFunds" />
+
+ </schema>
+
+ </types>
+
+ <message name="connectRequest" />
+
+ <message name="logOnRequest">
+ <part name="ticketNo" type="xsd:int" />
+ <part name="customerName" type="xsd:string" />
+ </message>
+
+ <message name="logOnResponse" />
+
+ <message name="statusResponse">
+ <part name="status" type="xsd:string" />
+ </message>
+
+ <message name="balanceChange">
+ <part name="customerName" type="xsd:string" />
+ <part name="amount" type="xsd:double" />
+ </message>
+
+ <message name="unauthorizedAccess">
+ <part name="detail" element="tns:unauthorizedAccess" />
+ </message>
+
+ <message name="insufficientFunds">
+ <part name="detail" element="tns:insufficientFunds" />
+ </message>
+
+ <portType name="FrontEnd">
+ <documentation>bank functions available to ATMs</documentation>
+
+ <operation name="connect">
+ <documentation>initiate bank connection</documentation>
+ <input message="tns:connectRequest" />
+ <output message="tic:ticketMessage" />
+ </operation>
+
+ <operation name="disconnect">
+ <documentation>terminate bank connection</documentation>
+ <input message="tic:ticketMessage" />
+ </operation>
+
+ <operation name="status">
+ <documentation>retrieve bank connection status</documentation>
+ <input message="tic:ticketMessage" />
+ <output message="tns:statusResponse" />
+ </operation>
+
+ <operation name="logOn">
+ <documentation>initiate customer access</documentation>
+ <input message="tns:logOnRequest" />
+ <output message="tns:logOnResponse" />
+ <fault name="unauthorizedAccess" message="tns:unauthorizedAccess" />
+ </operation>
+
+ <operation name="logOff">
+ <documentation>terminate customer access</documentation>
+ <input message="acc:customerMessage" />
+ </operation>
+
+ <operation name="getBalance">
+ <documentation>retrieve account balance</documentation>
+ <input message="acc:customerMessage" />
+ <output message="acc:balanceMessage" />
+ </operation>
+
+ <operation name="deposit">
+ <documentation>increase account balance</documentation>
+ <input message="tns:balanceChange" />
+ <output message="acc:balanceMessage" />
+ </operation>
+
+ <operation name="withdraw">
+ <documentation>decrease account balance</documentation>
+ <input message="tns:balanceChange" />
+ <output message="acc:balanceMessage" />
+ <fault name="insufficientFunds" message="tns:insufficientFunds" />
+ </operation>
+
+ </portType>
+
+</definitions>
\ No newline at end of file
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/atm.wsdl
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/ticket.wsdl
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/ticket.wsdl (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/ticket.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/ticket"
+ xmlns:tns="http://jbpm.org/examples/ticket" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <message name="ticketRequest">
+ <documentation>ticket creation request</documentation>
+ </message>
+
+ <message name="ticketMessage">
+ <documentation>ticket number wrapper</documentation>
+ <part name="ticketNo" type="xsd:int" />
+ </message>
+
+ <portType name="TicketIssuer">
+ <documentation>interface to ticket issuer service</documentation>
+
+ <operation name="createTicket">
+ <documentation>
+ generate a ticket number, distinct from previous calls
+ </documentation>
+ <input message="tns:ticketRequest" />
+ <output message="tns:ticketMessage" />
+ </operation>
+
+ </portType>
+
+</definitions>
\ No newline at end of file
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/interface/ticket.wsdl
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/ticket-service.wsdl
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/ticket-service.wsdl (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/ticket-service.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/ticket"
+ xmlns:tns="http://jbpm.org/examples/ticket" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <import namespace="http://jbpm.org/examples/ticket" location="interface/ticket.wsdl" />
+
+ <binding name="TicketIssuerBinding" type="tns:TicketIssuer">
+
+ <soap:binding style="rpc"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+
+ <operation name="createTicket">
+ <soap:operation soapAction="http://jbpm.org/examples/ticket#createTicket" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/ticket" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/ticket" />
+ </output>
+ </operation>
+
+ </binding>
+
+ <service name="TicketService">
+ <port name="TicketIssuerPort" binding="tns:TicketIssuerBinding">
+ <soap:address location="http://127.0.0.1:8080/Quickstart_bpel_atm/ticketIssuer" />
+ </port>
+ </service>
+
+</definitions>
\ No newline at end of file
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/bpel/ticket-service.wsdl
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/build.xml
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/build.xml (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/build.xml 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,49 @@
+<project name="Quickstart_bpel_atm" default="deploy" basedir=".">
+
+ <description>
+ ${ant.project.name}
+ </description>
+
+ <property name="version" value="1" />
+
+ <property name="deploy.dir" value="${basedir}/target/tests" />
+ <property name="test.dir" value="${basedir}/src/test/resources/samples/${ant.project.name}" />
+
+ <property name="sample.jar.name" value="${ant.project.name}-${version}.jar" />
+
+ <property name="war.build.dir" location="${deploy.dir}/${ant.project.name}/build/war/classes" />
+
+ <path id="compile-classpath">
+ <!-- Required for JMS Client Code. -->
+ <fileset dir="${org.jboss.esb.server.home}/client" includes="*.jar" />
+ </path>
+
+ <target name="deploywar" description="make war">
+ <!-- Compile... -->
+ <mkdir dir="${war.build.dir}" />
+
+ <javac srcdir="${test.dir}/war/src" destdir="${war.build.dir}" target="1.5" debug="true">
+ <classpath refid="compile-classpath" />
+ </javac>
+
+ <!-- War... -->
+ <war warfile="${deploy.dir}/${ant.project.name}/${ant.project.name}.war" webxml="${test.dir}/war/resources/WEB-INF/web.xml">
+ <classes dir="${war.build.dir}" />
+ </war>
+ </target>
+
+ <target name="undeploywar">
+ <delete file="${deploy.dir}/${ant.project.name}/${ant.project.name}.war" />
+ </target>
+
+ <target name="deploy" depends="deploywar">
+ <echo>Deploy ${ant.project.name}</echo>
+ <jar basedir="${test.dir}/bpel" destfile="${deploy.dir}/${ant.project.name}/${sample.jar.name}" />
+ </target>
+
+ <target name="undeploy" depends="undeploywar">
+ <echo>Undeploy ${ant.project.name}</echo>
+ <delete file="${deploy.dir}/${ant.project.name}/${sample.jar.name}" />
+ </target>
+
+</project>
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/build.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/resources/WEB-INF/web.xml
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/resources/WEB-INF/web.xml (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/resources/WEB-INF/web.xml 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.4" 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">
+
+ <servlet>
+ <servlet-name>accountSystemServlet</servlet-name>
+ <servlet-class>
+ org.jboss.soa.bpel.samples.quickstart.account.AccountSystem_Impl
+ </servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>accountSystemServlet</servlet-name>
+ <url-pattern>/accountSystem</url-pattern>
+ </servlet-mapping>
+
+ <servlet>
+ <servlet-name>ticketIssuerServlet</servlet-name>
+ <servlet-class>
+ org.jboss.soa.bpel.samples.quickstart.ticket.TicketIssuer_Impl
+ </servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>ticketIssuerServlet</servlet-name>
+ <url-pattern>/ticketIssuer</url-pattern>
+ </servlet-mapping>
+
+</web-app>
\ No newline at end of file
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/resources/WEB-INF/web.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountOperation.java
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountOperation.java (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountOperation.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,77 @@
+package org.jboss.soa.bpel.samples.quickstart.account;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * account data transfer type
+ *
+ * <p>
+ * Java class for AccountOperation complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="AccountOperation">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="customerName" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="amount" type="{http://www.w3.org/2001/XMLSchema}double"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AccountOperation", propOrder = { "customerName", "amount" })
+public class AccountOperation {
+
+ @XmlElement(required = true)
+ protected String customerName;
+ protected double amount;
+
+ /**
+ * Gets the value of the customerName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCustomerName() {
+ return customerName;
+ }
+
+ /**
+ * Sets the value of the customerName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCustomerName(String value) {
+ this.customerName = value;
+ }
+
+ /**
+ * Gets the value of the amount property.
+ *
+ */
+ public double getAmount() {
+ return amount;
+ }
+
+ /**
+ * Sets the value of the amount property.
+ *
+ */
+ public void setAmount(double value) {
+ this.amount = value;
+ }
+
+}
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountOperation.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem.java
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem.java (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,40 @@
+package org.jboss.soa.bpel.samples.quickstart.account;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * published account functions
+ */
+@WebService(name = "AccountSystem", targetNamespace = "http://jbpm.org/examples/account")
+@SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface AccountSystem {
+
+ /**
+ * tell whether a customer has an active account
+ */
+ @WebMethod(action = "http://jbpm.org/examples/account#verifyAccess")
+ @WebResult(name = "granted", partName = "granted")
+ public boolean checkAccess(
+ @WebParam(name = "customerName", partName = "customerName") String customerName);
+
+ /**
+ * retrieve the balance of an account
+ */
+ @WebMethod(action = "http://jbpm.org/examples/account#queryBalance")
+ @WebResult(name = "balance", partName = "balance")
+ public double queryBalance(
+ @WebParam(name = "customerName", partName = "customerName") String customerName);
+
+ /**
+ * increase/decrease the balance of an account
+ */
+ @WebMethod(action = "http://jbpm.org/examples/account#updateBalance")
+ @WebResult(name = "balance", partName = "balance")
+ public double updateBalance(
+ @WebParam(name = "body", partName = "body") AccountOperation body);
+
+}
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem_Impl.java
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem_Impl.java (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem_Impl.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the JBPM BPEL PUBLIC LICENSE AGREEMENT as
+ * published by JBoss Inc.; either version 1.0 of the License, or
+ * (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+package org.jboss.soa.bpel.samples.quickstart.account;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.jws.WebService;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+/**
+ * Account system endpoint implementation bean.
+ *
+ * @author Alejandro Guizar
+ * @version $Revision$ $Date: 2006/09/27 03:53:01 $
+ */
+@WebService(endpointInterface = "org.jboss.soa.bpel.samples.quickstart.account.AccountSystem", targetNamespace = "http://jbpm.org/examples/account", serviceName = "AccountService", portName = "AccountSystemPort")
+public class AccountSystem_Impl implements AccountSystem {
+
+ private static Map<String, Double> accounts = loadAccounts("accounts.xml");
+
+ public boolean checkAccess(String customerName) {
+ return accounts.containsKey(customerName);
+ }
+
+ public double queryBalance(String customerName) {
+ return getBalance(customerName);
+ }
+
+ public double updateBalance(AccountOperation body) {
+ String customerName = body.getCustomerName();
+ double newBalance = getBalance(customerName) + body.getAmount();
+ accounts.put(customerName, new Double(newBalance));
+ return newBalance;
+ }
+
+ private double getBalance(String customerName) {
+ Double balance = (Double) accounts.get(customerName);
+ return balance.doubleValue();
+ }
+
+ private static Map<String, Double> loadAccounts(String resourceName) {
+ try {
+ // parse the accounts document
+ DocumentBuilder domBuilder =
+ DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ URL resource = AccountSystem_Impl.class.getResource(resourceName);
+ if (resource == null) return Collections.emptyMap();
+ Document accountsDocument = domBuilder.parse(resource.toString());
+ // give everyone an initial balance of $50
+ Double initialBalance = new Double(50);
+ // iterate over the accounts
+ Map<String, Double> accounts = new HashMap<String, Double>();
+ Element accountsElem = accountsDocument.getDocumentElement();
+ NodeList accountElems = accountsElem.getElementsByTagName("account");
+ for (int i = 0, n = accountElems.getLength(); i < n; i++) {
+ Element accountElem = (Element) accountElems.item(i);
+ // create account, assign initial balance
+ String customerName = accountElem.getAttribute("holder");
+ accounts.put(customerName, initialBalance);
+ }
+ return accounts;
+ }
+ catch (ParserConfigurationException e) {
+ // default configuration for document builder should work
+ throw new AssertionError(e);
+ }
+ catch (SAXException e) {
+ return Collections.emptyMap();
+ }
+ catch (IOException e) {
+ return Collections.emptyMap();
+ }
+ }
+}
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem_Impl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/accounts.xml
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/accounts.xml (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/accounts.xml 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,6 @@
+<accounts>
+ <account holder="alex" />
+ <account holder="fady" />
+ <account holder="koen" />
+ <account holder="tom" />
+</accounts>
\ No newline at end of file
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/accounts.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/package-info.java
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/package-info.java (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/package-info.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,3 @@
+(a)javax.xml.bind.annotation.XmlSchema(namespace = "http://jbpm.org/examples/account")
+package org.jboss.soa.bpel.samples.quickstart.account;
+
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/package-info.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer.java
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer.java (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,22 @@
+package org.jboss.soa.bpel.samples.quickstart.ticket;
+
+import javax.jws.WebMethod;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * interface to ticket issuer service
+ */
+@WebService(name = "TicketIssuer", targetNamespace = "http://jbpm.org/examples/ticket")
+@SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface TicketIssuer {
+
+ /**
+ * generate a ticket number, distinct from previous calls
+ */
+ @WebMethod(action = "http://jbpm.org/examples/ticket#createTicket")
+ @WebResult(name = "ticketNo", partName = "ticketNo")
+ public int createTicket();
+
+}
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer_Impl.java
===================================================================
--- trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer_Impl.java (rev 0)
+++ trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer_Impl.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the JBPM BPEL PUBLIC LICENSE AGREEMENT as
+ * published by JBoss Inc.; either version 1.0 of the License, or
+ * (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+package org.jboss.soa.bpel.samples.quickstart.ticket;
+
+import javax.jws.WebService;
+
+/**
+ * @author Alejandro Guizar
+ * @version $Revision$ $Date: 2006/09/27 03:53:07 $
+ */
+@WebService(endpointInterface = "org.jboss.soa.bpel.samples.quickstart.ticket.TicketIssuer", targetNamespace = "http://jbpm.org/examples/ticket", serviceName = "TicketService", portName = "TicketIssuerPort")
+public class TicketIssuer_Impl implements TicketIssuer {
+
+ private static int currentSession = 1;
+
+ public int createTicket() {
+ synchronized (TicketIssuer_Impl.class) {
+ return currentSession++;
+ }
+ }
+}
Property changes on: trunk/integration-tests/src/test/resources/samples/Quickstart_bpel_atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer_Impl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Property changes on: trunk/samples/quickstart/atm
___________________________________________________________________
Name: svn:ignore
+ .classpath
target
.project
Added: trunk/samples/quickstart/atm/bpel/account-service.wsdl
===================================================================
--- trunk/samples/quickstart/atm/bpel/account-service.wsdl (rev 0)
+++ trunk/samples/quickstart/atm/bpel/account-service.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/account"
+ xmlns:tns="http://jbpm.org/examples/account" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <import namespace="http://jbpm.org/examples/account" location="interface/account.wsdl" />
+
+ <binding name="AccountSystemBinding" type="tns:AccountSystem">
+
+ <soap:binding style="rpc"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+
+ <operation name="checkAccess">
+ <soap:operation soapAction="http://jbpm.org/examples/account#verifyAccess" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </output>
+ </operation>
+
+ <operation name="queryBalance">
+ <soap:operation soapAction="http://jbpm.org/examples/account#queryBalance" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </output>
+ </operation>
+
+ <operation name="updateBalance">
+ <soap:operation soapAction="http://jbpm.org/examples/account#updateBalance" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/account" />
+ </output>
+ </operation>
+
+ </binding>
+
+ <service name="AccountService">
+
+ <port name="AccountSystemPort" binding="tns:AccountSystemBinding">
+ <soap:address location="http://127.0.0.1:8080/Quickstart_bpel_atm/accountSystem" />
+ </port>
+
+ </service>
+
+</definitions>
\ No newline at end of file
Property changes on: trunk/samples/quickstart/atm/bpel/account-service.wsdl
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/bpel/atm-service.wsdl
===================================================================
--- trunk/samples/quickstart/atm/bpel/atm-service.wsdl (rev 0)
+++ trunk/samples/quickstart/atm/bpel/atm-service.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/atm"
+ xmlns:tns="http://jbpm.org/examples/atm" xmlns:acc="http://jbpm.org/examples/account"
+ xmlns:tic="http://jbpm.org/examples/ticket" xmlns:plt="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+ xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <import namespace="http://jbpm.org/examples/atm" location="interface/atm.wsdl" />
+ <import namespace="http://jbpm.org/examples/account" location="interface/account.wsdl" />
+ <import namespace="http://jbpm.org/examples/ticket" location="interface/ticket.wsdl" />
+
+ <vprop:property name="customerId" type="xsd:string">
+ <vprop:documentation>customer name property</vprop:documentation>
+ </vprop:property>
+
+ <vprop:propertyAlias propertyName="tns:customerId"
+ messageType="tns:logOnRequest" part="customerName" />
+
+ <vprop:propertyAlias propertyName="tns:customerId"
+ messageType="tns:balanceChange" part="customerName" />
+ <vprop:propertyAlias propertyName="tns:customerId"
+ messageType="acc:customerMessage" part="customerName" />
+ <vprop:propertyAlias propertyName="tns:customerId"
+ messageType="acc:accountOperation" part="body">
+ <vprop:query>/body/customerName</vprop:query>
+ </vprop:propertyAlias>
+
+ <vprop:property name="ticketId" type="xsd:int">
+ <vprop:documentation>ticket number property</vprop:documentation>
+ </vprop:property>
+
+ <vprop:propertyAlias propertyName="tns:ticketId"
+ messageType="tic:ticketMessage" part="ticketNo" />
+ <vprop:propertyAlias propertyName="tns:ticketId"
+ messageType="tns:logOnRequest" part="ticketNo" />
+
+ <plt:partnerLinkType name="Atm-Front">
+ <plt:documentation>
+ relationship between the ATM and the process
+ </plt:documentation>
+ <plt:role name="FrontEnd" portType="tns:FrontEnd" />
+ </plt:partnerLinkType>
+ <plt:partnerLinkType name="Front-Ticket">
+ <vprop:documentation>
+ relationship between the process and the ticket issuer
+ </vprop:documentation>
+ <plt:role name="TicketIssuer" portType="tic:TicketIssuer" />
+ </plt:partnerLinkType>
+ <plt:partnerLinkType name="Front-Account">
+ <plt:documentation>
+ relationship between the process and the account system
+ </plt:documentation>
+ <plt:role name="AccountSystem" portType="acc:AccountSystem" />
+ </plt:partnerLinkType>
+
+ <binding name="FrontEndBinding" type="tns:FrontEnd">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="connect">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/connect" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ </operation>
+ <operation name="disconnect">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/disconnect" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ </operation>
+ <operation name="status">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/status" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ </operation>
+ <operation name="logOn">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/logOn" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ <fault name="unauthorizedAccess">
+ <soap:fault use="literal" name="unauthorizedAccess" />
+ </fault>
+ </operation>
+ <operation name="logOff">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/logOff" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ </operation>
+ <operation name="getBalance">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/getBalance" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ </operation>
+ <operation name="deposit">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/deposit" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ </operation>
+ <operation name="withdraw">
+ <soap:operation soapAction="http://jbpm.org/examples/atm/withdraw" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/atm" />
+ </output>
+ <fault name="insufficientFunds">
+ <soap:fault use="literal" name="insufficientFunds" />
+ </fault>
+ </operation>
+ </binding>
+
+ <service name="AtmFrontEndService">
+ <port name="FrontEndPort" binding="tns:FrontEndBinding">
+ <soap:address location="http://127.0.0.1:8080/Quickstart_bpel_atmFrontEnd" />
+ </port>
+ </service>
+
+</definitions>
Property changes on: trunk/samples/quickstart/atm/bpel/atm-service.wsdl
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/bpel/atm.bpel
===================================================================
--- trunk/samples/quickstart/atm/bpel/atm.bpel (rev 0)
+++ trunk/samples/quickstart/atm/bpel/atm.bpel 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,508 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process name="AtmFrontEnd" targetNamespace="http://jbpm.org/examples/atm"
+ xmlns:acc="http://jbpm.org/examples/account" xmlns:atm="http://jbpm.org/examples/atm"
+ xmlns:tic="http://jbpm.org/examples/ticket" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+
+ <bpel:import namespace="http://jbpm.org/examples/account" location="account-service.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+ <bpel:import namespace="http://jbpm.org/examples/ticket" location="ticket-service.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+ <bpel:import namespace="http://jbpm.org/examples/atm" location="atm-service.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+
+ <partnerLinks>
+ <partnerLink myRole="FrontEnd" name="atm" partnerLinkType="atm:Atm-Front">
+ <documentation>relationship with the ATM</documentation>
+ </partnerLink>
+ <partnerLink name="ticket" partnerLinkType="atm:Front-Ticket"
+ partnerRole="TicketIssuer">
+ <documentation>relationship with the ticket issuer</documentation>
+ </partnerLink>
+ <partnerLink name="account" partnerLinkType="atm:Front-Account"
+ partnerRole="AccountSystem">
+ <documentation>relationship with the account system</documentation>
+ </partnerLink>
+ </partnerLinks>
+
+ <variables>
+ <variable name="connected" type="xsd:boolean">
+ <documentation>ATM connection flag</documentation>
+ </variable>
+ <variable name="logged" type="xsd:boolean">
+ <documentation>customer access flag</documentation>
+ </variable>
+ <variable messageType="tic:ticketMessage" name="ticketMsg">
+ <documentation>ticket number wrapper</documentation>
+ </variable>
+ </variables>
+
+ <correlationSets>
+ <correlationSet name="atmInteraction" properties="atm:ticketId">
+ <documentation>conversation with a connected ATM</documentation>
+ </correlationSet>
+ </correlationSets>
+
+ <sequence name="MainSeq">
+ <scope name="TicketCreationUnit">
+ <variables>
+ <variable messageType="tic:ticketRequest" name="ticketReq">
+ <documentation>ATM connection request</documentation>
+ </variable>
+ <variable messageType="atm:connectRequest" name="connectReq">
+ <documentation>ticket creation request</documentation>
+ </variable>
+ </variables>
+
+ <sequence name="TicketCreationSeq">
+ <receive createInstance="yes" name="AcceptConnection" operation="connect"
+ partnerLink="atm" portType="atm:FrontEnd" variable="connectReq">
+ <documentation>receive a connection request</documentation>
+ </receive>
+
+ <invoke inputVariable="ticketReq" name="CreateTicket" operation="createTicket"
+ outputVariable="ticketMsg" partnerLink="ticket" portType="tic:TicketIssuer">
+ <documentation>generate a ticket number</documentation>
+ <correlations>
+ <correlation initiate="yes" pattern="response" set="atmInteraction" />
+ </correlations>
+ </invoke>
+
+ <reply name="SendTicketNumber" operation="connect" partnerLink="atm"
+ portType="atm:FrontEnd" variable="ticketMsg">
+ <documentation>
+ send the ticket number back to the ATM
+ </documentation>
+ <correlations>
+ <correlation set="atmInteraction" />
+ </correlations>
+ </reply>
+ </sequence>
+ </scope>
+
+ <assign name="InitializeStatus">
+ <documentation>initialize the status flags</documentation>
+ <copy>
+ <from>true()</from>
+ <to variable="connected" />
+ </copy>
+ <copy>
+ <from>false()</from>
+ <to variable="logged" />
+ </copy>
+ </assign>
+
+ <scope name="ConnectionUnit">
+ <documentation>handle the ATM connection</documentation>
+
+ <variables>
+ <variable messageType="atm:logOnRequest" name="logOnReq">
+ <documentation>customer log on request</documentation>
+ </variable>
+ <variable messageType="atm:statusResponse" name="statusRsp">
+ <documentation>connection status response</documentation>
+ </variable>
+ </variables>
+
+ <eventHandlers>
+ <onEvent messageType="tic:ticketMessage" operation="status"
+ partnerLink="atm" portType="atm:FrontEnd" variable="ticketMsg">
+ <correlations>
+ <correlation set="atmInteraction" />
+ </correlations>
+
+ <scope name="StatusUnit">
+ <sequence name="StatusSeq">
+ <if name="StatusDecision">
+ <condition>$logged</condition>
+ <assign name="SetStatusLogged">
+ <copy>
+ <from>'logged'</from>
+ <to part="status" variable="statusRsp" />
+ </copy>
+ </assign>
+
+ <elseif>
+ <condition>$connected</condition>
+ <assign name="SetStatusConnected">
+ <copy>
+ <from>'connected'</from>
+ <to part="status" variable="statusRsp" />
+ </copy>
+ </assign>
+ </elseif>
+
+ <else>
+ <assign name="Assign">
+ <copy>
+ <from>'disconnected'</from>
+ <to part="status" variable="statusRsp" />
+ </copy>
+ </assign>
+ </else>
+ </if>
+
+ <reply name="SendStatus" operation="status" partnerLink="atm"
+ portType="atm:FrontEnd" variable="statusRsp" />
+ </sequence>
+ </scope>
+ </onEvent>
+ </eventHandlers>
+
+ <while name="ConnectionLoop">
+ <documentation>accept ATM requests, one at a time</documentation>
+ <condition>$connected</condition>
+
+ <pick name="ConnectionMenu">
+ <documentation>
+ listen for either disconnect or log on request
+ </documentation>
+
+ <onMessage operation="logOn" partnerLink="atm" portType="atm:FrontEnd"
+ variable="logOnReq">
+ <correlations>
+ <correlation set="atmInteraction" />
+ </correlations>
+
+ <scope name="AccountUnit">
+ <documentation>handle account access</documentation>
+
+ <variables>
+ <variable messageType="acc:accessMessage" name="accessMsg">
+ <documentation>access check response</documentation>
+ </variable>
+ <variable messageType="acc:customerMessage" name="customerMsg">
+ <documentation>customer name wrapper</documentation>
+ </variable>
+ <variable messageType="atm:logOnResponse" name="logOnRsp">
+ <documentation>customer access acknowledgment</documentation>
+ </variable>
+ <variable messageType="atm:unauthorizedAccess" name="unauthorizedAccess">
+ <documentation>customer access fault</documentation>
+ </variable>
+ <variable messageType="acc:balanceMessage" name="balanceMsg">
+ <documentation>account balance wrapper</documentation>
+ </variable>
+ <variable messageType="atm:balanceChange" name="balanceChange">
+ <documentation>balance change request</documentation>
+ </variable>
+ <variable messageType="acc:accountOperation" name="accountOperation">
+ <documentation>account system operation request</documentation>
+ </variable>
+ <variable name="newBalance" type="xsd:double">
+ <documentation>
+ resulting balance after withdrawal
+ </documentation>
+ </variable>
+ <variable messageType="atm:insufficientFunds" name="insufficientFunds">
+ <documentation>withdraw fault</documentation>
+ </variable>
+ </variables>
+
+ <correlationSets>
+ <correlationSet name="customerInteraction" properties="atm:customerId">
+ <documentation>
+ conversation with a logged customer
+ </documentation>
+ </correlationSet>
+ </correlationSets>
+
+ <sequence name="AccountSeq">
+ <assign name="PrepareAccessCheck">
+ <documentation>populate access check request</documentation>
+ <copy>
+ <from part="customerName" variable="logOnReq" />
+ <to part="customerName" variable="customerMsg" />
+ </copy>
+ </assign>
+
+ <invoke inputVariable="customerMsg" name="CheckAccess" operation="checkAccess"
+ outputVariable="accessMsg" partnerLink="account" portType="acc:AccountSystem">
+ <documentation>check account access privilege</documentation>
+ <correlations>
+ <correlation initiate="yes" pattern="request" set="customerInteraction" />
+ </correlations>
+ </invoke>
+
+ <if name="AccessDecision">
+ <documentation>
+ decide outcome of customer access request
+ </documentation>
+ <condition>$accessMsg.granted</condition>
+
+ <sequence name="AccessGrantedSeq">
+ <documentation>grant customer access</documentation>
+
+ <assign name="SetLoggedOn">
+ <documentation>turn on logged flag</documentation>
+ <copy>
+ <from>true()</from>
+ <to variable="logged" />
+ </copy>
+ </assign>
+
+ <reply name="GrantAccess" operation="logOn" partnerLink="atm"
+ portType="atm:FrontEnd" variable="logOnRsp">
+ <documentation>
+ send acknowledgment back to ATM
+ </documentation>
+ </reply>
+ </sequence>
+
+ <else>
+ <sequence name="AccessDeniedSeq">
+ <documentation>deny customer access</documentation>
+
+ <assign name="PrepareAccessDenial">
+ <documentation>populate access fault</documentation>
+ <copy>
+ <from part="customerName" variable="logOnReq" />
+ <to part="detail" variable="unauthorizedAccess">
+ <query>customerName</query>
+ </to>
+ </copy>
+ </assign>
+
+ <reply name="DenyAccess" operation="logOn" partnerLink="atm"
+ portType="atm:FrontEnd" variable="unauthorizedAccess" faultName="atm:unauthorizedAccess">
+ <documentation>send fault back to ATM</documentation>
+ </reply>
+ </sequence>
+ </else>
+ </if>
+
+ <while name="AccountLoop">
+ <documentation>
+ accept account requests, one at a time
+ </documentation>
+ <condition>$logged</condition>
+
+ <pick name="AccountMenu">
+ <onMessage operation="getBalance" partnerLink="atm"
+ portType="atm:FrontEnd" variable="customerMsg">
+ <correlations>
+ <correlation set="customerInteraction" />
+ </correlations>
+
+ <sequence name="BalanceSeq">
+ <invoke inputVariable="customerMsg" name="QueryBalance"
+ operation="queryBalance" outputVariable="balanceMsg" partnerLink="account"
+ portType="acc:AccountSystem">
+ <documentation>get current account balance</documentation>
+ </invoke>
+
+ <reply name="TellBalance" operation="getBalance" partnerLink="atm"
+ portType="atm:FrontEnd" variable="balanceMsg">
+ <documentation>return balance to ATM</documentation>
+ </reply>
+ </sequence>
+ </onMessage>
+
+ <onMessage operation="deposit" partnerLink="atm" portType="atm:FrontEnd"
+ variable="balanceChange">
+ <correlations>
+ <correlation set="customerInteraction" />
+ </correlations>
+
+ <sequence name="DepositSeq">
+ <assign name="PrepareDeposit">
+ <documentation>
+ populate balance update request
+ </documentation>
+ <copy>
+ <from part="customerName" variable="balanceChange" />
+ <to part="body" variable="accountOperation">
+ <query>customerName</query>
+ </to>
+ </copy>
+ <copy>
+ <from part="amount" variable="balanceChange" />
+ <to part="body" variable="accountOperation">
+ <query>amount</query>
+ </to>
+ </copy>
+ </assign>
+
+ <invoke inputVariable="accountOperation" name="UpdateBalance"
+ operation="updateBalance" outputVariable="balanceMsg" partnerLink="account"
+ portType="acc:AccountSystem">
+ <documentation>post positive balance update</documentation>
+ <correlations>
+ <correlation pattern="request" set="customerInteraction" />
+ </correlations>
+ </invoke>
+
+ <reply name="TellNewBalance" operation="deposit" partnerLink="atm"
+ portType="atm:FrontEnd" variable="balanceMsg">
+ <documentation>
+ make new balance available to ATM
+ </documentation>
+ </reply>
+ </sequence>
+ </onMessage>
+
+ <onMessage operation="withdraw" partnerLink="atm" portType="atm:FrontEnd"
+ variable="balanceChange">
+ <correlations>
+ <correlation set="customerInteraction" />
+ </correlations>
+
+ <sequence name="WithdrawSeq">
+ <assign name="PrepareBalanceQuery">
+ <documentation>
+ populate balance query request
+ </documentation>
+ <copy>
+ <from part="customerName" variable="balanceChange" />
+ <to part="customerName" variable="customerMsg" />
+ </copy>
+ </assign>
+
+ <invoke inputVariable="customerMsg" name="QueryBalance"
+ operation="queryBalance" outputVariable="balanceMsg" partnerLink="account"
+ portType="acc:AccountSystem">
+ <documentation>get current account balance</documentation>
+ <correlations>
+ <correlation pattern="request" set="customerInteraction" />
+ </correlations>
+ </invoke>
+
+ <assign name="EvaluateNewBalance">
+ <documentation>
+ evaluate amount that would remain in account
+ </documentation>
+ <copy>
+ <from>$balanceMsg.balance - $balanceChange.amount</from>
+ <to variable="newBalance" />
+ </copy>
+ </assign>
+
+ <if name="BalanceDecision">
+ <documentation>
+ decide outcome of withdraw request
+ </documentation>
+ <condition>$newBalance >= 0.0</condition>
+
+ <sequence name="PositiveBalanceSeq">
+ <documentation>accept withdrawal</documentation>
+
+ <assign name="PrepareWithdraw">
+ <documentation>
+ populate balance update request
+ </documentation>
+ <copy>
+ <from part="customerName" variable="balanceChange" />
+ <to part="body" variable="accountOperation">
+ <query>customerName</query>
+ </to>
+ </copy>
+ <copy>
+ <from>-$balanceChange.amount</from>
+ <to part="body" variable="accountOperation">
+ <query>amount</query>
+ </to>
+ </copy>
+ </assign>
+
+ <invoke inputVariable="accountOperation" name="UpdateBalance"
+ operation="updateBalance" outputVariable="balanceMsg"
+ partnerLink="account" portType="acc:AccountSystem">
+ <documentation>
+ post negative balance update
+ </documentation>
+ <correlations>
+ <correlation pattern="request" set="customerInteraction" />
+ </correlations>
+ </invoke>
+
+ <reply name="TellNewBalance" operation="withdraw"
+ partnerLink="atm" portType="atm:FrontEnd" variable="balanceMsg">
+ <documentation>return new balance to ATM</documentation>
+ </reply>
+ </sequence>
+
+ <else>
+ <sequence name="NegativeBalanceSeq">
+ <documentation>reject withdrawal</documentation>
+
+ <assign name="PrepareRejection">
+ <documentation>populate withdraw fault</documentation>
+ <copy>
+ <from part="customerName" variable="balanceChange" />
+ <to part="detail" variable="insufficientFunds">
+ <query>customerName</query>
+ </to>
+ </copy>
+ <copy>
+ <from part="balance" variable="balanceMsg" />
+ <to part="detail" variable="insufficientFunds">
+ <query>amount</query>
+ </to>
+ </copy>
+ </assign>
+
+ <reply name="RejectWithdraw" operation="withdraw"
+ partnerLink="atm" portType="atm:FrontEnd" variable="insufficientFunds"
+ faultName="atm:insufficientFunds">
+ <documentation>return fault to ATM</documentation>
+ </reply>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+ </onMessage>
+
+ <onMessage operation="logOff" partnerLink="atm" portType="atm:FrontEnd"
+ variable="customerMsg">
+ <correlations>
+ <correlation set="customerInteraction" />
+ </correlations>
+
+ <assign name="SetLoggedOff">
+ <documentation>turn off logged flag</documentation>
+ <copy>
+ <from>false()</from>
+ <to variable="logged" />
+ </copy>
+ </assign>
+ </onMessage>
+
+ <onAlarm>
+ <for>'PT2M'</for>
+
+ <assign name="SetLoggedOff">
+ <documentation>
+ turn off logged flag after a period of inactivity
+ </documentation>
+ <copy>
+ <from>false()</from>
+ <to variable="logged" />
+ </copy>
+ </assign>
+ </onAlarm>
+ </pick>
+ </while>
+ </sequence>
+ </scope>
+ </onMessage>
+
+ <onMessage operation="disconnect" partnerLink="atm" portType="atm:FrontEnd"
+ variable="ticketMsg">
+ <correlations>
+ <correlation set="atmInteraction" />
+ </correlations>
+
+ <assign name="SetDisconnected">
+ <documentation>turn off connected flag</documentation>
+ <copy>
+ <from>false()</from>
+ <to variable="connected" />
+ </copy>
+ </assign>
+ </onMessage>
+ </pick>
+ </while>
+ </scope>
+ </sequence>
+</process>
Added: trunk/samples/quickstart/atm/bpel/bpel-deploy.xml
===================================================================
--- trunk/samples/quickstart/atm/bpel/bpel-deploy.xml (rev 0)
+++ trunk/samples/quickstart/atm/bpel/bpel-deploy.xml 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03">
+ <process name="atm:AtmFrontEnd" xmlns:atm="http://jbpm.org/examples/atm">
+ <active>true</active>
+ <provide partnerLink="atm">
+ <service name="atm:AtmFrontEndService" port="FrontEndPort" />
+ </provide>
+ <invoke partnerLink="ticket">
+ <service name="tic:TicketService" port="TicketIssuerPort"
+ xmlns:tic="http://jbpm.org/examples/ticket" />
+ </invoke>
+ <invoke partnerLink="account">
+ <service name="acc:AccountService" port="AccountSystemPort"
+ xmlns:acc="http://jbpm.org/examples/account" />
+ </invoke>
+ </process>
+</deploy>
\ No newline at end of file
Property changes on: trunk/samples/quickstart/atm/bpel/bpel-deploy.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/bpel/interface/account.wsdl
===================================================================
--- trunk/samples/quickstart/atm/bpel/interface/account.wsdl (rev 0)
+++ trunk/samples/quickstart/atm/bpel/interface/account.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/account"
+ xmlns:tns="http://jbpm.org/examples/account" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+
+ <schema targetNamespace="http://jbpm.org/examples/account"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <complexType name="AccountOperation">
+ <annotation>
+ <documentation>account data transfer type</documentation>
+ </annotation>
+ <sequence>
+ <element name="customerName" type="xsd:string" />
+ <element name="amount" type="xsd:double" />
+ </sequence>
+ </complexType>
+
+ </schema>
+
+ </types>
+
+ <message name="customerMessage">
+ <documentation>customer name wrapper</documentation>
+ <part name="customerName" type="xsd:string" />
+ </message>
+
+ <message name="accessMessage">
+ <documentation>access check response</documentation>
+ <part name="granted" type="xsd:boolean" />
+ </message>
+
+ <message name="balanceMessage">
+ <documentation>account balance wrapper</documentation>
+ <part name="balance" type="xsd:double" />
+ </message>
+
+ <message name="accountOperation">
+ <documentation>account operation request</documentation>
+ <part name="body" type="tns:AccountOperation" />
+ </message>
+
+ <portType name="AccountSystem">
+ <documentation>published account functions</documentation>
+
+ <operation name="checkAccess">
+ <documentation>
+ tell whether a customer has an active account
+ </documentation>
+ <input message="tns:customerMessage" />
+ <output message="tns:accessMessage" />
+ </operation>
+
+ <operation name="queryBalance">
+ <documentation>retrieve the balance of an account</documentation>
+ <input message="tns:customerMessage" />
+ <output message="tns:balanceMessage" />
+ </operation>
+
+ <operation name="updateBalance">
+ <documentation>
+ increase/decrease the balance of an account
+ </documentation>
+ <input message="tns:accountOperation" />
+ <output message="tns:balanceMessage" />
+ </operation>
+
+ </portType>
+
+</definitions>
\ No newline at end of file
Property changes on: trunk/samples/quickstart/atm/bpel/interface/account.wsdl
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/bpel/interface/atm.wsdl
===================================================================
--- trunk/samples/quickstart/atm/bpel/interface/atm.wsdl (rev 0)
+++ trunk/samples/quickstart/atm/bpel/interface/atm.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/atm"
+ xmlns:tns="http://jbpm.org/examples/atm" xmlns:tic="http://jbpm.org/examples/ticket"
+ xmlns:acc="http://jbpm.org/examples/account" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <import namespace="http://jbpm.org/examples/ticket" location="ticket.wsdl" />
+ <import namespace="http://jbpm.org/examples/account" location="account.wsdl" />
+
+ <types>
+
+ <schema targetNamespace="http://jbpm.org/examples/atm" xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <complexType name="UnauthorizedAccess">
+ <sequence>
+ <element name="customerName" type="xsd:string" />
+ </sequence>
+ </complexType>
+
+ <element name="unauthorizedAccess" type="tns:UnauthorizedAccess" />
+
+ <complexType name="InsufficientFunds">
+ <sequence>
+ <element name="customerName" type="xsd:string" />
+ <element name="amount" type="xsd:double" />
+ </sequence>
+ </complexType>
+
+ <element name="insufficientFunds" type="tns:InsufficientFunds" />
+
+ </schema>
+
+ </types>
+
+ <message name="connectRequest" />
+
+ <message name="logOnRequest">
+ <part name="ticketNo" type="xsd:int" />
+ <part name="customerName" type="xsd:string" />
+ </message>
+
+ <message name="logOnResponse" />
+
+ <message name="statusResponse">
+ <part name="status" type="xsd:string" />
+ </message>
+
+ <message name="balanceChange">
+ <part name="customerName" type="xsd:string" />
+ <part name="amount" type="xsd:double" />
+ </message>
+
+ <message name="unauthorizedAccess">
+ <part name="detail" element="tns:unauthorizedAccess" />
+ </message>
+
+ <message name="insufficientFunds">
+ <part name="detail" element="tns:insufficientFunds" />
+ </message>
+
+ <portType name="FrontEnd">
+ <documentation>bank functions available to ATMs</documentation>
+
+ <operation name="connect">
+ <documentation>initiate bank connection</documentation>
+ <input message="tns:connectRequest" />
+ <output message="tic:ticketMessage" />
+ </operation>
+
+ <operation name="disconnect">
+ <documentation>terminate bank connection</documentation>
+ <input message="tic:ticketMessage" />
+ </operation>
+
+ <operation name="status">
+ <documentation>retrieve bank connection status</documentation>
+ <input message="tic:ticketMessage" />
+ <output message="tns:statusResponse" />
+ </operation>
+
+ <operation name="logOn">
+ <documentation>initiate customer access</documentation>
+ <input message="tns:logOnRequest" />
+ <output message="tns:logOnResponse" />
+ <fault name="unauthorizedAccess" message="tns:unauthorizedAccess" />
+ </operation>
+
+ <operation name="logOff">
+ <documentation>terminate customer access</documentation>
+ <input message="acc:customerMessage" />
+ </operation>
+
+ <operation name="getBalance">
+ <documentation>retrieve account balance</documentation>
+ <input message="acc:customerMessage" />
+ <output message="acc:balanceMessage" />
+ </operation>
+
+ <operation name="deposit">
+ <documentation>increase account balance</documentation>
+ <input message="tns:balanceChange" />
+ <output message="acc:balanceMessage" />
+ </operation>
+
+ <operation name="withdraw">
+ <documentation>decrease account balance</documentation>
+ <input message="tns:balanceChange" />
+ <output message="acc:balanceMessage" />
+ <fault name="insufficientFunds" message="tns:insufficientFunds" />
+ </operation>
+
+ </portType>
+
+</definitions>
\ No newline at end of file
Property changes on: trunk/samples/quickstart/atm/bpel/interface/atm.wsdl
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/bpel/interface/ticket.wsdl
===================================================================
--- trunk/samples/quickstart/atm/bpel/interface/ticket.wsdl (rev 0)
+++ trunk/samples/quickstart/atm/bpel/interface/ticket.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/ticket"
+ xmlns:tns="http://jbpm.org/examples/ticket" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <message name="ticketRequest">
+ <documentation>ticket creation request</documentation>
+ </message>
+
+ <message name="ticketMessage">
+ <documentation>ticket number wrapper</documentation>
+ <part name="ticketNo" type="xsd:int" />
+ </message>
+
+ <portType name="TicketIssuer">
+ <documentation>interface to ticket issuer service</documentation>
+
+ <operation name="createTicket">
+ <documentation>
+ generate a ticket number, distinct from previous calls
+ </documentation>
+ <input message="tns:ticketRequest" />
+ <output message="tns:ticketMessage" />
+ </operation>
+
+ </portType>
+
+</definitions>
\ No newline at end of file
Property changes on: trunk/samples/quickstart/atm/bpel/interface/ticket.wsdl
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/bpel/ticket-service.wsdl
===================================================================
--- trunk/samples/quickstart/atm/bpel/ticket-service.wsdl (rev 0)
+++ trunk/samples/quickstart/atm/bpel/ticket-service.wsdl 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions targetNamespace="http://jbpm.org/examples/ticket"
+ xmlns:tns="http://jbpm.org/examples/ticket" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <import namespace="http://jbpm.org/examples/ticket" location="interface/ticket.wsdl" />
+
+ <binding name="TicketIssuerBinding" type="tns:TicketIssuer">
+
+ <soap:binding style="rpc"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+
+ <operation name="createTicket">
+ <soap:operation soapAction="http://jbpm.org/examples/ticket#createTicket" />
+ <input>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/ticket" />
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/ticket" />
+ </output>
+ </operation>
+
+ </binding>
+
+ <service name="TicketService">
+ <port name="TicketIssuerPort" binding="tns:TicketIssuerBinding">
+ <soap:address location="http://127.0.0.1:8080/Quickstart_bpel_atm/ticketIssuer" />
+ </port>
+ </service>
+
+</definitions>
\ No newline at end of file
Property changes on: trunk/samples/quickstart/atm/bpel/ticket-service.wsdl
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/build.xml
===================================================================
--- trunk/samples/quickstart/atm/build.xml (rev 0)
+++ trunk/samples/quickstart/atm/build.xml 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,60 @@
+<project name="Quickstart_bpel_atm" default="deploy" basedir=".">
+
+ <description>
+ ${ant.project.name}
+ </description>
+
+ <!-- Import the base Ant build script... -->
+ <property file="../../../install/deployment.properties" />
+
+ <property name="version" value="1" />
+
+ <property name="server.dir" value="${org.jboss.esb.server.home}/server/${org.jboss.esb.server.config}" />
+ <property name="conf.dir" value="${server.dir}/conf" />
+ <property name="deploy.dir" value="${server.dir}/deploy" />
+ <property name="server.lib.dir" value="${server.dir}/lib" />
+
+ <property name="sample.jar.name" value="${ant.project.name}-${version}.jar" />
+ <property name="war.build.dir" location="build/war/classes" />
+
+ <path id="compile-classpath">
+ <!-- Required for JMS Client Code. -->
+ <fileset dir="${org.jboss.esb.server.home}/client" includes="*.jar" />
+ </path>
+ <property name="compile-classpath" refid="compile-classpath" />
+
+ <target name="makewar" description="make war">
+ <!-- Compile... -->
+ <mkdir dir="${war.build.dir}" />
+ <javac srcdir="war/src" destdir="${war.build.dir}" target="1.5" debug="true">
+ <classpath refid="compile-classpath" />
+ </javac>
+ <copy todir="${war.build.dir}">
+ <fileset dir="war/src" includes="**/*.xml" />
+ </copy>
+
+ <!-- War... -->
+ <war warfile="build/${ant.project.name}.war" webxml="${basedir}/war/resources/WEB-INF/web.xml">
+ <classes dir="${war.build.dir}" />
+ </war>
+ </target>
+
+ <target name="deploywar" depends="makewar">
+ <copy todir="${deploy.dir}" file="build/${ant.project.name}.war" />
+ </target>
+
+ <target name="undeploywar">
+ <delete file="${deploy.dir}/${ant.project.name}.war" />
+ </target>
+
+ <target name="deploy" depends="deploywar">
+ <echo>Deploy ${ant.project.name}</echo>
+ <jar basedir="bpel" destfile="${deploy.dir}/${sample.jar.name}" />
+ </target>
+
+ <target name="undeploy" depends="undeploywar">
+ <echo>Undeploy ${ant.project.name}</echo>
+ <delete file="${deploy.dir}/${sample.jar.name}" />
+ </target>
+
+</project>
Added: trunk/samples/quickstart/atm/war/resources/WEB-INF/web.xml
===================================================================
--- trunk/samples/quickstart/atm/war/resources/WEB-INF/web.xml (rev 0)
+++ trunk/samples/quickstart/atm/war/resources/WEB-INF/web.xml 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.4" 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">
+
+ <servlet>
+ <servlet-name>accountSystemServlet</servlet-name>
+ <servlet-class>
+ org.jboss.soa.bpel.samples.quickstart.account.AccountSystem_Impl
+ </servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>accountSystemServlet</servlet-name>
+ <url-pattern>/accountSystem</url-pattern>
+ </servlet-mapping>
+
+ <servlet>
+ <servlet-name>ticketIssuerServlet</servlet-name>
+ <servlet-class>
+ org.jboss.soa.bpel.samples.quickstart.ticket.TicketIssuer_Impl
+ </servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>ticketIssuerServlet</servlet-name>
+ <url-pattern>/ticketIssuer</url-pattern>
+ </servlet-mapping>
+
+</web-app>
\ No newline at end of file
Property changes on: trunk/samples/quickstart/atm/war/resources/WEB-INF/web.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountOperation.java
===================================================================
--- trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountOperation.java (rev 0)
+++ trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountOperation.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,77 @@
+package org.jboss.soa.bpel.samples.quickstart.account;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * account data transfer type
+ *
+ * <p>
+ * Java class for AccountOperation complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="AccountOperation">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="customerName" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="amount" type="{http://www.w3.org/2001/XMLSchema}double"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AccountOperation", propOrder = { "customerName", "amount" })
+public class AccountOperation {
+
+ @XmlElement(required = true)
+ protected String customerName;
+ protected double amount;
+
+ /**
+ * Gets the value of the customerName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCustomerName() {
+ return customerName;
+ }
+
+ /**
+ * Sets the value of the customerName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCustomerName(String value) {
+ this.customerName = value;
+ }
+
+ /**
+ * Gets the value of the amount property.
+ *
+ */
+ public double getAmount() {
+ return amount;
+ }
+
+ /**
+ * Sets the value of the amount property.
+ *
+ */
+ public void setAmount(double value) {
+ this.amount = value;
+ }
+
+}
Property changes on: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountOperation.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem.java
===================================================================
--- trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem.java (rev 0)
+++ trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,40 @@
+package org.jboss.soa.bpel.samples.quickstart.account;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * published account functions
+ */
+@WebService(name = "AccountSystem", targetNamespace = "http://jbpm.org/examples/account")
+@SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface AccountSystem {
+
+ /**
+ * tell whether a customer has an active account
+ */
+ @WebMethod(action = "http://jbpm.org/examples/account#verifyAccess")
+ @WebResult(name = "granted", partName = "granted")
+ public boolean checkAccess(
+ @WebParam(name = "customerName", partName = "customerName") String customerName);
+
+ /**
+ * retrieve the balance of an account
+ */
+ @WebMethod(action = "http://jbpm.org/examples/account#queryBalance")
+ @WebResult(name = "balance", partName = "balance")
+ public double queryBalance(
+ @WebParam(name = "customerName", partName = "customerName") String customerName);
+
+ /**
+ * increase/decrease the balance of an account
+ */
+ @WebMethod(action = "http://jbpm.org/examples/account#updateBalance")
+ @WebResult(name = "balance", partName = "balance")
+ public double updateBalance(
+ @WebParam(name = "body", partName = "body") AccountOperation body);
+
+}
Property changes on: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem_Impl.java
===================================================================
--- trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem_Impl.java (rev 0)
+++ trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem_Impl.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the JBPM BPEL PUBLIC LICENSE AGREEMENT as
+ * published by JBoss Inc.; either version 1.0 of the License, or
+ * (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+package org.jboss.soa.bpel.samples.quickstart.account;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.jws.WebService;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+/**
+ * Account system endpoint implementation bean.
+ *
+ * @author Alejandro Guizar
+ * @version $Revision$ $Date: 2006/09/27 03:53:01 $
+ */
+@WebService(endpointInterface = "org.jboss.soa.bpel.samples.quickstart.account.AccountSystem", targetNamespace = "http://jbpm.org/examples/account", serviceName = "AccountService", portName = "AccountSystemPort")
+public class AccountSystem_Impl implements AccountSystem {
+
+ private static Map<String, Double> accounts = loadAccounts("accounts.xml");
+
+ public boolean checkAccess(String customerName) {
+ return accounts.containsKey(customerName);
+ }
+
+ public double queryBalance(String customerName) {
+ return getBalance(customerName);
+ }
+
+ public double updateBalance(AccountOperation body) {
+ String customerName = body.getCustomerName();
+ double newBalance = getBalance(customerName) + body.getAmount();
+ accounts.put(customerName, new Double(newBalance));
+ return newBalance;
+ }
+
+ private double getBalance(String customerName) {
+ Double balance = (Double) accounts.get(customerName);
+ return balance.doubleValue();
+ }
+
+ private static Map<String, Double> loadAccounts(String resourceName) {
+ try {
+ // parse the accounts document
+ DocumentBuilder domBuilder =
+ DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ URL resource = AccountSystem_Impl.class.getResource(resourceName);
+ if (resource == null) return Collections.emptyMap();
+ Document accountsDocument = domBuilder.parse(resource.toString());
+ // give everyone an initial balance of $50
+ Double initialBalance = new Double(50);
+ // iterate over the accounts
+ Map<String, Double> accounts = new HashMap<String, Double>();
+ Element accountsElem = accountsDocument.getDocumentElement();
+ NodeList accountElems = accountsElem.getElementsByTagName("account");
+ for (int i = 0, n = accountElems.getLength(); i < n; i++) {
+ Element accountElem = (Element) accountElems.item(i);
+ // create account, assign initial balance
+ String customerName = accountElem.getAttribute("holder");
+ accounts.put(customerName, initialBalance);
+ }
+ return accounts;
+ }
+ catch (ParserConfigurationException e) {
+ // default configuration for document builder should work
+ throw new AssertionError(e);
+ }
+ catch (SAXException e) {
+ return Collections.emptyMap();
+ }
+ catch (IOException e) {
+ return Collections.emptyMap();
+ }
+ }
+}
Property changes on: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/AccountSystem_Impl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/accounts.xml
===================================================================
--- trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/accounts.xml (rev 0)
+++ trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/accounts.xml 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,6 @@
+<accounts>
+ <account holder="alex" />
+ <account holder="fady" />
+ <account holder="koen" />
+ <account holder="tom" />
+</accounts>
\ No newline at end of file
Property changes on: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/accounts.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/package-info.java
===================================================================
--- trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/package-info.java (rev 0)
+++ trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/package-info.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,3 @@
+(a)javax.xml.bind.annotation.XmlSchema(namespace = "http://jbpm.org/examples/account")
+package org.jboss.soa.bpel.samples.quickstart.account;
+
Property changes on: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/account/package-info.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer.java
===================================================================
--- trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer.java (rev 0)
+++ trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,22 @@
+package org.jboss.soa.bpel.samples.quickstart.ticket;
+
+import javax.jws.WebMethod;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+/**
+ * interface to ticket issuer service
+ */
+@WebService(name = "TicketIssuer", targetNamespace = "http://jbpm.org/examples/ticket")
+@SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface TicketIssuer {
+
+ /**
+ * generate a ticket number, distinct from previous calls
+ */
+ @WebMethod(action = "http://jbpm.org/examples/ticket#createTicket")
+ @WebResult(name = "ticketNo", partName = "ticketNo")
+ public int createTicket();
+
+}
Property changes on: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer_Impl.java
===================================================================
--- trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer_Impl.java (rev 0)
+++ trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer_Impl.java 2009-11-05 09:17:48 UTC (rev 227)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the JBPM BPEL PUBLIC LICENSE AGREEMENT as
+ * published by JBoss Inc.; either version 1.0 of the License, or
+ * (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+package org.jboss.soa.bpel.samples.quickstart.ticket;
+
+import javax.jws.WebService;
+
+/**
+ * @author Alejandro Guizar
+ * @version $Revision$ $Date: 2006/09/27 03:53:07 $
+ */
+@WebService(endpointInterface = "org.jboss.soa.bpel.samples.quickstart.ticket.TicketIssuer", targetNamespace = "http://jbpm.org/examples/ticket", serviceName = "TicketService", portName = "TicketIssuerPort")
+public class TicketIssuer_Impl implements TicketIssuer {
+
+ private static int currentSession = 1;
+
+ public int createTicket() {
+ synchronized (TicketIssuer_Impl.class) {
+ return currentSession++;
+ }
+ }
+}
Property changes on: trunk/samples/quickstart/atm/war/src/org/jboss/soa/bpel/samples/quickstart/ticket/TicketIssuer_Impl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
15 years, 11 months
riftsaw SVN: r226 - in trunk: console and 4 other directories.
by riftsaw-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2009-11-04 05:26:25 -0500 (Wed, 04 Nov 2009)
New Revision: 226
Modified:
trunk/
trunk/console/
trunk/console/identity/
trunk/console/integration/
trunk/docs/docbook/
trunk/runtime/
Log:
Update svn ignore
Property changes on: trunk
___________________________________________________________________
Name: svn:ignore
- *.iml
*.ipr
*.iws
.project
.classpath
.settings
+ *.iml
*.ipr
*.iws
.project
.classpath
.settings
target
Property changes on: trunk/console
___________________________________________________________________
Name: svn:ignore
+ *.iml
target
Property changes on: trunk/console/identity
___________________________________________________________________
Name: svn:ignore
- target
.project
+ target
.project
*.iml
Property changes on: trunk/console/integration
___________________________________________________________________
Name: svn:ignore
- target
.project
.classpath
+ target
.project
.classpath
*.iml
Property changes on: trunk/docs/docbook
___________________________________________________________________
Name: svn:ignore
+ target
*.iml
Property changes on: trunk/runtime
___________________________________________________________________
Name: svn:ignore
- *.iml
*.ipr
*.iws
+ *.iml
*.ipr
*.iws
target
15 years, 11 months
Build failed in Hudson: RiftSaw-mysql #2
by jboss-qa-internal@redhat.com
See http://hudson.qa.jboss.com/hudson/job/RiftSaw-mysql/2/changes
Changes:
[objectiser] RIFTSAW-71 - update documentation with new admin console images.
[objectiser] RIFTSAW-71 - update documentation with new admin console images.
[objectiser] RIFTSAW-65 - updated URLs so that the web context for multiple deployed examples do not clash.
[heiko.braun(a)jboss.com] Set console version 1.2.0
[objectiser] Ignore .project.
[objectiser] Remove eclipse artifact.
------------------------------------------
[...truncated 734 lines...]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
Caused by: javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
java.io.EOFException]
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:839)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.jboss.soa.bpel.tests.RiftSawTestHelper.getServer(RiftSawTestHelper.java:71)
... 20 more
Caused by: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
java.io.EOFException
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:227)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:726)
... 23 more
Caused by: java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2554)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at sun.rmi.server.MarshalInputStream.readLocation(MarshalInputStream.java:285)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:167)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:225)
... 26 more
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.088 sec <<< FAILURE!
Running org.jboss.soa.bpel.tests.samples.QuickstartBPELSimpleInvokeTestCase
java.lang.RuntimeException: Cannot obtain MBeanServerConnection using jndi props: {java.naming.provider.url=localhost:1099, java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces:org.jnp.interfaces}
at org.jboss.soa.bpel.tests.RiftSawTestHelper.getServer(RiftSawTestHelper.java:75)
at org.jboss.soa.bpel.tests.RiftSawTestHelper.getDeployer(RiftSawTestHelper.java:82)
at org.jboss.soa.bpel.tests.RiftSawTestHelper.deploy(RiftSawTestHelper.java:48)
at org.jboss.soa.bpel.tests.RiftSawTestSetup.setUp(RiftSawTestSetup.java:104)
at junit.extensions.TestSetup$1.protect(TestSetup.java:18)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.extensions.TestSetup.run(TestSetup.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
Caused by: javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
java.io.EOFException]
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:839)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.jboss.soa.bpel.tests.RiftSawTestHelper.getServer(RiftSawTestHelper.java:71)
... 20 more
Caused by: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
java.io.EOFException
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:227)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:726)
... 23 more
Caused by: java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2554)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at sun.rmi.server.MarshalInputStream.readLocation(MarshalInputStream.java:285)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:167)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:225)
... 26 more
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.079 sec <<< FAILURE!
Running org.jboss.soa.bpel.tests.samples.QuickstartBPELHelloWorldTestCase
java.lang.RuntimeException: Cannot obtain MBeanServerConnection using jndi props: {java.naming.provider.url=localhost:1099, java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces:org.jnp.interfaces}
at org.jboss.soa.bpel.tests.RiftSawTestHelper.getServer(RiftSawTestHelper.java:75)
at org.jboss.soa.bpel.tests.RiftSawTestHelper.getDeployer(RiftSawTestHelper.java:82)
at org.jboss.soa.bpel.tests.RiftSawTestHelper.deploy(RiftSawTestHelper.java:48)
at org.jboss.soa.bpel.tests.RiftSawTestSetup.setUp(RiftSawTestSetup.java:104)
at junit.extensions.TestSetup$1.protect(TestSetup.java:18)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.extensions.TestSetup.run(TestSetup.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
Caused by: javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
java.io.EOFException]
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:839)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.jboss.soa.bpel.tests.RiftSawTestHelper.getServer(RiftSawTestHelper.java:71)
... 20 more
Caused by: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
java.io.EOFException
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:227)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:726)
... 23 more
Caused by: java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2554)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at sun.rmi.server.MarshalInputStream.readLocation(MarshalInputStream.java:285)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:167)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:225)
... 26 more
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.103 sec <<< FAILURE!
Running org.jboss.soa.bpel.tests.samples.QuickstartESBBPELHelloWorldTestCase
java.lang.RuntimeException: Cannot obtain MBeanServerConnection using jndi props: {java.naming.provider.url=localhost:1099, java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces:org.jnp.interfaces}
at org.jboss.soa.bpel.tests.RiftSawTestHelper.getServer(RiftSawTestHelper.java:75)
at org.jboss.soa.bpel.tests.RiftSawTestHelper.getDeployer(RiftSawTestHelper.java:82)
at org.jboss.soa.bpel.tests.RiftSawTestHelper.deploy(RiftSawTestHelper.java:48)
at org.jboss.soa.bpel.tests.RiftSawTestSetup.setUp(RiftSawTestSetup.java:104)
at junit.extensions.TestSetup$1.protect(TestSetup.java:18)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.extensions.TestSetup.run(TestSetup.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
Caused by: javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
java.io.EOFException]
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:839)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.jboss.soa.bpel.tests.RiftSawTestHelper.getServer(RiftSawTestHelper.java:71)
... 20 more
Caused by: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
java.io.EOFException
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:227)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:726)
... 23 more
Caused by: java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2554)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at sun.rmi.server.MarshalInputStream.readLocation(MarshalInputStream.java:285)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:167)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:225)
... 26 more
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.084 sec <<< FAILURE!
Results :
Tests in error:
org.jboss.soa.bpel.tests.samples.QuickstartBPELSimpleCorrelationTestCase
org.jboss.soa.bpel.tests.samples.QuickstartBPELLoanApprovalTestCase
org.jboss.soa.bpel.tests.samples.QuickstartBPELSimpleInvokeTestCase
org.jboss.soa.bpel.tests.samples.QuickstartBPELHelloWorldTestCase
org.jboss.soa.bpel.tests.samples.QuickstartESBBPELHelloWorldTestCase
Tests run: 5, Failures: 0, Errors: 5, Skipped: 0
[ERROR] There are test failures.
Please refer to /qa/services/hudson/hudson_workspace/workspace/RiftSaw-mysql/riftsaw-mysql/integration-tests/target/surefire-reports for the individual test results.
[INFO] [antrun:run {execution: undeploy-riftsaw}]
[INFO] Executing tasks
stop-server:
[echo] Stopping the server
[echo] Server is at http://hudson.qa.jboss.com/hudson/job/RiftSaw-mysql/ws/riftsaw-2.0-SNAPSH...
[java] Exception in thread "main" javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
[java] java.io.EOFException]
[java] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:839)
[java] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
[java] at javax.naming.InitialContext.lookup(InitialContext.java:392)
[java] at org.jboss.Shutdown.main(Shutdown.java:219)
[java] Caused by: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is:
[java] java.io.EOFException
[java] at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:227)
[java] at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
[java] at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
[java] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:726)
[java] ... 3 more
[java] Caused by: java.io.EOFException
[java] at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2554)
[java] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
[java] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
[java] at sun.rmi.server.MarshalInputStream.readLocation(MarshalInputStream.java:285)
[java] at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:167)
[java] at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
[java] at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
[java] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
[java] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
[java] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
[java] at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:225)
[java] ... 6 more
[java] Java Result: 1
[echo] Shutdown rc = 1
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] An Ant BuildException has occured: The following error occurred while executing this line:
/qa/services/hudson/hudson_workspace/workspace/RiftSaw-mysql/riftsaw-mysql/integration-tests/build.xml:84: Unable to shut down JBoss (maybe it hasn't fully started yet?).
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 minutes 22 seconds
[INFO] Finished at: Tue Nov 03 22:40:02 EST 2009
[INFO] Final Memory: 90M/661M
[INFO] ------------------------------------------------------------------------
Recording test results
15 years, 11 months