Hi,
I am trying to build a simple BPel proces which moves data from one table to another.
When I run the proces I recieve the folowing error:
BPCOR-6151:The process instance has been terminated because a fault was
not handled; Fault Name is
{
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure;
Fault Data is null
com.sun.jbi.engine.bpel.core.bpel.exception.StandardException: I18N:
BPCOR-3025: Selection Failure occurred in BPEL({_NS_}TestProcess) at line
23!
BPCOR-6129:Line Number is 21
BPCOR-6130:Activity Name is Assign1
at
com.sun.jbi.engine.bpel.core.bpel.engine.impl.BPELInterpreter.createVirtualFaultUnit(BPELInterpreter.java:234)
at
com.sun.jbi.engine.bpel.core.bpel.engine.impl.BPELInterpreter.execute(BPELInterpreter.java:202)
at
com.sun.jbi.engine.bpel.core.bpel.engine.BusinessProcessInstanceThread.execute(BusinessProcessInstanceThread.java:98)
at
com.sun.jbi.engine.bpel.core.bpel.engine.impl.BPELProcessManagerImpl.process(BPELProcessManagerImpl.java:1001)
at
com.sun.jbi.engine.bpel.core.bpel.engine.impl.EngineImpl.process(EngineImpl.java:258)
at
com.sun.jbi.engine.bpel.core.bpel.engine.impl.EngineImpl.process(EngineImpl.java:1229)
at
com.sun.jbi.engine.bpel.BPELSEInOutThread.processRequest(BPELSEInOutThread.java:635)
at
com.sun.jbi.engine.bpel.BPELSEInOutThread.processMsgEx(BPELSEInOutThread.java:308)
at
com.sun.jbi.engine.bpel.BPELSEInOutThread.run(BPELSEInOutThread.java:194)
Do you have any idea's how to solve my problem?
I use the folowing code
[code BPEL]
<?xml version="1.0"?>
<process
name="TestProcess"
targetNamespace="_NS_"
xmlns="
http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
xmlns:tns="_NS_"
xmlns:sxt="
http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace"
xmlns:sxed="
http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor"
xmlns:ns0="
http://j2ee.netbeans.org/xsd/tableSchema">
<import namespace="
http://j2ee.netbeans.org/wsdl/Test1"
location="Partners/Test1/Test1.wsdl"
importType="
http://schemas.xmlsoap.org/wsdl/"/>
<import namespace="
http://j2ee.netbeans.org/wsdl/Test2"
location="Partners/Test2/Test2.wsdl"
importType="
http://schemas.xmlsoap.org/wsdl/"/>
<partnerLinks>
<partnerLink name="PartnerLink2"
xmlns:tns="
http://j2ee.netbeans.org/wsdl/Test2"
partnerLinkType="tns:jdbcpartner" partnerRole="jdbcPortTypeRole"/>
<partnerLink name="PartnerLink1"
xmlns:tns="
http://j2ee.netbeans.org/wsdl/Test1"
partnerLinkType="tns:jdbcpartner" myRole="jdbcPortTypeRole"/>
</partnerLinks>
<variables>
<variable name="InsertOut"
xmlns:tns="
http://j2ee.netbeans.org/wsdl/Test2"
messageType="tns:insertRetMsg"/>
<variable name="InsertIn"
xmlns:tns="
http://j2ee.netbeans.org/wsdl/Test2"
messageType="tns:inputMsg"/>
<variable name="PollrecordsIn"
xmlns:tns="
http://j2ee.netbeans.org/wsdl/Test1"
messageType="tns:inputMsg"/>
</variables>
<sequence>
<receive name="Receive1" createInstance="yes"
partnerLink="PartnerLink1" operation="pollrecords"
xmlns:tns="
http://j2ee.netbeans.org/wsdl/Test1"
portType="tns:jdbcPortType" variable="PollrecordsIn"/>
<assign name="Assign1" validate="no">
<copy>
<from>$PollrecordsIn.part/ns0:record/ns0:OID</from>
<to>$InsertIn.part/ns0:record/ns0:OID</to>
</copy>
</assign>
<invoke name="Invoke1" partnerLink="PartnerLink2" operation="insert"
xmlns:tns="
http://j2ee.netbeans.org/wsdl/Test2"
portType="tns:jdbcPortType" inputVariable="InsertIn"
outputVariable="InsertOut"/>
</sequence>
</process>
[/code]
I am using the jdbc webservice component
[code webservice]
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="Test1"
targetNamespace="
http://j2ee.netbeans.org/wsdl/Test1"
xmlns="
http://schemas.xmlsoap.org/wsdl/"
xmlns:ns="
http://j2ee.netbeans.org/xsd/tableSchema"
xmlns:wsdl="
http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="
http://j2ee.netbeans.org/wsdl/Test1"
xmlns:plink="
http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/">
<types>
<xsd:schema xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
targetNamespace="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/">
<xsd:import
namespace="
http://j2ee.netbeans.org/xsd/tableSchema"
schemaLocation="TEST1.xsd"/>
</xsd:schema>
</types>
<message name="outputMsg">
<part name="part" element="ns:TEST1"/>
</message>
<message name="insertRetMsg">
<part name="part" type="xsd:int"/>
</message>
<message name="inputMsg">
<part name="part" element="ns:TEST1"/>
</message>
<portType name="jdbcPortType">
<operation name="insert">
<input name="inputInsert" message="tns:inputMsg"/>
<output name="outputInsert" message="tns:insertRetMsg"/>
</operation>
<operation name="update">
<input name="inputUpdate" message="tns:inputMsg"/>
</operation>
<operation name="delete">
<input name="inputDelete" message="tns:inputMsg"/>
</operation>
<operation name="find">
<input name="inputFind" message="tns:inputMsg"/>
<output name="outputFind" message="tns:outputMsg"/>
</operation>
<operation name="pollrecords">
<input name="inputPoll" message="tns:inputMsg"/>
</operation>
</portType>
<binding name="binding" type="tns:jdbcPortType">
<jdbc:binding
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
<operation name="insert">
<jdbc:operation
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
<input name="inputInsert">
<jdbc:input
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"
MarkColumnName="" MarkColumnValue="" MoveRowToTableName="" PKName="OID"
PollMilliSeconds="5000" PollingPostProcessing="MoveRow" TableName="TEST1"
Transaction="NOTransaction" numberOfRecords="" operationType="insert"
paramOrder="OID,DTD_VERZOEK,USR_DELETED,USR_CREATED,USR_CHANGED,DTD_CREATED,OID_JN,DTD_CHANGED,HAG_OID,DTD_RESPONSE,DTD_DELETED,BERICHT"
sql="insert into TEST1
(OID,DTD_VERZOEK,USR_DELETED,USR_CREATED,USR_CHANGED,DTD_CREATED,OID_JN,DTD_CHANGED,HAG_OID,DTD_RESPONSE,DTD_DELETED,BERICHT)
values (?,?,?,?,?,?,?,?,?,?,?,?)"/>
</input>
<output name="outputInsert">
<jdbc:output
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"
returnPartName="part"/>
</output>
</operation>
<operation name="update">
<jdbc:operation
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
<input name="inputUpdate">
<jdbc:input
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"
MarkColumnName="" MarkColumnValue="" MoveRowToTableName="" PKName="OID"
PollMilliSeconds="5000" PollingPostProcessing="MoveRow" TableName="TEST1"
Transaction="NOTransaction" numberOfRecords="" operationType="update"
paramOrder="OID,DTD_VERZOEK,USR_DELETED,USR_CREATED,USR_CHANGED,DTD_CREATED,OID_JN,DTD_CHANGED,HAG_OID,DTD_RESPONSE,DTD_DELETED,BERICHT"
sql="update TEST1 set OID = ?,DTD_VERZOEK = ?,USR_DELETED =
?,USR_CREATED = ?,USR_CHANGED = ?,DTD_CREATED = ?,OID_JN =
?,DTD_CHANGED = ?,HAG_OID = ?,DTD_RESPONSE = ?,DTD_DELETED = ?,BERICHT
= ?"/>
</input>
</operation>
<operation name="delete">
<jdbc:operation
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
<input name="inputDelete">
<jdbc:input
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"
MarkColumnName="" MarkColumnValue="" MoveRowToTableName="" PKName="OID"
PollMilliSeconds="5000" PollingPostProcessing="MoveRow" TableName="TEST1"
Transaction="NOTransaction" numberOfRecords="" operationType="delete"
paramOrder="" sql="delete from TEST1"/>
</input>
</operation>
<operation name="find">
<jdbc:operation
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
<input name="inputFind">
<jdbc:input
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"
MarkColumnName="" MarkColumnValue="" MoveRowToTableName="" PKName="OID"
PollMilliSeconds="5000" PollingPostProcessing="MoveRow" TableName="TEST1"
Transaction="NOTransaction" numberOfRecords="" operationType="find"
paramOrder="" sql="select
OID,DTD_VERZOEK,USR_DELETED,USR_CREATED,USR_CHANGED,DTD_CREATED,OID_JN,DTD_CHANGED,HAG_OID,DTD_RESPONSE,DTD_DELETED,BERICHT
from TEST1"/>
</input>
<output name="outputFind">
<jdbc:output
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"
returnPartName="part"/>
</output>
</operation>
<operation name="pollrecords">
<jdbc:operation
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
<input name="inputPoll">
<jdbc:input
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"
MarkColumnName="" MarkColumnValue="" MoveRowToTableName="" PKName="OID"
PollMilliSeconds="5000" PollingPostProcessing="Delete" TableName="TEST1"
Transaction="NOTransaction" numberOfRecords="" operationType="poll"
paramOrder="" sql="select
OID,DTD_VERZOEK,USR_DELETED,USR_CREATED,USR_CHANGED,DTD_CREATED,OID_JN,DTD_CHANGED,HAG_OID,DTD_RESPONSE,DTD_DELETED,BERICHT
from TEST1"/>
</input>
</operation>
</binding>
<service name="service">
<port name="port" binding="tns:binding">
<jdbc:address
xmlns:jdbc="
http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"
jndiName="jdbc/HysXeDS"/>
</port>
</service>
<plink:partnerLinkType
xmlns:plink="
http://docs.oasis-open.org/wsbpel/2.0/plnktype"
name="jdbcpartner">
<plink:role name="jdbcPortTypeRole" portType="tns:jdbcPortType"/>
</plink:partnerLinkType>
</definitions>
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified"
targetNamespace="
http://j2ee.netbeans.org/xsd/tableSchema"
xmlns="
http://j2ee.netbeans.org/xsd/tableSchema"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema">
<xsd:element name="TEST1" type="TEST1"></xsd:element>
<xsd:complexType name="TEST1">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" ref="record"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="record">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="OID" type="xsd:decimal"></xsd:element>
<xsd:element name="DTD_VERZOEK" type="xsd:string"
minOccurs="0"></xsd:element>
<xsd:element name="USR_DELETED" type="xsd:string"
minOccurs="0"></xsd:element>
<xsd:element name="USR_CREATED" type="xsd:string"
minOccurs="0"></xsd:element>
<xsd:element name="USR_CHANGED" type="xsd:string"
minOccurs="0"></xsd:element>
<xsd:element name="DTD_CREATED" type="xsd:string"
minOccurs="0"></xsd:element>
<xsd:element name="OID_JN" type="xsd:decimal"
minOccurs="0"></xsd:element>
<xsd:element name="DTD_CHANGED" type="xsd:string"
minOccurs="0"></xsd:element>
<xsd:element name="HAG_OID" type="xsd:decimal"
minOccurs="0"></xsd:element>
<xsd:element name="DTD_RESPONSE" type="xsd:string"
minOccurs="0"></xsd:element>
<xsd:element name="DTD_DELETED" type="xsd:string"
minOccurs="0"></xsd:element>
<xsd:element name="BERICHT" type="xsd:string"
minOccurs="0"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
[/code]