My Apache Ode component is using WSDL4J 1.5.2 (it comes by default), but I'm still getting this problem when I turn the log to debug.
I'm using the last snapshot version of Servicemix, which uses Wsdl4j 1.6.1. Should I change the jar included in Servicemix libs too ? Alex Boisvert wrote: > > Yes, this is a bug in newer versions of WSDL4J. The Operation.toString() > can throw an NullPointerException :( > > If you want to run in DEBUG, you can use WSDL4J 1.5.2, which is still our > default in Ode. > > alex > > > On 3/8/07, Manu Lopez <[EMAIL PROTECTED]> wrote: >> >> >> I have solved this problem switching from "DEBUG" to "INFO" the level of >> the >> org.apache.ode logger in the log4j.xml file. >> >> >> >> fergunet wrote: >> > >> > Hi all! >> > >> > I managed to deploy my own BPEL process with my own webservices in >> > Servicemix and Apache Ode... after an amazing odissey. >> > >> > I started using NetBeans and OpenESB, so I created the BPEL file with >> > NetBeans. And it worked ok. When I migrated to Ode I had to change a >> lot >> > of stuff (adding components, changing the schemas, the code, creating >> > manually SAs and SUs...) and now I'm closer to my final objective! >> Invoke >> > my process without errors! >> > >> > The BPEL process can invoke the services but I'm getting trouble with >> the >> > reply. I receive a NullPointerException. I've marked the interesting >> areas >> > in the log and the code beneath in bold >> > >> > Help me, Ode-User Kenobi; you're my only hope ;) >> > >> > Here is my BPEL: >> > >> > >> > <?xml version="1.0" encoding="UTF-8"?> >> > <process >> > name="Autentifica" >> > targetNamespace="http://enterprise.netbeans.org/bpel/Autentifica" >> > xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/" >> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" >> > >> xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/" >> > xmlns:wsdlNS="http://enterprise.netbeans.org/bpel/Autentifica" >> > xmlns:ns1="http://j2ee.netbeans.org/wsdl/Autentifica" >> > xmlns:ns2="http://webservices.intecna.es/" >> > >> expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"> >> > >> > <import namespace="http://j2ee.netbeans.org/wsdl/Autentifica" >> > location="Autentifica.wsdl" >> > importType="http://schemas.xmlsoap.org/wsdl/"/> >> > <import namespace="http://webservices.empresica.es/" >> > location="localhost_8080/GruposTrabajoWS/AuthenticationService.wsdl" >> > importType="http://schemas.xmlsoap.org/wsdl/"/> >> > >> > <partnerLinks> >> > <partnerLink name="Autentifica" >> > partnerLinkType="ns1:AutentificaPartner" >> > myRole="AutentificaPortTypeRole"/> >> > <partnerLink name="AuthenticationService" >> > partnerLinkType="ns2:AuthenticationLinkType" >> > partnerRole="AuthenticationRole"/> >> > </partnerLinks> >> > >> > <variables> >> > <variable name="GetGruposTrabajoTicketOut1" >> > messageType="ns2:getGruposTrabajoTicketResponse"/> >> > <variable name="GetGruposTrabajoTicketIn1" >> > messageType="ns2:getGruposTrabajoTicket"/> >> > <variable name="GetLiferayJSESSIONIDOut1" >> > messageType="ns2:getLiferayJSESSIONIDResponse"/> >> > <variable name="GetLiferayJSESSIONIDIn1" >> > messageType="ns2:getLiferayJSESSIONID"/> >> > <variable name="GetTicketOut1" >> > messageType="ns2:getTicketResponse"/> >> > <variable name="GetTicketIn1" messageType="ns2:getTicket"/> >> > <variable name="BadCredentials" >> > messageType="ns1:AutentificaOperationFault"/> >> > <variable name="AutentificaOperationOut1" >> > messageType="ns1:AutentificaOperationResponse"/> >> > <variable name="AutentificaOperationIn1" >> > messageType="ns1:AutentificaOperation"/> >> > </variables> >> > >> > <sequence name="Sequence1"> >> > <receive name="Receive1" createInstance="yes" >> > partnerLink="Autentifica" operation="AutentificaOperation" >> > portType="ns1:AutentificaPortType" variable="AutentificaOperationIn1"/> >> > <assign name="Autentificacion"> >> > >> > <!-- initialize--> >> > <copy> >> > <from> >> > <literal> >> > <ns2:parameters> >> > <ns2:username/> >> > <ns2:password/> >> > </ns2:parameters> >> > </literal> >> > </from> >> > <to>$GetTicketIn1.parameters</to> >> > </copy> >> > >> > <!-- initialize--> >> > <copy> >> > <from> >> > <literal> >> > <ns2:parameters> >> > <ns2:arg0/> >> > </ns2:parameters> >> > </literal> >> > </from> >> > <to>$GetLiferayJSESSIONIDIn1.parameters</to> >> > </copy> >> > >> > <!-- initialize--> >> > <copy> >> > <from> >> > <literal> >> > <ns2:parameters> >> > <ns2:ticketId/> >> > </ns2:parameters> >> > </literal> >> > </from> >> > <to>$GetGruposTrabajoTicketIn1.parameters</to> >> > </copy> >> > >> > <!-- initialize--> >> > <copy> >> > <from> >> > <literal> >> > <ns1:parameters> >> > <ns1:ticket/> >> > <ns1:cookieLiferay/> >> > </ns1:parameters> >> > </literal> >> > </from> >> > <to>$AutentificaOperationOut1.parameters</to> >> > </copy> >> > >> > <!-- initialize--> >> > <copy> >> > <from> >> > <literal> >> > <ns1:parameters> >> > <ns1:errorMsg/> >> > </ns1:parameters> >> > </literal> >> > </from> >> > <to>$BadCredentials.parameters</to> >> > </copy> >> > >> > <copy> >> > <!--<from variable="AutentificaOperationIn1" >> > part="user"/>--> >> > <from>$AutentificaOperationIn1.parameters/user</from> >> > <to>$GetTicketIn1.parameters/ns2:username</to> >> > </copy> >> > >> > <copy> >> > <!--<from variable="AutentificaOperationIn1" >> > part="pass"/>--> >> > <from>$AutentificaOperationIn1.parameters/pass</from> >> > <to>$GetTicketIn1.parameters/ns2:password</to> >> > </copy> >> > >> > </assign> >> > >> > <scope name="Scope3"> >> > <faultHandlers> >> > <catchAll> >> > <sequence name="Sequence4"> >> > <assign name="Assign5"> >> > <copy> >> > <from> >> > <literal>Permiso denegado. Usuario >> y/o >> > contraseña no válidos</literal> >> > </from> >> > <!--<to part="errorMsg" >> > variable="BadCredentials"/>--> >> > >> <to>$BadCredentials.parameters/ns1:errorMsg</to> >> > </copy> >> > </assign> >> > <throw name="Throw3" >> > faultName="ns1:AuthenticationFault" faultVariable="BadCredentials"/> >> > </sequence> >> > </catchAll> >> > </faultHandlers> >> > <invoke name="InvokeCASAuthentication" >> > partnerLink="AuthenticationService" operation="getTicket" >> > portType="ns2:Authentication" inputVariable="GetTicketIn1" >> > outputVariable="GetTicketOut1"/> >> > </scope> >> > <assign name="Assign2"> >> > <copy> >> > <from>$GetTicketOut1.parameters/ns2:out</from> >> > <to>$GetLiferayJSESSIONIDIn1.parameters/ns2:arg0</to> >> > </copy> >> > <!--<copy> >> > <from>$GetTicketOut1.parameters/ns2:out</from> >> > <to>$GetGruposTrabajoTicketIn1.parameters/ns2:arg0</to> >> > </copy>--> >> > <copy> >> > <from>$GetTicketOut1.parameters/ns2:out</from> >> > <!--<to variable="AutentificaOperationOut1" >> > part="ticket"/>--> >> > <to>$AutentificaOperationOut1.parameters/ns1:ticket</to> >> > </copy> >> > <copy> >> > <from>$GetTicketOut1.parameters/ns2:out</from> >> > >> > <to>$GetGruposTrabajoTicketIn1.parameters/ns2:ticketId</to> >> > </copy> >> > </assign> >> > <flow name="Flow1"> >> > <scope name="Scope1"> >> > <faultHandlers> >> > <catchAll> >> > <sequence name="Sequence2"> >> > <assign name="Assign3"> >> > <copy> >> > <from> >> > <literal>Se produjo una >> > excepción al autentificarse en Liferay</literal> >> > </from> >> > <!--<to part="errorMsg" >> > variable="BadCredentials"/>--> >> > >> <to>$BadCredentials.parameters/ns1:errorMsg</to> >> > </copy> >> > </assign> >> > <throw name="Throw1" >> > faultName="ns1:AuthenticationFault" faultVariable="BadCredentials"/> >> > </sequence> >> > </catchAll> >> > </faultHandlers> >> > <sequence name="Sequence5"> >> > <invoke name="InvokeLiferayAuthentication" >> > partnerLink="AuthenticationService" operation="getLiferayJSESSIONID" >> > portType="ns2:Authentication" inputVariable="GetLiferayJSESSIONIDIn1" >> > outputVariable="GetLiferayJSESSIONIDOut1"/> >> > <assign name="Assign6"> >> > <copy> >> > >> > <from>$GetLiferayJSESSIONIDOut1.parameters/ns2:out</from> >> > <!--<to >> > variable="AutentificaOperationOut1" part="cookieLiferay"/>--> >> > >> <to>$AutentificaOperationOut1.parameters/ns1:cookieLiferay</to> >> > </copy> >> > </assign> >> > </sequence> >> > </scope> >> > <scope name="Scope2"> >> > <faultHandlers> >> > <catchAll> >> > <sequence name="Sequence3"> >> > <assign name="Assign4"> >> > <copy> >> > <from> >> > <literal>Se produjo una >> > excepción al autentificarse en Grupos de Trabajo</literal> >> > </from> >> > <!--<to part="errorMsg" >> > variable="BadCredentials"/>--> >> > >> <to>$BadCredentials.parameters/ns1:errorMsg</to> >> > </copy> >> > </assign> >> > <throw name="Throw2" >> > faultName="ns1:AuthenticationFault" faultVariable="BadCredentials"/> >> > </sequence> >> > </catchAll> >> > </faultHandlers> >> > <invoke name="InvokeGruposTrabajoAuthentication" >> > partnerLink="AuthenticationService" operation="getGruposTrabajoTicket" >> > portType="ns2:Authentication" inputVariable="GetGruposTrabajoTicketIn1" >> > outputVariable="GetGruposTrabajoTicketOut1"/> >> > </scope> >> > </flow> >> > <reply name="Reply1" partnerLink="Autentifica" >> > operation="AutentificaOperation" portType="ns1:AutentificaPortType" >> > variable="AutentificaOperationOut1"/> >> > </sequence> >> > </process> >> > >> > >> > >> > >> > And here is the servicemix log: >> > STARTING LOG >> > 19:09:40,206 | DEBUG | pool-1-thread-1 | ASSIGN | >> > apache.ode.bpel.runtime.ASSIGN 406 | ASSIGN Writing variable >> > 'AutentificaOperationOut1' value '<?xml version="1.0" >> encoding="UTF-8"?> >> > <message><parameters><AutentificaOperationResponse >> > xmlns="http://j2ee.netbeans.org/wsdl/Autentifica" >> > xmlns:ns1="http://j2ee.netbeans.org/wsdl/Autentifica"> >> > >> > <ticket>eintegra-2-rh9sjfvyQX3pmfnWoVhheIgHeJRJ7XygPW6</ticket> >> > >> <cookieLiferay>6962F9D4DB468B1A1C88C1E87EE046EC</cookieLiferay> >> > >> > </AutentificaOperationResponse></parameters></message>' >> > 19:09:40,338 | ERROR | pool-1-thread-1 | JacobVPU | >> > b.vpu.JacobVPU$JacobThreadImpl 463 | Method "run" in class >> > "org.apache.ode.bpel.runtime.REPLY" threw an unexpected exception. >> > java.lang.NullPointerException >> > at com.ibm.wsdl.PartImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuffer.append(StringBuffer.java:220) >> > at com.ibm.wsdl.MessageImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuffer.append(StringBuffer.java:220) >> > at com.ibm.wsdl.InputImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuffer.append(StringBuffer.java:220) >> > at com.ibm.wsdl.OperationImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuilder.append(StringBuilder.java:116) >> > at org.apache.ode.bpel.runtime.REPLY.run(REPLY.java:45) >> > at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) >> > at >> > sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:25) >> > at java.lang.reflect.Method.invoke(Method.java:585) >> > at >> > >> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451) >> > at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139) >> > at >> > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute( >> BpelRuntimeContextImpl.java:805) >> > at >> > org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java >> :310) >> > at >> > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob( >> BpelEngineImpl.java:311) >> > at >> > org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob( >> BpelServerImpl.java:386) >> > at >> > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.doExecute( >> QuartzSchedulerImpl.java:348) >> > at >> > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.execute( >> QuartzSchedulerImpl.java:364) >> > at org.apache.ode.bpel.scheduler.quartz.JobImpl.execute( >> JobImpl.java:32) >> > at org.quartz.core.JobRunShell.run(JobRunShell.java:203) >> > 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) >> > 19:09:40,339 | ERROR | pool-1-thread-1 | BpelEngineImpl | >> > ode.bpel.engine.BpelEngineImpl 320 | Scheduled job failed; >> > [EMAIL PROTECTED] >> > java.lang.RuntimeException: java.lang.NullPointerException >> > at >> > >> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464) >> > at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139) >> > at >> > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute( >> BpelRuntimeContextImpl.java:805) >> > at >> > org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java >> :310) >> > at >> > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob( >> BpelEngineImpl.java:311) >> > at >> > org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob( >> BpelServerImpl.java:386) >> > at >> > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.doExecute( >> QuartzSchedulerImpl.java:348) >> > at >> > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.execute( >> QuartzSchedulerImpl.java:364) >> > at org.apache.ode.bpel.scheduler.quartz.JobImpl.execute( >> JobImpl.java:32) >> > at org.quartz.core.JobRunShell.run(JobRunShell.java:203) >> > 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: java.lang.NullPointerException >> > at com.ibm.wsdl.PartImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuffer.append(StringBuffer.java:220) >> > at com.ibm.wsdl.MessageImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuffer.append(StringBuffer.java:220) >> > at com.ibm.wsdl.InputImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuffer.append(StringBuffer.java:220) >> > at com.ibm.wsdl.OperationImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuilder.append(StringBuilder.java:116) >> > at org.apache.ode.bpel.runtime.REPLY.run(REPLY.java:45) >> > at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) >> > at >> > sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:25) >> > at java.lang.reflect.Method.invoke(Method.java:585) >> > at >> > >> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451) >> > ... 12 more >> > 19:09:40,341 | INFO | pool-1-thread-1 | JobRunShell | >> > org.quartz.core.JobRunShell 208 | Job >> DEFAULT.hqejbhcnphr23e2stjn1b9 >> > threw a JobExecutionException: >> > org.quartz.JobExecutionException: >> > org.apache.ode.bpel.iapi.Scheduler$JobProcessorException: >> > java.lang.RuntimeException: java.lang.NullPointerException [See nested >> > exception: org.apache.ode.bpel.iapi.Scheduler$JobProcessorException: >> > java.lang.RuntimeException: java.lang.NullPointerException] >> > at >> > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.doExecute( >> QuartzSchedulerImpl.java:350) >> > at >> > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.execute( >> QuartzSchedulerImpl.java:364) >> > at org.apache.ode.bpel.scheduler.quartz.JobImpl.execute( >> JobImpl.java:32) >> > at org.quartz.core.JobRunShell.run(JobRunShell.java:203) >> > 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) >> > * Nested Exception (Underlying Cause) --------------- >> > org.apache.ode.bpel.iapi.Scheduler$JobProcessorException: >> > java.lang.RuntimeException: java.lang.NullPointerException >> > at >> > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob( >> BpelEngineImpl.java:321) >> > at >> > org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob( >> BpelServerImpl.java:386) >> > at >> > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.doExecute( >> QuartzSchedulerImpl.java:348) >> > at >> > org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.execute( >> QuartzSchedulerImpl.java:364) >> > at org.apache.ode.bpel.scheduler.quartz.JobImpl.execute( >> JobImpl.java:32) >> > at org.quartz.core.JobRunShell.run(JobRunShell.java:203) >> > 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: java.lang.RuntimeException: java.lang.NullPointerException >> > at >> > >> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464) >> > at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139) >> > at >> > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute( >> BpelRuntimeContextImpl.java:805) >> > at >> > org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java >> :310) >> > at >> > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob( >> BpelEngineImpl.java:311) >> > ... 8 more >> > Caused by: java.lang.NullPointerException >> > at com.ibm.wsdl.PartImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuffer.append(StringBuffer.java:220) >> > at com.ibm.wsdl.MessageImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuffer.append(StringBuffer.java:220) >> > at com.ibm.wsdl.InputImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuffer.append(StringBuffer.java:220) >> > at com.ibm.wsdl.OperationImpl.toString(Unknown Source) >> > at java.lang.String.valueOf(String.java:2615) >> > at java.lang.StringBuilder.append(StringBuilder.java:116) >> > at org.apache.ode.bpel.runtime.REPLY.run(REPLY.java:45) >> > at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) >> > at >> > sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:25) >> > at java.lang.reflect.Method.invoke(Method.java:585) >> > at >> > >> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451) >> > ... 12 more >> > 19:09:40,342 | DEBUG | pool-1-thread-1 | JTAJobRunShell | >> > cheduler.quartz.JTAJobRunShell 113 | Rollbacking transaction. >> > END LOG >> > >> > >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/The-Final-Step%21-%28Problem-with-the-Reply-of-a-BPEL%29-tf3366488.html#a9374151 >> Sent from the Apache Ode User mailing list archive at Nabble.com. >> >> > > -- View this message in context: http://www.nabble.com/The-Final-Step%21-%28Problem-with-the-Reply-of-a-BPEL%29-tf3366488.html#a9671150 Sent from the Apache Ode User mailing list archive at Nabble.com.
