I wanted to use array as input to external web service.So I am using doXslTransform function.The function is working fine but I am getting following error.Can anybody tell me what is the issue?
DEBUG - GeronimoLog.debug(66) | Sending a message containing wsa endpoints in headers for session passing. 18:57:31,093 DEBUG [SessionOutHandler] Sending a message containing wsa endpoints in headers for session passing. DEBUG - GeronimoLog.debug(66) | <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><addr:To xmlns:addr="http://www.w3.org/2005/08/addressing">http://localhost:8080/ematrix/services/JpoCbpEngineeringCBPWorkflow</addr:To><addr:Action xmlns:addr="http://www.w3.org/2005/08/addressing"></addr:Action><addr:ReplyTo xmlns:addr="http://www.w3.org/2005/08/addressing"><addr:Address>http://www.w3.org/2005/08/addressing/anonymous</addr:Address></addr:ReplyTo><addr:MessageID xmlns:addr="http://www.w3.org/2005/08/addressing">uuid:hqejbhcnphr2qb8e2n55wl</addr:MessageID></soapenv:Header><soapenv:Body><axis2ns13:setAttribute xmlns:axis2ns13="http://engineering.cbp.jpo" xmlns:tns1="http://engineering.cbp.jpo"> <axis2ns13:in0 xmlns:ns1="http://client.engineering.cbp.jpo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">60000.336.34720.32346</axis2ns13:in0> <axis2ns13:in1><tns1:item>Instance ID</tns1:item><tns1:item>Process Instance ID</tns1:item></axis2ns13:in1> <axis2ns13:in2><tns1:item>50655</tns1:item><tns1:item>{http://eclipse.org/bpel/sample}ECRProcess-211</tns1:item></axis2ns13:in2> </axis2ns13:setAttribute></soapenv:Body></soapenv:Envelope> 18:57:31,093 DEBUG [SessionOutHandler] <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><addr:To xmlns:addr="http://www.w3.org/2005/08/addressing">http://localhost:8080/ematrix/services/JpoCbpEngineeringCBPWorkflow</addr:To><addr:Action xmlns:addr="http://www.w3.org/2005/08/addressing"></addr:Action><addr:ReplyTo xmlns:addr="http://www.w3.org/2005/08/addressing"><addr:Address>http://www.w3.org/2005/08/addressing/anonymous</addr:Address></addr:ReplyTo><addr:MessageID xmlns:addr="http://www.w3.org/2005/08/addressing">uuid:hqejbhcnphr2qb8e2n55wl</addr:MessageID></soapenv:Header><soapenv:Body><axis2ns13:setAttribute xmlns:axis2ns13="http://engineering.cbp.jpo" xmlns:tns1="http://engineering.cbp.jpo"> <axis2ns13:in0 xmlns:ns1="http://client.engineering.cbp.jpo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">60000.336.34720.32346</axis2ns13:in0> <axis2ns13:in1><tns1:item>Instance ID</tns1:item><tns1:item>Process Instance ID</tns1:item></axis2ns13:in1> <axis2ns13:in2><tns1:item>50655</tns1:item><tns1:item>{http://eclipse.org/bpel/sample}ECRProcess-211</tns1:item></axis2ns13:in2> </axis2ns13:setAttribute></soapenv:Body></soapenv:Envelope> ERROR - GeronimoLog.error(108) | Error sending message (mex={PartnerRoleMex#hqejbhcnphr2qb8e2n55wk [PID {http://eclipse.org/bpel/sample}ECRProcess-211] calling [EMAIL PROTECTED](...)}): org.xml.sax.SAXException: Invalid element in jpo.cbp.engineering.ArrayOfItems - item org.apache.axis2.AxisFault: org.xml.sax.SAXException: Invalid element in jpo.cbp.engineering.ArrayOfItems - item at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:486) at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:343) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) at org.apache.ode.axis2.ExternalService$1$1.call(ExternalService.java:150) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) 18:57:31,468 ERROR [ExternalService] Error sending message (mex={PartnerRoleMex#hqejbhcnphr2qb8e2n55wk [PID {http://eclipse.org/bpel/sample}ECRProcess-211] calling [EMAIL PROTECTED](...)}): org.xml.sax.SAXException: Invalid element in jpo.cbp.engineering.ArrayOfItems - item org.apache.axis2.AxisFault: org.xml.sax.SAXException: Invalid element in jpo.cbp.engineering.ArrayOfItems - item at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:486) at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:343) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) at org.apache.ode.axis2.ExternalService$1$1.call(ExternalService.java:150) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) DEBUG - GeronimoLog.trace(54) | Mex[hqejbhcnphr2qb8e2n55wk].setPortOp(...) 18:57:31,624 DEBUG [MessageExchangeImpl] Mex[hqejbhcnphr2qb8e2n55wk].setPortOp(...) DEBUG - GeronimoLog.debug(66) | replyWithFailure mex=hqejbhcnphr2qb8e2n55wk failureType=COMMUNICATION_ERROR description=Error sending message (mex={PartnerRoleMex#hqejbhcnphr2qb8e2n55wk [PID {http://eclipse.org/bpel/sample}ECRProcess-211] calling [EMAIL PROTECTED](...)}): org.xml.sax.SAXException: Invalid element in jpo.cbp.engineering.ArrayOfItems - item details=null 18:57:31,624 DEBUG [PartnerRoleMessageExchangeImpl] replyWithFailure mex=hqejbhcnphr2qb8e2n55wk failureType=COMMUNICATION_ERROR description=Error sending message (mex={PartnerRoleMex#hqejbhcnphr2qb8e2n55wk [PID {http://eclipse.org/bpel/sample}ECRProcess-211] calling [EMAIL PROTECTED](...)}): org.xml.sax.SAXException: Invalid element in jpo.cbp.engineering.ArrayOfItems - item details=null DEBUG - GeronimoLog.debug(66) | create work event for mex=hqejbhcnphr2qb8e2n55wk 18:57:31,624 DEBUG [PartnerRoleMessageExchangeImpl] create work event for mex=hqejbhcnphr2qb8e2n55wk ERROR - GeronimoLog.error(108) | Unexpected exception rolling back [EMAIL PROTECTED]; continuing with rollback javax.transaction.xa.XAException at org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:88) at org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:589) at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:266) at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:264) at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:180) at org.apache.ode.scheduler.simple.SimpleScheduler$1.call(SimpleScheduler.java:159) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Caused by: Unable to rollback at org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:113) at org.tranql.connector.AbstractManagedConnection$LocalTransactionImpl.rollback(AbstractManagedConnection.java:196) at org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:86) ... 10 more Caused by: SQL Exception: No current connection. at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.rollback(Unknown Source) at org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:111) ... 12 more 18:57:31,640 ERROR [Transaction] Unexpected exception rolling back [EMAIL PROTECTED]; continuing with rollback javax.transaction.xa.XAException at org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:88) at org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:589) at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:266) at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:264) at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:180) at org.apache.ode.scheduler.simple.SimpleScheduler$1.call(SimpleScheduler.java:159) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Caused by: Unable to rollback at org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:113) at org.tranql.connector.AbstractManagedConnection$LocalTransactionImpl.rollback(AbstractManagedConnection.java:196) at org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:86) ... 10 more Caused by: SQL Exception: No current connection. at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.rollback(Unknown Source) at org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:111) ... 12 more Following are my BPEL file code: <!-- Prepare input for setAttributes call for CBP Workflow --> <assign name="AssignInstanceInfoToSetAttribute" validate="no"> <!-- Set PID to in0 --> <copy> <from> <literal> <tns1:setAttribute> <tns1:in0/> <tns1:in1> <tns1:item/> <tns1:item/> </tns1:in1> <tns1:in2> <tns1:item/> <tns1:item/> </tns1:in2> </tns1:setAttribute> </literal> </from> <to>$CBPWorkflowPartnerLinkRequest.parameters</to> </copy> <!-- Set CBPWorkflowOID from CreateECRPartnerLinkResponse --> <copy> <from part="createBusReturn" variable="CreateECRPartnerLinkResponse"> </from> <to variable="CBPWorkflowOID"/> </copy> <copy> <from variable="CBPWorkflowOID" /> <to part="parameters" variable="CBPWorkflowPartnerLinkRequest"> <query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns1:in0]]></query> </to> </copy> <copy> <from><![CDATA[bpws:doXslTransform("HelloXslWorld.xsl", $CBPWorkflowPartnerLinkRequest.parameter,'middle', "Instance ID",'abc',"Process Instance ID")]]></from> <to part="parameters" variable="CBPWorkflowPartnerLinkRequest"> <query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns1:in1]]></query> </to> </copy> <!-- Set literal "Instance ID" --> <copy> <from part="instance-info" variable="getInstanceInfoOutput"> <query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/typ:iid]]></query> </from> <to variable="InstanceID"/> </copy> <!-- Set literal "Process Instance ID" --> <copy> <from part="instance-info" variable="getInstanceInfoOutput"> <query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/typ:pid]]></query> </from> <to variable="ProcessInstanceID"/> </copy> <copy> <from><![CDATA[bpws:doXslTransform("HelloXslWorld.xsl", $getInstanceInfoOutput.instance-info,'middle', $InstanceID,'abc',$ProcessInstanceID)]]></from> <to part="parameters" variable="CBPWorkflowPartnerLinkRequest"> <query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/tns1:in2[1]]]></query> </to> </copy> <copy> <from><![CDATA[concat("***********The CBPWorkflowPartnerLinkRequest.parameters are *******in1********", $CBPWorkflowPartnerLinkRequest.parameters/tns1:in1, "*******in2******** ", $CBPWorkflowPartnerLinkRequest.parameters/tns1:in2, "*******in0********", $CBPWorkflowPartnerLinkRequest.parameters/tns1:in0)]]></from> <to>$output.payload/tns:response</to> </copy> </assign> Following are my wsdl file code: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://client.engineering.cbp.jpo" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:impl="http://client.engineering.cbp.jpo" xmlns:intf="http://client.engineering.cbp.jpo" xmlns:tns1="http://engineering.cbp.jpo" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"> <!--WSDL created by Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT)--> <wsdl:types> <schema elementFormDefault="qualified" targetNamespace="http://engineering.cbp.jpo" xmlns="http://www.w3.org/2001/XMLSchema"> <complexType name="ArrayOfItems"> <sequence> <element maxOccurs="unbounded" name="item" type="xsd:string"/> </sequence> </complexType> <element name="setAttribute"> <complexType> <sequence> <element name="in0" type="xsd:string"/> <element maxOccurs="1" name="in1" type="tns1:ArrayOfItems" /> <element maxOccurs="1" name="in2" type="tns1:ArrayOfItems"/> </sequence> </complexType> </element> <element name="setAttributeResponse"> <complexType/> </element> <element name="getObjectID"> <complexType> <sequence> <element name="in0" type="xsd:string"/> <element name="in1" type="xsd:string"/> <element name="in2" type="xsd:string"/> <element name="in3" type="xsd:string"/> <element name="in4" type="xsd:string"/> </sequence> </complexType> </element> <element name="getObjectIDResponse"> <complexType> <sequence> <element name="getObjectIDReturn" type="xsd:string"/> </sequence> </complexType> </element> <element name="invokeProcess"> <complexType> <sequence> <element maxOccurs="unbounded" name="in0" type="xsd:string"/> </sequence> </complexType> </element> <element name="invokeProcessResponse"> <complexType> <sequence> <element name="invokeProcessReturn" type="xsd:string"/> </sequence> </complexType> </element> <element name="boPromoteDemote"> <complexType> <sequence> <element name="in0" type="xsd:string"/> <element name="in1" type="xsd:string"/> <element name="in2" type="xsd:string"/> <element name="in3" type="xsd:boolean"/> </sequence> </complexType> </element> <element name="boPromoteDemoteResponse"> <complexType> <sequence> <element name="boPromoteDemoteReturn" type="xsd:string"/> </sequence> </complexType> </element> </schema> </wsdl:types> <wsdl:message name="setAttributeResponse"> <wsdl:part element="tns1:setAttributeResponse" name="parameters"/> </wsdl:message> <wsdl:message name="invokeProcessRequest"> <wsdl:part element="tns1:invokeProcess" name="parameters"/> </wsdl:message> <wsdl:message name="boPromoteDemoteRequest"> <wsdl:part element="tns1:boPromoteDemote" name="parameters"/> </wsdl:message> <wsdl:message name="setAttributeRequest"> <wsdl:part element="tns1:setAttribute" name="parameters"/> </wsdl:message> <wsdl:message name="getObjectIDResponse"> <wsdl:part element="tns1:getObjectIDResponse" name="parameters"/> </wsdl:message> <wsdl:message name="boPromoteDemoteResponse"> <wsdl:part element="tns1:boPromoteDemoteResponse" name="parameters"/> </wsdl:message> <wsdl:message name="getObjectIDRequest"> <wsdl:part element="tns1:getObjectID" name="parameters"/> </wsdl:message> <wsdl:message name="invokeProcessResponse"> <wsdl:part element="tns1:invokeProcessResponse" name="parameters"/> </wsdl:message> <wsdl:portType name="CBPWorkflow"> <wsdl:operation name="setAttribute"> <wsdl:input message="impl:setAttributeRequest" name="setAttributeRequest"/> <wsdl:output message="impl:setAttributeResponse" name="setAttributeResponse"/> </wsdl:operation> <wsdl:operation name="getObjectID"> <wsdl:input message="impl:getObjectIDRequest" name="getObjectIDRequest"/> <wsdl:output message="impl:getObjectIDResponse" name="getObjectIDResponse"/> </wsdl:operation> <wsdl:operation name="invokeProcess"> <wsdl:input message="impl:invokeProcessRequest" name="invokeProcessRequest"/> <wsdl:output message="impl:invokeProcessResponse" name="invokeProcessResponse"/> </wsdl:operation> <wsdl:operation name="boPromoteDemote"> <wsdl:input message="impl:boPromoteDemoteRequest" name="boPromoteDemoteRequest"/> <wsdl:output message="impl:boPromoteDemoteResponse" name="boPromoteDemoteResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="JpoCbpEngineeringCBPWorkflowSoapBinding" type="impl:CBPWorkflow"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="setAttribute"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="setAttributeRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="setAttributeResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getObjectID"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getObjectIDRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="getObjectIDResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="invokeProcess"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="invokeProcessRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="invokeProcessResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="boPromoteDemote"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="boPromoteDemoteRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="boPromoteDemoteResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="CBPWorkflowService"> <wsdl:port binding="impl:JpoCbpEngineeringCBPWorkflowSoapBinding" name="JpoCbpEngineeringCBPWorkflow"> <wsdlsoap:address location="http://localhost:8080/ematrix/services/JpoCbpEngineeringCBPWorkflow"/> </wsdl:port> </wsdl:service> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Partner Link - Defines the role in the interaction of the service with external partner (in this case the Process) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <plnk:partnerLinkType name="CBPWorkflow"> <plnk:role name="me" portType="impl:CBPWorkflow" /> <plnk:role name="you" portType="impl:CBPWorkflow" /> </plnk:partnerLinkType> </wsdl:definitions> Thanks in advance. From Nilesh Rane -- View this message in context: http://www.nabble.com/calling-external-web-service-function-fails%2C-when-using-string-array-as-input-to-function.-tf4770975.html#a13647215 Sent from the Apache Ode User mailing list archive at Nabble.com.
