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.

Reply via email to