Please help, its urgent (BPEL involving call to a service in
ram_kumar Jul 10, 2007 7:06 AMHi,
I get the following error when one webservice residing in the service mix called by another one which is a bpel application.
16:18:41,869 ERROR [StartListener] could not start process instance org.jbpm.graph.def.DelegationException at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:367) at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:358) at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:358) at sun.reflect.GeneratedMethodAccessor98.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) at org.jbpm.bpel.graph.def.CompositeActivity$$EnhancerByCGLIB$$6b1056f4.raiseException(<generated>) at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:358) at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:358) at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:110) at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$4e41da69.enter(<generated>) at org.jbpm.graph.def.Transition.take(Transition.java:151) at org.jbpm.graph.def.Node.leave(Node.java:393) at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:184) at org.jbpm.bpel.graph.basic.Assign.execute(Assign.java:55) at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:105) at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$4e41da69.enter(<generated>) at org.jbpm.graph.def.Transition.take(Transition.java:151) at org.jbpm.graph.def.Node.leave(Node.java:393) at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:184) at org.jbpm.bpel.graph.basic.Invoke.execute(Invoke.java:47) at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:105) at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$4e41da69.enter(<generated>) at org.jbpm.graph.def.Transition.take(Transition.java:151) at org.jbpm.graph.def.Node.leave(Node.java:393) at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:184) at org.jbpm.bpel.graph.basic.Assign.execute(Assign.java:55) at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:105) at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$4e41da69.enter(<generated>) at org.jbpm.graph.def.Transition.take(Transition.java:151) at org.jbpm.graph.def.Node.leave(Node.java:393) 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:585) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) at org.jbpm.bpel.graph.struct.StructuredActivity$Begin$$EnhancerByCGLIB$$8749bd97.leave(<generated>) at org.jbpm.bpel.graph.struct.StructuredActivity.execute(StructuredActivity.java:58) at org.jbpm.bpel.graph.struct.StructuredActivity$Begin.leave(StructuredActivity.java:222) at org.jbpm.graph.def.Node.execute(Node.java:349) at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:105) 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:585) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) at org.jbpm.bpel.graph.struct.StructuredActivity$Begin$$EnhancerByCGLIB$$8749bd97.enter(<generated>) at org.jbpm.graph.def.Transition.take(Transition.java:151) at org.jbpm.graph.def.Node.leave(Node.java:393) at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:184) at org.jbpm.bpel.graph.struct.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:66) at org.jbpm.bpel.graph.basic.Receive.accept(Receive.java:81) 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:585) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) at org.jbpm.bpel.graph.basic.Receive$$EnhancerByCGLIB$$7b6128d6.accept(<generated>) at org.jbpm.bpel.graph.struct.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:100) at org.jbpm.bpel.graph.struct.Sequence.accept(Sequence.java:104) 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:585) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) at org.jbpm.bpel.graph.def.Activity$$EnhancerByCGLIB$$87daeca1.accept(<generated>) at org.jbpm.bpel.graph.struct.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:54) at org.jbpm.bpel.graph.def.BpelDefinition.messageReceived(BpelDefinition.java:111) at org.jbpm.bpel.integration.jms.StartListener.onMessage(StartListener.java:124) at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:696) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.NullPointerException at org.jbpm.bpel.integration.client.SoapClient.writeDocumentPart(SoapClient.java:304) at org.jbpm.bpel.integration.client.SoapClient.writeDocumentBody(SoapClient.java:276) at org.jbpm.bpel.integration.client.SoapClient.writeMessage(SoapClient.java:196) at org.jbpm.bpel.integration.client.SoapClient.callImpl(SoapClient.java:143) at org.jbpm.bpel.integration.client.SoapClient.call(SoapClient.java:111) at org.jbpm.bpel.integration.jms.JmsIntegrationService.invoke(JmsIntegrationService.java:242) at org.jbpm.bpel.graph.basic.Invoke.execute(Invoke.java:46) at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:105) ... 77 more
The first service calls another ordinary service (fileread) and also another service (ftpinput) which is in service mix.
The bpel file is given below.
<?xml version="1.0" encoding="UTF-8"?> <process name="BatchProductBusiness" targetNamespace="http://blwb.abc.com/getGlobalService" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:tns="http://blwb.abc.com/getGlobalService" xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/ws/2003/03/business-process/ http://schemas.xmlsoap.org/ws/2003/03/business-process/"> <partnerLinks> <!-- establishes the relationship with the caller agent --> <partnerLink name="caller" partnerLinkType="tns:BatchProduct-Caller" myRole="BatchProduct" /> <partnerLink name="fileread" partnerLinkType="tns:filereadLT" partnerRole="FileRead" /> <partnerLink name="ftpinput" partnerLinkType="tns:ftpinputLT" partnerRole="FetchService" /> </partnerLinks> <variables> <!-- holds the incoming message --> <variable name="request" messageType="tns:nameMessage" /> <!-- holds the outgoing message --> <variable name="response" messageType="tns:greetingMessage" /> <variable name="getDunsDocumentRequest" messageType="tns:fileReadRequestMessage" /> <variable name="getDunsDocumentResponse" messageType="tns:fileReadResponseMessage" /> <variable name="getFileRequest" messageType="tns:ftpinputRequestMessage" /> <variable name="getFileResponse" messageType="tns:ftpinputResponseMessage" /> <variable name="POFault" messageType="tns:orderFaultType" /> </variables> <faultHandlers> <catch faultName="tns:cannotCompleteOrder" faultVariable="POFault"> <reply partnerLink="caller" portType="tns:BatchProduct" operation="sayHello" variable="POFault" faultName="cannotCompleteOrder" /> </catch> </faultHandlers> <sequence> <!-- receive the name of a person --> <receive operation="sayHello" partnerLink="caller" portType="tns:BatchProduct" variable="request" createInstance="yes" /> <sequence> <assign> <copy> <from variable="request" part="name" /> <to variable="getDunsDocumentRequest" part="getDunsDocumentRequest" /> </copy> </assign> <invoke partnerLink="fileread" portType="tns:FileRead" operation="getDunsDocument" inputVariable="getDunsDocumentRequest" outputVariable="getDunsDocumentResponse"> </invoke> <assign> <copy> <from variable="getDunsDocumentResponse" part="getDunsDocumentResponse" /> <to variable="getFileRequest" part="getFileRequest" /> </copy> </assign> <invoke partnerLink="ftpinput" portType="tns:FTPInputPortType" operation="getFile" inputVariable="getFileRequest" outputVariable="getFileResponse"> </invoke> <assign> <copy> <from variable="getFileResponse" part="getFileResponse" /> <to variable="response" part="greeting" /> </copy> </assign> </sequence> <!-- reply with the greeting --> <reply operation="sayHello" partnerLink="caller" portType="tns:BatchProduct" variable="response" /> </sequence> </process>
The wsdl file is given below.
<?xml version="1.0" encoding="UTF-8"?> <definitions targetNamespace="http://blwb.abc.com/getGlobalService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:pos="http://blwb.abc.com/getGlobalService" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/ws/2003/05/partner-link/ http://schemas.xmlsoap.org/ws/2003/05/partner-link/"> <!-- characterizes the relationship between the greeter and its caller --> <plt:partnerLinkType name="BatchProduct-Caller"> <plt:role name="BatchProduct"> <plt:portType name="pos:BatchProduct" /> </plt:role> <!-- the Caller does not provide services to the BatchProduct, this is why we omit the "Caller" role --> </plt:partnerLinkType> <plt:partnerLinkType name="filereadLT"> <plt:role name="FileRead"> <plt:portType name="pos:FileRead" /> </plt:role> </plt:partnerLinkType> <plt:partnerLinkType name="ftpinputLT"> <plt:role name="FetchService"> <plt:portType name="pos:FTPInputPortType" /> </plt:role> </plt:partnerLinkType> <types> <xsd:schema> <xsd:import namespace="http://blwb.abc.com/getGlobalService" schemaLocation="bestlinkage.xsd" /> </xsd:schema> </types> <!-- carries the name of a person --> <message name="nameMessage"> <part name="name" type="xsd:string" /> </message> <!-- carries the greeting --> <message name="greetingMessage"> <part name="greeting" type="xsd:string" /> </message> <message name="fileReadRequestMessage"> <part name="getDunsDocumentRequest" type="xsd:string" /> </message> <message name="fileReadResponseMessage"> <part name="getDunsDocumentResponse" type="xsd:string" /> </message> <message name="ftpinputRequestMessage"> <part name="getFileRequest" type="xsd:string" /> </message> <message name="ftpinputResponseMessage"> <part name="getFileResponse" type="xsd:string" /> </message> <message name="orderFaultType"> <part name="problemInfo" element="pos:problemInfo" /> </message> <!-- describes the interface presented to callers --> <portType name="BatchProduct"> <operation name="sayHello"> <input message="pos:nameMessage" /> <output message="pos:greetingMessage" /> <fault name="cannotCompleteOrder" message="pos:orderFaultType" /> </operation> </portType> <portType name="FileRead"> <operation name="getDunsDocument"> <input message="pos:fileReadRequestMessage" /> <output message="pos:fileReadResponseMessage" /> </operation> </portType> <portType name="FTPInputPortType"> <operation name="getFile"> <input message="pos:ftpinputRequestMessage" /> <output message="pos:ftpinputResponseMessage" /> </operation> </portType> </definitions>
The bpel-Application.xml is given below.
<?xml version="1.0" encoding="UTF-8"?> <bpelApplication name="BatchProductBusiness" xmlns="http://jbpm.org/bpel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jbpm.org/bpel http://jbpm.org/bpel/bpel_application_1_0.xsd" > <serviceCatalogs> <!-- listing of locally published WSDL documents --> <urlCatalog contextUrl="http://localhost:8080/"> <!-- published WSDL document of fileread service --> <wsdl location="fileread/fileread?wsdl"/> </urlCatalog> <urlCatalog contextUrl="http://localhost:8080/"> <!-- published WSDL document of ftpinput service --> <wsdl location="esb/jbi/ftpinservice/main.wsdl"/> </urlCatalog> </serviceCatalogs> </bpelApplication>
Please write to me where I am making the mistake ?
Thanks in advance,
Regards,
-veena-