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...
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@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());
+ }
+
+}