11 Replies Latest reply on Jan 10, 2007 4:37 AM by bertrand.njiipwo

    invoke called, but our invoker is disconnected

      Hello @all,


      first all my Best wishes for 2007!.

      First sorry because i don't know if this thread belongs to this forum.

      I was facing the probem on invoking a web service deployed on axis 1.1.
      I could partially solve (I'll post the solution in this thread later http://www.jboss.com/index.html?module=bb&op=viewtopic&t=97346 ).

      Now i can invoke the deployed web service and it generates the expected output. The problem will be now to feedback the response to the running BPEL process in the PortConsumer - PortProvider Relation. because the effectiv call was routed to a non ws4ee-web-service (runnning axis service) some informations are losed at that time.

      My opinion is that i'll need to reinit a PortProvider object with the response of generated by the service call.

      I'll appreciate any suggestion to solve the following error i'm getting after the invoke operation:


      2007-01-02 15:46:34,822 DEBUG [org.hibernate.loader.Loader] done entity load
      2007-01-02 15:46:34,822 DEBUG [org.jbpm.bpel.relation.jms.RelationContext] initialized partner reference: instance=org.jbpm.bpel.service.exe.PartnerLinkInstance@1620d92[name=SchufaLink,id=0], reference=org.jbpm.bpel.service.exe.wsa.WsaEndpointReference@1110f31[address=http://localhost:8081/creditprocess/schufa,portType={urn:samples:schufa}SchufaWS,service={urn:samples:schufa}SchufaWSService]
      2007-01-02 15:46:34,992 DEBUG [org.jboss.ws.server.ServiceEndpoint] WSDL request, using host: milaine
      2007-01-02 15:46:35,032 DEBUG [org.jboss.ws.server.WSDLRequestHandler] Mapping import from 'schufa.wsdl' to 'http://milaine:8080/schufa/schufaWS?wsdl&resource=schufa.wsdl'
      2007-01-02 15:46:35,032 DEBUG [org.jboss.ws.server.WSDLRequestHandler] Mapping address from 'http://milaine:8080/schufa/schufaWS' to 'http://milaine:8080/schufa/schufaWS'
      2007-01-02 15:46:35,112 DEBUG [org.jboss.ws.server.ServiceEndpoint] WSDL request, using host: milaine
      2007-01-02 15:46:35,162 DEBUG [org.jbpm.bpel.relation.jms.RelationContext] selected partner port: instance=org.jbpm.bpel.service.exe.PartnerLinkInstance@1620d92[name=SchufaLink,id=0], port=SchufaPort
      2007-01-02 15:46:35,182 INFO [STDOUT] PortConsumer: AddresseLocation configure to: http://milaine:8080/schufa/schufaWS
      2007-01-02 15:46:35,182 INFO [STDOUT] PortConsumer: Swapping URL-Address to :http://127.0.0.1:8081/creditprocess/schufa

      2007-01-02 15:46:35,182 DEBUG [org.hibernate.impl.SessionImpl] initializing proxy: [org.jbpm.bpel.wsdl.impl.OperationImpl#62]
      2007-01-02 15:46:35,182 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache lookup: org.jbpm.bpel.wsdl.impl.OperationImpl#62
      2007-01-02 15:46:35,182 DEBUG [org.hibernate.cache.EhCache] key: org.jbpm.bpel.wsdl.impl.OperationImpl#62
      2007-01-02 15:46:35,182 DEBUG [org.hibernate.cache.EhCache] Element for org.jbpm.bpel.wsdl.impl.OperationImpl#62 is null
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache miss
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.loader.Loader] loading entity: [org.jbpm.bpel.wsdl.impl.OperationImpl#62]
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.SQL] select operationi0_.id as id60_0_, operationi0_.NAME_ as NAME2_60_0_, operationi0_.STYLE_ as STYLE3_60_0_, operationi0_.INPUT_ as INPUT4_60_0_, operationi0_.OUTPUT_ as OUTPUT5_60_0_ from WSDL_OPERATION operationi0_ where operationi0_.id=?
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.loader.Loader] result row: EntityKey[org.jbpm.bpel.wsdl.impl.OperationImpl#62]
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.engine.TwoPhaseLoad] resolving associations for [org.jbpm.bpel.wsdl.impl.OperationImpl#62]
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.engine.TwoPhaseLoad] adding entity to second-level cache: [org.jbpm.bpel.wsdl.impl.OperationImpl#62]
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Caching: org.jbpm.bpel.wsdl.impl.OperationImpl#62
      2007-01-02 15:46:35,192 DEBUG [net.sf.ehcache.Cache] org.jbpm.bpel.wsdl.impl.OperationImpl: Is element with key org.jbpm.bpel.wsdl.impl.OperationImpl#61 expired?: false
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.engine.TwoPhaseLoad] done materializing entity [org.jbpm.bpel.wsdl.impl.OperationImpl#62]
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
      2007-01-02 15:46:35,192 DEBUG [org.hibernate.loader.Loader] done entity load
      2007-01-02 15:46:35,192 DEBUG [org.jbpm.bpel.relation.jms.JmsRelationService] invoking: partnerLink=43, operation=validCustomer, input={_surname=[_surname: null], _firstname=[_firstname: null]}
      2007-01-02 15:46:35,223 INFO [STDOUT] PortConsumer: Builded SOAPMessage: org.jboss.ws.soap.SOAPMessageImpl@5e305f
      2007-01-02 15:46:35,383 DEBUG [org.jboss.ws.soap.SOAPConnectionImpl] Get locator for: http://127.0.0.1:8081/creditprocess/schufa
      2007-01-02 15:46:35,673 DEBUG [org.jboss.remoting.Client] invoke called, but our invoker is disconnected, discarding and fetching another fresh invoker for: InvokerLocator [http://127.0.0.1:8081/creditprocess/schufa]
      2007-01-02 15:46:35,683 DEBUG [org.jboss.remoting.transport.http.HTTPClientInvoker] connect called for: org.jboss.remoting.transport.http.HTTPClientInvoker@142db11
      2007-01-02 15:46:35,683 DEBUG [org.jboss.remoting.transport.http.HTTPClientInvoker] Setting request header with SOAPAction : "urn:samples:schufa:validCustomer"
      2007-01-02 15:46:35,683 DEBUG [org.jboss.remoting.transport.http.HTTPClientInvoker] Setting request header with Content-Type : text/xml; charset=UTF-8
      2007-01-02 15:46:59,007 INFO [STDOUT]

      ================================================
      2007-01-02 15:46:59,027 INFO [STDOUT] Schufa web service : Start method validCustomer
      2007-01-02 15:46:59,147 INFO [STDOUT] Schufa web service : End method validCustomer
      2007-01-02 15:46:59,147 INFO [STDOUT] ==============================================

      2007-01-02 15:46:59,437 DEBUG [org.jboss.ws.binding.soap.SOAPMessageUnMarshaller] getMimeHeaders from: {Content-Length=[399], X-Powered-By=[Servlet 2.4; JBoss-4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)/Tomcat-5.5], ResponseCodeMessage=OK, null=[HTTP/1.1 200 OK], Date=[Tue, 02 Jan 2007 14:46:59 GMT], Content-Type=[text/xml;charset=utf-8], Server=[Apache-Coyote/1.1], HEADER={SOAPAction="urn:samples:schufa:validCustomer", Content-Type=text/xml; charset=UTF-8}, ResponseCode=200}
      2007-01-02 15:46:59,768 DEBUG [org.jboss.ws.soap.MessageFactoryImpl] createMessage: [contentType=text/xml; charset=utf-8]
      2007-01-02 15:46:59,788 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache lookup: org.jbpm.graph.def.Node.exceptionHandlers#341
      2007-01-02 15:46:59,788 DEBUG [org.hibernate.cache.EhCache] key: org.jbpm.graph.def.Node.exceptionHandlers#341
      2007-01-02 15:46:59,788 DEBUG [org.hibernate.cache.EhCache] Element for org.jbpm.graph.def.Node.exceptionHandlers#341 is null
      2007-01-02 15:46:59,788 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache miss
      2007-01-02 15:46:59,788 DEBUG [org.hibernate.loader.Loader] loading collection: [org.jbpm.graph.def.Node.exceptionHandlers#341]
      2007-01-02 15:46:59,788 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
      2007-01-02 15:46:59,788 DEBUG [org.hibernate.SQL] select exceptionh0_.NODE_ as NODE9_1_, exceptionh0_.ID_ as ID1_1_, exceptionh0_.GRAPHELEMENTINDEX_ as GRAPHELE6_1_, exceptionh0_.ID_ as ID1_3_0_, exceptionh0_.EXCEPTIONCLASSNAME_ as EXCEPTIO2_3_0_, exceptionh0_.TYPE_ as TYPE3_3_0_, exceptionh0_.GRAPHELEMENT_ as GRAPHELE4_3_0_ from JBPM_EXCEPTIONHANDLER exceptionh0_ where exceptionh0_.NODE_=?
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.loader.Loader] result set contains (possibly empty) collection: [org.jbpm.graph.def.Node.exceptionHandlers#341]
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections were found in result set for role: org.jbpm.graph.def.Node.exceptionHandlers
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.engine.CollectionLoadContext] Caching collection: [org.jbpm.graph.def.Node.exceptionHandlers#341]
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Caching: org.jbpm.graph.def.Node.exceptionHandlers#341
      2007-01-02 15:46:59,818 DEBUG [net.sf.ehcache.Cache] org.jbpm.graph.def.Node.exceptionHandlers: Is element with key org.jbpm.graph.def.Node.exceptionHandlers#341 expired?: false
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.engine.CollectionLoadContext] collection fully initialized: [org.jbpm.graph.def.Node.exceptionHandlers#341]
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections initialized for role: org.jbpm.graph.def.Node.exceptionHandlers
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.loader.Loader] done loading collection
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache lookup: org.jbpm.graph.def.Node.exceptionHandlers#336
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.cache.EhCache] key: org.jbpm.graph.def.Node.exceptionHandlers#336
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.cache.EhCache] Element for org.jbpm.graph.def.Node.exceptionHandlers#336 is null
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache miss
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.loader.Loader] loading collection: [org.jbpm.graph.def.Node.exceptionHandlers#336]
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
      2007-01-02 15:46:59,818 DEBUG [org.hibernate.SQL] select exceptionh0_.NODE_ as NODE9_1_, exceptionh0_.ID_ as ID1_1_, exceptionh0_.GRAPHELEMENTINDEX_ as GRAPHELE6_1_, exceptionh0_.ID_ as ID1_3_0_, exceptionh0_.EXCEPTIONCLASSNAME_ as EXCEPTIO2_3_0_, exceptionh0_.TYPE_ as TYPE3_3_0_, exceptionh0_.GRAPHELEMENT_ as GRAPHELE4_3_0_ from JBPM_EXCEPTIONHANDLER exceptionh0_ where exceptionh0_.NODE_=?
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.loader.Loader] result set contains (possibly empty) collection: [org.jbpm.graph.def.Node.exceptionHandlers#336]
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections were found in result set for role: org.jbpm.graph.def.Node.exceptionHandlers
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.engine.CollectionLoadContext] Caching collection: [org.jbpm.graph.def.Node.exceptionHandlers#336]
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Caching: org.jbpm.graph.def.Node.exceptionHandlers#336
      2007-01-02 15:46:59,828 DEBUG [net.sf.ehcache.Cache] org.jbpm.graph.def.Node.exceptionHandlers: Is element with key org.jbpm.graph.def.Node.exceptionHandlers#341 expired?: false
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.engine.CollectionLoadContext] collection fully initialized: [org.jbpm.graph.def.Node.exceptionHandlers#336]
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections initialized for role: org.jbpm.graph.def.Node.exceptionHandlers
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.loader.Loader] done loading collection
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache lookup: org.jbpm.graph.def.Node.exceptionHandlers#335
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.cache.EhCache] key: org.jbpm.graph.def.Node.exceptionHandlers#335
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.cache.EhCache] Element for org.jbpm.graph.def.Node.exceptionHandlers#335 is null
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache miss
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.loader.Loader] loading collection: [org.jbpm.graph.def.Node.exceptionHandlers#335]
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.SQL] select exceptionh0_.NODE_ as NODE9_1_, exceptionh0_.ID_ as ID1_1_, exceptionh0_.GRAPHELEMENTINDEX_ as GRAPHELE6_1_, exceptionh0_.ID_ as ID1_3_0_, exceptionh0_.EXCEPTIONCLASSNAME_ as EXCEPTIO2_3_0_, exceptionh0_.TYPE_ as TYPE3_3_0_, exceptionh0_.GRAPHELEMENT_ as GRAPHELE4_3_0_ from JBPM_EXCEPTIONHANDLER exceptionh0_ where exceptionh0_.NODE_=?
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
      2007-01-02 15:46:59,828 DEBUG [org.hibernate.loader.Loader] result set contains (possibly empty) collection: [org.jbpm.graph.def.Node.exceptionHandlers#335]
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.loader.Loader] result row: EntityKey[org.jbpm.graph.def.ExceptionHandler#25]
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.loader.Loader] found row of collection: [org.jbpm.graph.def.Node.exceptionHandlers#335]
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.engine.TwoPhaseLoad] resolving associations for [org.jbpm.graph.def.ExceptionHandler#25]
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.engine.TwoPhaseLoad] adding entity to second-level cache: [org.jbpm.graph.def.ExceptionHandler#25]
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Caching: org.jbpm.graph.def.ExceptionHandler#25
      2007-01-02 15:46:59,838 DEBUG [net.sf.ehcache.Cache] org.jbpm.graph.def.ExceptionHandler: Is element with key org.jbpm.graph.def.ExceptionHandler#25 expired?: false
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.engine.TwoPhaseLoad] done materializing entity [org.jbpm.graph.def.ExceptionHandler#25]
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections were found in result set for role: org.jbpm.graph.def.Node.exceptionHandlers
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.engine.CollectionLoadContext] Caching collection: [org.jbpm.graph.def.Node.exceptionHandlers#335]
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Caching: org.jbpm.graph.def.Node.exceptionHandlers#335
      2007-01-02 15:46:59,838 DEBUG [net.sf.ehcache.Cache] org.jbpm.graph.def.Node.exceptionHandlers: Is element with key org.jbpm.graph.def.Node.exceptionHandlers#341 expired?: false
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.engine.CollectionLoadContext] collection fully initialized: [org.jbpm.graph.def.Node.exceptionHandlers#335]
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections initialized for role: org.jbpm.graph.def.Node.exceptionHandlers
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.loader.Loader] done loading collection
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache lookup: org.jbpm.graph.def.ProcessDefinition.exceptionHandlers#21
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.cache.EhCache] key: org.jbpm.graph.def.ProcessDefinition.exceptionHandlers#21
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.cache.EhCache] Element for org.jbpm.graph.def.ProcessDefinition.exceptionHandlers#21 is null
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache miss
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.loader.Loader] loading collection: [org.jbpm.graph.def.ProcessDefinition.exceptionHandlers#21]
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
      2007-01-02 15:46:59,838 DEBUG [org.hibernate.SQL] select exceptionh0_.PROCESSDEFINITION_ as PROCESSD8_1_, exceptionh0_.ID_ as ID1_1_, exceptionh0_.GRAPHELEMENTINDEX_ as GRAPHELE6_1_, exceptionh0_.ID_ as ID1_3_0_, exceptionh0_.EXCEPTIONCLASSNAME_ as EXCEPTIO2_3_0_, exceptionh0_.TYPE_ as TYPE3_3_0_, exceptionh0_.GRAPHELEMENT_ as GRAPHELE4_3_0_ from JBPM_EXCEPTIONHANDLER exceptionh0_ where exceptionh0_.PROCESSDEFINITION_=?
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.loader.Loader] result set contains (possibly empty) collection: [org.jbpm.graph.def.ProcessDefinition.exceptionHandlers#21]
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections were found in result set for role: org.jbpm.graph.def.ProcessDefinition.exceptionHandlers
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.engine.CollectionLoadContext] Caching collection: [org.jbpm.graph.def.ProcessDefinition.exceptionHandlers#21]
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Caching: org.jbpm.graph.def.ProcessDefinition.exceptionHandlers#21
      2007-01-02 15:46:59,848 DEBUG [net.sf.ehcache.Cache] org.jbpm.graph.def.ProcessDefinition.exceptionHandlers: Is element with key org.jbpm.graph.def.ProcessDefinition.exceptionHandlers#21 expired?: false
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.engine.CollectionLoadContext] collection fully initialized: [org.jbpm.graph.def.ProcessDefinition.exceptionHandlers#21]
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections initialized for role: org.jbpm.graph.def.ProcessDefinition.exceptionHandlers
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.loader.Loader] done loading collection
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache lookup: org.jbpm.graph.def.Node.exceptionHandlers#340
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.cache.EhCache] key: org.jbpm.graph.def.Node.exceptionHandlers#340
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.cache.EhCache] Element for org.jbpm.graph.def.Node.exceptionHandlers#340 is null
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache miss
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.loader.Loader] loading collection: [org.jbpm.graph.def.Node.exceptionHandlers#340]
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
      2007-01-02 15:46:59,848 DEBUG [org.hibernate.SQL] select exceptionh0_.NODE_ as NODE9_1_, exceptionh0_.ID_ as ID1_1_, exceptionh0_.GRAPHELEMENTINDEX_ as GRAPHELE6_1_, exceptionh0_.ID_ as ID1_3_0_, exceptionh0_.EXCEPTIONCLASSNAME_ as EXCEPTIO2_3_0_, exceptionh0_.TYPE_ as TYPE3_3_0_, exceptionh0_.GRAPHELEMENT_ as GRAPHELE4_3_0_ from JBPM_EXCEPTIONHANDLER exceptionh0_ where exceptionh0_.NODE_=?
      2007-01-02 15:46:59,888 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
      2007-01-02 15:46:59,888 DEBUG [org.hibernate.loader.Loader] result set contains (possibly empty) collection: [org.jbpm.graph.def.Node.exceptionHandlers#340]
      2007-01-02 15:46:59,888 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
      2007-01-02 15:46:59,888 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
      2007-01-02 15:46:59,888 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections were found in result set for role: org.jbpm.graph.def.Node.exceptionHandlers
      2007-01-02 15:46:59,888 DEBUG [org.hibernate.engine.CollectionLoadContext] Caching collection: [org.jbpm.graph.def.Node.exceptionHandlers#340]
      2007-01-02 15:46:59,888 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Caching: org.jbpm.graph.def.Node.exceptionHandlers#340
      2007-01-02 15:46:59,888 DEBUG [net.sf.ehcache.Cache] org.jbpm.graph.def.Node.exceptionHandlers: Is element with key org.jbpm.graph.def.Node.exceptionHandlers#341 expired?: false
      2007-01-02 15:46:59,888 DEBUG [org.hibernate.engine.CollectionLoadContext] collection fully initialized: [org.jbpm.graph.def.Node.exceptionHandlers#340]
      2007-01-02 15:46:59,888 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections initialized for role: org.jbpm.graph.def.Node.exceptionHandlers
      2007-01-02 15:46:59,888 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
      2007-01-02 15:46:59,888 DEBUG [org.hibernate.loader.Loader] done loading collection
      2007-01-02 15:46:59,888 DEBUG [org.jbpm.bpel.relation.jms.StartListener] caught exception while passing control to process, searching for handler
      org.jbpm.graph.def.DelegationException
      at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:349)
      at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
      at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
      at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
      at org.jbpm.bpel.def.Activity.enter(Activity.java:88)
      at org.jbpm.graph.def.Transition.take(Transition.java:119)
      at org.jbpm.graph.def.Node.leave(Node.java:382)
      at org.jbpm.bpel.def.Activity.leave(Activity.java:148)
      at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:43)
      at org.jbpm.bpel.def.Receive.accept(Receive.java:64)
      at org.jbpm.bpel.def.Receive$$FastClassByCGLIB$$516412f0.invoke(<generated>)
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
      at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
      at org.jbpm.bpel.def.Receive$$EnhancerByCGLIB$$7e8cc0f8.accept(<generated>)
      at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:82)
      at org.jbpm.bpel.def.Sequence.accept(Sequence.java:84)
      at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:29)
      at org.jbpm.bpel.def.BpelDefinition.messageReceived(BpelDefinition.java:110)
      at org.jbpm.bpel.relation.jms.StartListener.onMessage(StartListener.java:94)
      at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:694)
      at java.lang.Thread.run(Thread.java:595)
      Caused by: org.jbpm.graph.def.DelegationException
      at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:349)
      at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
      at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
      at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
      at org.jbpm.bpel.def.Activity.enter(Activity.java:88)
      at org.jbpm.graph.def.Transition.take(Transition.java:119)
      at org.jbpm.graph.def.Node.leave(Node.java:382)
      at org.jbpm.bpel.def.Activity.leave(Activity.java:148)
      at org.jbpm.bpel.def.Assign.execute(Assign.java:41)
      at org.jbpm.bpel.def.Activity.enter(Activity.java:83)
      ... 16 more
      Caused by: java.lang.NullPointerException
      at org.jbpm.bpel.xml.util.XmlUtil.copyAttributes(XmlUtil.java:520)
      at org.jbpm.bpel.xml.util.XmlUtil.copy(XmlUtil.java:485)
      at org.jbpm.bpel.service.consumer.PortConsumer.readRpcBody(PortConsumer.java:344)
      at org.jbpm.bpel.service.consumer.PortConsumer.readMessage(PortConsumer.java:312)
      at org.jbpm.bpel.service.consumer.PortConsumer.call(PortConsumer.java:106)
      at org.jbpm.bpel.relation.jms.JmsRelationService.invoke(JmsRelationService.java:143)
      at org.jbpm.bpel.def.Invoke.execute(Invoke.java:28)
      at org.jbpm.bpel.def.Activity.enter(Activity.java:83)
      ... 21 more

      2007-01-02 15:47:00,068 DEBUG [org.jbpm.JbpmContext] closing JbpmContext
      2007-01-02 15:47:00,068 DEBUG [org.jbpm.svc.Services] closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService@59aa86
      2007-01-02 15:47:00,068 DEBUG [org.jbpm.persistence.db.DbPersistenceService] rolling back hibernate transaction
      2007-01-02 15:47:00,068 DEBUG [org.hibernate.transaction.JDBCTransaction] rollback



        • 1. Re: invoke called, but our invoker is disconnected
          aguizar

          Bertrand,

          Unfortunately the log you posted shows neither the original SOAP message returned by the axis-based service nor the message returned by your router service. Can you please post them?

          -Alejandro

          • 2. Re: invoke called, but our invoker is disconnected

            Hello Alex,

            Thanx for your reply.

            Hier the SOAPMessages logged by the proxy solution in the following order:

            After receiving the request from client (process):

            Before sending the received Message to the remote service:

            Response receive from the remote service:

            Response send to the client (ProcessInstance):



            Request Message sent of client:
            
            POST /creditprocess/schufa HTTP/1.1
            SOAPAction: "urn:samples:schufa:validCustomer"
            Content-Type: text/xml; charset=UTF-8
            User-Agent: Java/1.5.0_06
            Host: 127.0.0.1:8081
            Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
            Connection: keep-alive
            Content-Length: 784
            
            <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
             <env:Header/>
             <env:Body>
             <soapBodyNS:validCustomer xmlns:soapBodyNS="urn:samples:schufa">
             <_surname xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="urn:samples:loanapproval" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Njipwo</_surname>
             <_firstname xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="urn:samples:loanapproval" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Bertrand</_firstname>
             </soapBodyNS:validCustomer>
             </env:Body>
            </env:Envelope>
            
            Request Message sent to remote Service:
            
            POST /axis/services/SchufaServiceB HTTP/1.1
            User-Agent: Java/1.5.0_06
            SOAPAction: "urn:samples:schufa:validCustomer"
            Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
            Host: 127.0.0.1:8081
            Connection: keep-alive
            Content-Type: text/xml; charset=UTF-8
            Content-Length: 784
            
            <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
             <env:Header/>
             <env:Body>
             <soapBodyNS:validCustomer xmlns:soapBodyNS="urn:samples:schufa">
             <_surname xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="urn:samples:loanapproval" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Njipwo</_surname>
             <_firstname xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="urn:samples:loanapproval" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Bertrand</_firstname>
             </soapBodyNS:validCustomer>
             </env:Body>
            </env:Envelope>
            
            
            Response Message received by remote Service:
            
            HTTP/1.1 200 OK
            Server: Apache-Coyote/1.1
            X-Powered-By: Servlet 2.4; JBoss-4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)/Tomcat-5.5
            Content-Type: text/xml;charset=utf-8
            Transfer-Encoding: chunked
            Date: Wed, 03 Jan 2007 21:10:10 GMT
            
            18e
            <?xml version="1.0" encoding="UTF-8"?>
             <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
             <soapenv:Body>
             <validCustomerResponse xmlns="urn:samples:schufa">
             <validCustomerReturn>true</validCustomerReturn>
             </validCustomerResponse>
             </soapenv:Body>
             </soapenv:Envelope>
            0
            
            
            
            Response Message of remote Host:
            
            
            HTTP/1.1 200 OK
            Server: Apache-Coyote/1.1
            X-Powered-By: Servlet 2.4; JBoss-4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)/Tomcat-5.5
            Content-Type: text/xml;charset=utf-8
            Content-Length: 398
            Date: Wed, 03 Jan 2007 21:10:10 GMT
            
            <?xml version="1.0" encoding="UTF-8"?>
             <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
             <soapenv:Body>
             <validCustomerResponse xmlns="urn:samples:schufa">
             <validCustomerReturn>true</validCustomerReturn>
             </validCustomerResponse>
             </soapenv:Body>
             </soapenv:Envelope>
            
            



            and hier the first Message sent to the loanprocess service by the XML Spy client and the received Response (use it because it is easy to test deployed web services):

            <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
             <SOAP-ENV:Body>
             <m:apply xmlns:m="urn:samples:loanapproval">
             <loanRequestParameters>
             <firstName>Bertrand</firstName>
             <lastName>Njipwo</lastName>
             <amount>1000</amount>
             </loanRequestParameters>
             </m:apply>
             </SOAP-ENV:Body>
            </SOAP-ENV:Envelope>
            
            
            <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
             <env:Header/>
             <env:Body>
             <env:Fault xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
             <faultcode>env:Server</faultcode>
             <faultstring>The service is not in an appropiate state for the requested operation</faultstring>
             </env:Fault>
             </env:Body>
            </env:Envelope>
            


            NB: After sending the following message directly to the remote service via the proxy solution (http://127.0.0.1:8081/creditprocess/schufa) the corresponding response ist:

            <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
             <SOAP-ENV:Body>
             <m:validCustomer xmlns:m="urn:samples:schufa">
             <_surname xsi:type="xsd:string">Njipwo</_surname>
             <_firstname xsi:type="xsd:string">Bertrand</_firstname>
             </m:validCustomer>
             </SOAP-ENV:Body>
            </SOAP-ENV:Envelope>
            
            
            
            
            <?xml version="1.0" encoding="UTF-8"?>
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
             <soapenv:Body>
             <validCustomerResponse xmlns="urn:samples:schufa">
             <validCustomerReturn>true</validCustomerReturn>
             </validCustomerResponse>
             </soapenv:Body>
            </soapenv:Envelope>
            


            One additional information: I have set up my configuration like follow:

            the serviceCatalog URL in bpel-application.xml reflect the entries in webservices.xml for the partner service (schufa).

            In the WSDL-implementation of the schufa service i have set the soap:address to http://127.0.0.1:8081/creditprocess/schufa but it don't solve the problem.

            To let the generated SOAPMessage included in the HTTP Request by the jbpm-bpel module to be sent to http://127.0.0.1:8081/creditprocess/schufa (proxy) i need to swap the AddresseLocation http://milaine:8080/schufa/schufaWS
            to :http://127.0.0.1:8081/creditprocess/schufa.


            I have send you per email a commented server_log of the process execution (to big to fit in this thread).

            I hope you can help.

            Thanks once again.


            Bertrand





            • 3. Re: invoke called, but our invoker is disconnected

              Hello community,

              After have resolved the problem with the soap:address which was always overritten see: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=97346 i'm still stucking.

              I have a BPEL process invoking my deployed service. The remote service receive the request and process it. It generate a response and send (try to send) it back to the running bpel BPEL process. Wright know the connection with the invoker is losed see:

              2007-01-04 20:24:29,948 DEBUG [org.jbpm.bpel.relation.jms.RelationContext] initialized partner reference: instance=org.jbpm.bpel.service.exe.PartnerLinkInstance@ae8542[name=SchufaLink,id=0], reference=org.jbpm.bpel.service.exe.wsa.WsaEndpointReference@19f410[address=USE_ACTUAL_URI_FROM_CATALOG,portType={urn:samples:schufa}SchufaWS,service={urn:samples:schufa}SchufaWSService]
              2007-01-04 20:24:30,138 DEBUG [org.jboss.ws.server.ServiceEndpoint] WSDL request, using host: milaine
              2007-01-04 20:24:30,178 DEBUG [org.jboss.ws.server.WSDLRequestHandler] Mapping import from 'schufa.wsdl' to 'http://milaine:8080/schufa/schufaWS?wsdl&resource=schufa.wsdl'
              2007-01-04 20:24:30,278 DEBUG [org.jboss.ws.server.ServiceEndpoint] WSDL request, using host: milaine
              2007-01-04 20:24:30,368 DEBUG [org.jbpm.bpel.relation.jms.RelationContext] selected partner port: instance=org.jbpm.bpel.service.exe.PartnerLinkInstance@ae8542[name=SchufaLink,id=0], port=SchufaService
              2007-01-04 20:24:30,408 INFO [STDOUT] PortConsumer: AddresseLocation configure to: http://127.0.0.1:8081/creditprocess/schufa
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.impl.SessionImpl] initializing proxy: [org.jbpm.bpel.wsdl.impl.OperationImpl#82]
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache lookup: org.jbpm.bpel.wsdl.impl.OperationImpl#82
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.cache.EhCache] key: org.jbpm.bpel.wsdl.impl.OperationImpl#82
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.cache.EhCache] Element for org.jbpm.bpel.wsdl.impl.OperationImpl#82 is null
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache miss
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.loader.Loader] loading entity: [org.jbpm.bpel.wsdl.impl.OperationImpl#82]
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.SQL] select operationi0_.id as id60_0_, operationi0_.NAME_ as NAME2_60_0_, operationi0_.STYLE_ as STYLE3_60_0_, operationi0_.INPUT_ as INPUT4_60_0_, operationi0_.OUTPUT_ as OUTPUT5_60_0_ from WSDL_OPERATION operationi0_ where operationi0_.id=?
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.loader.Loader] result row: EntityKey[org.jbpm.bpel.wsdl.impl.OperationImpl#82]
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.engine.TwoPhaseLoad] resolving associations for [org.jbpm.bpel.wsdl.impl.OperationImpl#82]
              2007-01-04 20:24:30,419 DEBUG [org.hibernate.engine.TwoPhaseLoad] adding entity to second-level cache: [org.jbpm.bpel.wsdl.impl.OperationImpl#82]
              2007-01-04 20:24:30,429 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Caching: org.jbpm.bpel.wsdl.impl.OperationImpl#82
              2007-01-04 20:24:30,429 DEBUG [net.sf.ehcache.Cache] org.jbpm.bpel.wsdl.impl.OperationImpl: Is element with key org.jbpm.bpel.wsdl.impl.OperationImpl#81 expired?: false
              2007-01-04 20:24:30,429 DEBUG [org.hibernate.engine.TwoPhaseLoad] done materializing entity [org.jbpm.bpel.wsdl.impl.OperationImpl#82]
              2007-01-04 20:24:30,429 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
              2007-01-04 20:24:30,429 DEBUG [org.hibernate.loader.Loader] done entity load
              2007-01-04 20:24:30,429 INFO [STDOUT] JmsRelationService: Requested Operation by invoker: validCustomer
              2007-01-04 20:24:30,439 DEBUG [org.jbpm.bpel.relation.jms.JmsRelationService] invoking: partnerLink=54, operation=validCustomer, input={_surname=[_surname: null], _firstname=[_firstname: null]}
              2007-01-04 20:24:30,459 INFO [STDOUT] PortConsumer: Builded SOAPMessage: org.jboss.ws.soap.SOAPMessageImpl@e28347
              2007-01-04 20:24:30,619 DEBUG [org.jboss.ws.soap.SOAPConnectionImpl] Get locator for: http://127.0.0.1:8081/creditprocess/schufa

              2007-01-04 20:24:30,949 DEBUG [org.jboss.remoting.Client] invoke called, but our invoker is disconnected, discarding and fetching another fresh invoker for: InvokerLocator [http://127.0.0.1:8081/creditprocess/schufa]

              2007-01-04 20:24:30,949 DEBUG [org.jboss.remoting.transport.http.HTTPClientInvoker] connect called for: org.jboss.remoting.transport.http.HTTPClientInvoker@a76306
              2007-01-04 20:24:30,959 DEBUG [org.jboss.remoting.transport.http.HTTPClientInvoker] Setting request header with SOAPAction : "urn:samples:schufa:validCustomer"
              2007-01-04 20:24:30,959 DEBUG [org.jboss.remoting.transport.http.HTTPClientInvoker] Setting request header with Content-Type : text/xml; charset=UTF-8
              2007-01-04 20:25:00,612 INFO [STDOUT] ================================================
              2007-01-04 20:25:00,612 INFO [STDOUT] Schufa web service B: Start method validCustomer
              2007-01-04 20:25:00,612 INFO [STDOUT] - SchufaWSB.isCustomerRegistrated()...
              2007-01-04 20:25:00,612 INFO [STDOUT] - Is customer "Bertrand", "Njipwo" known?
              2007-01-04 20:25:00,682 INFO [STDOUT] - Result: true
              2007-01-04 20:25:00,682 INFO [STDOUT] - ...SchufaWSB.isCustomerRegistrated() done.
              2007-01-04 20:25:00,682 INFO [STDOUT] - SchufaWSB.isCustomerAuthorized()...
              2007-01-04 20:25:00,682 INFO [STDOUT] - Is customer "Bertrand", "Njipwo" authorized for credits?
              2007-01-04 20:25:00,712 INFO [STDOUT] - Result: true
              2007-01-04 20:25:00,712 INFO [STDOUT] - ...SchufaWSB.isCustomerAuthorized() done.
              2007-01-04 20:25:00,712 INFO [STDOUT] - Customer "Bertrand", "Njipwo" is known and authorized for credits.
              2007-01-04 20:25:00,712 INFO [STDOUT] Schufa web service B: End method validCustomer
              2007-01-04 20:25:00,712 INFO [STDOUT] ==============================================

              2007-01-04 20:25:01,273 DEBUG [org.jboss.ws.binding.soap.SOAPMessageUnMarshaller] getMimeHeaders from: {Content-Length=[398], X-Powered-By=[Servlet 2.4; JBoss-4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)/Tomcat-5.5], ResponseCodeMessage=OK, null=[HTTP/1.1 200 OK], Date=[Thu, 04 Jan 2007 19:25:00 GMT], Content-Type=[text/xml;charset=utf-8], Server=[Apache-Coyote/1.1], HEADER={SOAPAction="urn:samples:schufa:validCustomer", Content-Type=text/xml; charset=UTF-8}, ResponseCode=200}

              2007-01-04 20:25:01,914 DEBUG [org.jboss.ws.soap.MessageFactoryImpl] createMessage: [contentType=text/xml; charset=utf-8]
              2007-01-04 20:25:01,944 DEBUG

              [org.hibernate.cache.NonstrictReadWriteCache] Cache lookup: org.jbpm.graph.def.Node.exceptionHandlers#463
              ..
              .....
              .......
              ..........


              But the generated SOAP Message (Response) are well received by the Jbossws components org.jboss.remoting.transport.http.HTTPClientInvoker
              and org.jboss.ws.soap.MessageFactoryImp:

              Response Message of remote Host:
              HTTP/1.1 200 OK
              Server: Apache-Coyote/1.1
              X-Powered-By: Servlet 2.4; JBoss-4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)/Tomcat-5.
              5
              Content-Type: text/xml;charset=utf-8
              Content-Length: 398
              Date: Wed, 03 Jan 2007 21:10:10 GMT
              
              <?xml version="1.0" encoding="UTF-8"?>
               <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
               <soapenv:Body>
               <validCustomerResponse xmlns="urn:samples:schufa">
               <validCustomerReturn>true</validCustomerReturn>
               </validCustomerResponse>
               </soapenv:Body>
               </soapenv:Envelope>


              I think hier the running process instance can't access the generated SOAP Response routed and when the jbpm.bpel module try to access the expected SOAP Message (see following Error log) by reading the RPCBody elements in the output elements, the collection object are not initialised and therefore this cause a NullPointerException.




              2007-01-04 20:25:02,044 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Cache miss
              2007-01-04 20:25:02,044 DEBUG [org.hibernate.loader.Loader] loading collection: [org.jbpm.graph.def.Node.exceptionHandlers#462]
              2007-01-04 20:25:02,044 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
              2007-01-04 20:25:02,044 DEBUG [org.hibernate.SQL] select exceptionh0_.NODE_ as NODE9_1_, exceptionh0_.ID_ as ID1_1_, exceptionh0_.GRAPHELEMENTINDEX_ as GRAPHELE6_1_, exceptionh0_.ID_ as ID1_3_0_, exceptionh0_.EXCEPTIONCLASSNAME_ as EXCEPTIO2_3_0_, exceptionh0_.TYPE_ as TYPE3_3_0_, exceptionh0_.GRAPHELEMENT_ as GRAPHELE4_3_0_ from JBPM_EXCEPTIONHANDLER exceptionh0_ where exceptionh0_.NODE_=?
              2007-01-04 20:25:02,054 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open ResultSet (open ResultSets: 0, globally: 0)
              2007-01-04 20:25:02,054 DEBUG [org.hibernate.loader.Loader] result set contains (possibly empty) collection: [org.jbpm.graph.def.Node.exceptionHandlers#462]
              2007-01-04 20:25:02,054 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close ResultSet (open ResultSets: 1, globally: 1)
              2007-01-04 20:25:02,054 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
              2007-01-04 20:25:02,054 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections were found in result set for role: org.jbpm.graph.def.Node.exceptionHandlers
              2007-01-04 20:25:02,054 DEBUG [org.hibernate.engine.CollectionLoadContext] Caching collection: [org.jbpm.graph.def.Node.exceptionHandlers#462]
              2007-01-04 20:25:02,054 DEBUG [org.hibernate.cache.NonstrictReadWriteCache] Caching: org.jbpm.graph.def.Node.exceptionHandlers#462
              2007-01-04 20:25:02,054 DEBUG [net.sf.ehcache.Cache] org.jbpm.graph.def.Node.exceptionHandlers: Is element with key org.jbpm.graph.def.Node.exceptionHandlers#463 expired?: false
              2007-01-04 20:25:02,054 DEBUG [org.hibernate.engine.CollectionLoadContext] collection fully initialized: [org.jbpm.graph.def.Node.exceptionHandlers#462]
              2007-01-04 20:25:02,054 DEBUG [org.hibernate.engine.CollectionLoadContext] 1 collections initialized for role: org.jbpm.graph.def.Node.exceptionHandlers
              2007-01-04 20:25:02,054 DEBUG [org.hibernate.engine.StatefulPersistenceContext] initializing non-lazy collections
              2007-01-04 20:25:02,054 DEBUG [org.hibernate.loader.Loader] done loading collection
              2007-01-04 20:25:02,054 DEBUG [org.jbpm.bpel.relation.jms.StartListener] caught exception while passing control to process, searching for handler
              org.jbpm.graph.def.DelegationException
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:349)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.bpel.def.Activity.enter(Activity.java:88)
              at org.jbpm.graph.def.Transition.take(Transition.java:119)
              at org.jbpm.graph.def.Node.leave(Node.java:382)
              at org.jbpm.bpel.def.Activity.leave(Activity.java:148)
              at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:43)
              at org.jbpm.bpel.def.Receive.accept(Receive.java:64)
              at org.jbpm.bpel.def.Receive$$FastClassByCGLIB$$516412f0.invoke(<generated>)
              at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
              at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
              at org.jbpm.bpel.def.Receive$$EnhancerByCGLIB$$8b85477d.accept(<generated>)
              at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:82)
              at org.jbpm.bpel.def.Sequence.accept(Sequence.java:84)
              at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:29)
              at org.jbpm.bpel.def.BpelDefinition.messageReceived(BpelDefinition.java:110)
              at org.jbpm.bpel.relation.jms.StartListener.onMessage(StartListener.java:94)
              at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:694)
              at java.lang.Thread.run(Thread.java:595)
              Caused by: org.jbpm.graph.def.DelegationException
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:349)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.bpel.def.Activity.enter(Activity.java:88)
              at org.jbpm.graph.def.Transition.take(Transition.java:119)
              at org.jbpm.graph.def.Node.leave(Node.java:382)
              at org.jbpm.bpel.def.Activity.leave(Activity.java:148)
              at org.jbpm.bpel.def.Assign.execute(Assign.java:41)
              at org.jbpm.bpel.def.Activity.enter(Activity.java:83)
              ... 16 more
              Caused by: java.lang.NullPointerException
              at org.jbpm.bpel.xml.util.XmlUtil.copyAttributes(XmlUtil.java:520)
              at org.jbpm.bpel.xml.util.XmlUtil.copy(XmlUtil.java:485)
              at org.jbpm.bpel.service.consumer.PortConsumer.readRpcBody(PortConsumer.java:345)
              at org.jbpm.bpel.service.consumer.PortConsumer.readMessage(PortConsumer.java:313)
              at org.jbpm.bpel.service.consumer.PortConsumer.call(PortConsumer.java:107)
              at org.jbpm.bpel.relation.jms.JmsRelationService.invoke(JmsRelationService.java:145)
              at org.jbpm.bpel.def.Invoke.execute(Invoke.java:28)
              at org.jbpm.bpel.def.Activity.enter(Activity.java:83)

              ... 21 more
              2007-01-04 20:25:02,064 ERROR [org.jbpm.bpel.relation.jms.StartListener] could not start process instance
              org.jbpm.graph.def.DelegationException
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:349)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.bpel.relation.jms.StartListener.onMessage(StartListener.java:98)
              at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:694)
              at java.lang.Thread.run(Thread.java:595)
              Caused by: org.jbpm.graph.def.DelegationException
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:349)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.bpel.def.Activity.enter(Activity.java:88)
              at org.jbpm.graph.def.Transition.take(Transition.java:119)
              at org.jbpm.graph.def.Node.leave(Node.java:382)
              at org.jbpm.bpel.def.Activity.leave(Activity.java:148)
              at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:43)
              at org.jbpm.bpel.def.Receive.accept(Receive.java:64)
              at org.jbpm.bpel.def.Receive$$FastClassByCGLIB$$516412f0.invoke(<generated>)
              at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
              at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
              at org.jbpm.bpel.def.Receive$$EnhancerByCGLIB$$8b85477d.accept(<generated>)
              at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:82)
              at org.jbpm.bpel.def.Sequence.accept(Sequence.java:84)
              at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:29)
              at org.jbpm.bpel.def.BpelDefinition.messageReceived(BpelDefinition.java:110)
              at org.jbpm.bpel.relation.jms.StartListener.onMessage(StartListener.java:94)
              ... 2 more
              Caused by: org.jbpm.graph.def.DelegationException
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:349)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:343)
              at org.jbpm.bpel.def.Activity.enter(Activity.java:88)
              at org.jbpm.graph.def.Transition.take(Transition.java:119)
              at org.jbpm.graph.def.Node.leave(Node.java:382)
              at org.jbpm.bpel.def.Activity.leave(Activity.java:148)
              at org.jbpm.bpel.def.Assign.execute(Assign.java:41)
              at org.jbpm.bpel.def.Activity.enter(Activity.java:83)
              ... 16 more
              Caused by: java.lang.NullPointerException
              at org.jbpm.bpel.xml.util.XmlUtil.copyAttributes(XmlUtil.java:520)
              at org.jbpm.bpel.xml.util.XmlUtil.copy(XmlUtil.java:485)
              at org.jbpm.bpel.service.consumer.PortConsumer.readRpcBody(PortConsumer.java:345)
              at org.jbpm.bpel.service.consumer.PortConsumer.readMessage(PortConsumer.java:313)
              at org.jbpm.bpel.service.consumer.PortConsumer.call(PortConsumer.java:107)
              at org.jbpm.bpel.relation.jms.JmsRelationService.invoke(JmsRelationService.java:145)
              at org.jbpm.bpel.def.Invoke.execute(Invoke.java:28)
              at org.jbpm.bpel.def.Activity.enter(Activity.java:83)
              ... 21 more
              2007-01-04 20:25:02,214 DEBUG [org.jbpm.JbpmContext] closing JbpmContext



              At this point of time i don't know if this issue is related to the use of wrong jbossws bibliotheke instead of axis one and why i can't access the generated SOAP Response within the bpel process after the jbossws create a new message and failed to initialyse his contain by copying his message parts.


              Any one has an idee what is wrong hier?

              Thanks for any suggestion.

              Bertrand Njipwo

              • 4. Re: invoke called, but our invoker is disconnected
                aguizar

                I've found the cause of the problem. The response message received from the remote service is invalid.

                <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                 <soapenv:Body>
                 <validCustomerResponse xmlns="urn:samples:schufa">
                 <validCustomerReturn>true</validCustomerReturn>
                 </validCustomerResponse>
                 </soapenv:Body>
                </soapenv:Envelope>


                The problem is that each part of the message should appear in a separate element with a local name that matches the part name and no namespace URI. This is specified by the WS-I Basic Profile 1.1, section 4.7.20.

                In the above message, the validCustomerResponse element sets the default namespace URI to urn:samples:schufa, causing the validCustomerReturn element to have the namespace URI urn:samples:schufa as well.

                A valid response would be:
                <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                 <soapenv:Body>
                 <validCustomerResponse xmlns="urn:samples:schufa">
                 <validCustomerReturn xmlns="">true</validCustomerReturn>
                 </validCustomerResponse>
                 </soapenv:Body>
                </soapenv:Envelope>


                • 5. Re: invoke called, but our invoker is disconnected

                  Thanks Alex for your fast answer.

                  I'll check why an invalid Response is generated and will give feedback later.


                  Thanks once again.

                  Bertrand

                  • 6. Re: invoke called, but our invoker is disconnected

                    Hello Alex once,

                    i' have read the WS-I Basic profile. but i'm still having the same error.

                    Is there some thing wrong in my loanapproval.bpel when copying the variable parts?

                    <process name="loanapproval" suppressJoinFailure="yes" targetNamespace="urn:samples:loanapproval" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:tns="urn:samples:loanapproval" xmlns:loanapproval="urn:samples:loanapproval" xmlns:schufa="urn:samples:schufa" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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>
                     <partnerLink name="LoanProcessing" partnerLinkType="loanapproval:LoanProcessingPLT" myRole="lender"/>
                     <partnerLink name="SchufaLink" partnerLinkType="tns:SchufaPLT" partnerRole="schufa"/>
                     </partnerLinks>
                     <variables>
                     <variable name="applyProcessRequest" messageType="loanapproval:applyRequest"/>
                     <variable name="applyProcessResponse" messageType="loanapproval:applyResponse"/>
                     <variable name="schufaRequest" messageType="schufa:validCustomerRequest"/>
                     <variable name="schufaResponse" messageType="schufa:validCustomerResponse"/>
                     </variables>
                     <sequence>
                     <receive createInstance="yes" name="LoanApplication" operation="apply" partnerLink="LoanProcessing" portType="loanapproval:LoanProcessPortType" variable="applyProcessRequest"/>
                     <assign name="AssignLoanInfo_forApproval">
                     <copy>
                     <from variable="applyProcessRequest" query="/loanRequestParameters/lastName" part="loanRequestParameters"/>
                     <to variable="schufaRequest" part="_surname"/>
                     </copy>
                     <copy>
                     <from variable="applyProcessRequest" query="/loanRequestParameters/firstName" part="loanRequestParameters"/>
                     <to variable="schufaRequest" part="_firstname"/>
                     </copy>
                     </assign>
                     <invoke inputVariable="schufaRequest" name="SchufaCheck" operation="validCustomer" outputVariable="schufaResponse" partnerLink="SchufaLink" portType="schufa:SchufaWS"/>
                     <assign name="AssignSchufaDecision">
                     </copy-->
                     <copy>
                     <from variable="schufaResponse" part="validCustomerReturn"/>
                     <to variable="applyProcessResponse" query="/loanResponse/approved" part="loanResponse"/>
                     </copy>
                     </assign>
                     <reply name="ApprovalDecision" operation="apply" partnerLink="LoanProcessing" portType="loanapproval:LoanProcessPortType" variable="applyProcessResponse"/>
                     </sequence>
                    </process>


                    I haved readed the similar issue in http://www.jboss.com/index.html?module=bb&op=viewtopic&t=75133 an the developperworks: http://www-128.ibm.com/developerworks/webservices/library/ws-tip-namespace.html.

                    Any suggestion to find out the problem?

                    Thanks once again



                    • 7. Re: invoke called, but our invoker is disconnected

                      Sorry,

                      i didn't edit the precedent postreply to end. The WSDL-files follow:
                      loanapproval.wsdl

                      <?xml version="1.0" encoding="UTF-8"?>
                      <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:samples:loanapproval" xmlns:loanapproval="urn:samples:loanapproval" xmlns:schufa="urn:samples:schufa" xmlns:types="urn:samples:loanapprovalTypes" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" targetNamespace="urn:samples:loanapproval">
                       <import namespace="urn:samples:schufa" location="interface/schufa.wsdl"/>
                       <types/>
                       <schema targetNamespace="urn:samples:loanapprovalTypes" xmlns="http://www.w3.org/2001/XMLSchema">
                       <element name="loanProcessFault" type="types:loanProcessFaultType"/>
                       <complexType name="loanApplicationType">
                       <sequence>
                       <element name="firstName" type="string"/>
                       <element name="lastName" type="string"/>
                       <element name="amount" type="float"/>
                       </sequence>
                       </complexType>
                       <complexType name="approvalDecisionType">
                       <sequence>
                       <!--element name="approved" type="boolean"/-->
                       <element name="approved" type="string"/>
                       </sequence>
                       </complexType>
                       <complexType name="loanProcessFaultType">
                       <sequence>
                       <element name="ErrorCode" type="int"/>
                       <element name="ErrorMessage" type="string"/>
                       </sequence>
                       </complexType>
                       </schema>
                       </types>
                       <message name="applyRequest">
                       <part name="loanRequestParameters" type="types:loanApplicationType"/>
                       </message>
                       <message name="applyResponse">
                       <part name="loanResponse" type="types:approvalDecisionType"/>
                       </message>
                       <message name="applyLoanProcessFault">
                       <part name="loanFault" element="types:loanProcessFault"/>
                       </message>
                       <portType name="LoanProcessPortType">
                       <operation name="apply">
                       <input message="tns:applyRequest"/>
                       <output message="tns:applyResponse"/>
                       <fault name="LoanProcessFault" message="tns:applyLoanProcessFault"/>
                       </operation>
                       </portType>
                       <plt:partnerLinkType name="LoanProcessingPLT">
                       <plt:role name="lender">
                       <plt:portType name="tns:LoanProcessPortType"/>
                       </plt:role>
                       </plt:partnerLinkType>
                       <!-- Describe the relation between the -->
                       <plt:partnerLinkType name="SchufaPLT">
                       <plt:role name="schufa">
                       <plt:portType name="schufa:SchufaWS"/>
                       </plt:role>
                       </plt:partnerLinkType>
                      </definitions>
                      


                      Schufa.wsdl
                      <?xml version="1.0" encoding="UTF-8"?>
                      <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:samples:schufa" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="urn:samples:schufa" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/">
                       <message name="validCustomerRequest">
                       <part name="_surname" type="xsd:string"/>
                       <part name="_firstname" type="xsd:string"/>
                       </message>
                       <message name="validCustomerResponse">
                       <part name="validCustomerReturn" type="xsd:string"/>
                       </message>
                       <portType name="SchufaWS">
                       <operation name="validCustomer" parameterOrder="_surname _firstname">
                       <input name="validCustomerRequest" message="tns:validCustomerRequest"/>
                       <output name="validCustomerResponse" message="tns:validCustomerResponse"/>
                       </operation>
                       </portType>
                      </definitions>


                      schufa.impl.wsdl:
                      <?xml version="1.0" encoding="UTF-8"?>
                      <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:samples:schufa" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="urn:samples:schufa" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/
                       http://schemas.xmlsoap.org/wsdl/">
                       <import namespace="urn:samples:schufa" location="schufa.wsdl"/>
                       <binding name="SchufaServiceSoapBinding" type="tns:SchufaWS">
                       <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
                       <operation name="validCustomer">
                       <soap:operation soapAction="urn:samples:schufa:validCustomer"/>
                       <input>
                       <soap:body use="literal" namespace="urn:samples:schufa"/>
                       </input>
                       <output>
                       <soap:body use="literal" namespace="urn:samples:schufa"/>
                       </output>
                       </operation>
                       </binding>
                       <service name="SchufaWSService">
                       <port name="SchufaPort" binding="tns:SchufaServiceSoapBinding">
                       <soap:address location="http://127.0.0.1:8081/creditprocess/schufa"/>
                       </port>
                       </service>
                      </definitions>


                      This issus is somewhere closed to the one in this thread:
                      http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3916608 but hier i'm using rpc/literal.

                      Can any one tell me if i'm the one who cause this problem?

                      Thanks for your help.

                      Bertrand

                      • 8. Re: invoke called, but our invoker is disconnected
                        aguizar

                        The cause of the problem is your remote Axis-based service returning a SOAP envelope that does not adhere to BP 1.1. The developerWorks article you referenced confirms this.

                        In the thread you mention, I confirmed that the part accessors should have a namespace associated with them. I said that because a sample SOAP envelope in WSDL 1.1 implied it:

                        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
                         <soapenv:Body>
                         <m:GetLastTradePriceResponse xmlns:m="Some-URI">
                         <m:price>34.5</m:price>
                         </m:GetLastTradePriceResponse>
                         </soapenv:Body>
                        </soapenv:Envelope>

                        Notice the part accessor m:price is bound to a namespace.

                        While fixing the problem, I found BP 1.1 specifies that part accessors have no namespace associated with them. This must be why SOAP stacks that predate BP 1.1 (such as Axis 1.x) write part accessors bound to a namespace.

                        I see two solutions:
                        update the remote SOAP stack so that it produces BP-1.1 envelopes
                        allow jBPM BPEL to read pre-BP-1.1 envelopes
                        Please file a feature request in JIRA if the former is definitely not possible.

                        • 9. Re: invoke called, but our invoker is disconnected

                          Hello Alex,

                          I have chosed the second alternative. I was trying to let the jbpm.bpel module to read the received SOAPMessage:

                          <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                           <SOAP-ENV:Body>
                           <m:apply xmlns:m="urn:samples:loanapproval">
                           <loanRequestParameters>
                           <firstName>Bertrand</firstName>
                           <lastName>Njipwo</lastName>
                           <amount>1000</amount>
                           </loanRequestParameters>
                           </m:apply>
                           </SOAP-ENV:Body>
                          </SOAP-ENV:Envelope>


                          In PortConsumer.java the following lines:

                          SOAPElement operationElem = XmlUtil.getElement(envelope.getBody());
                           Map outputParts = new HashMap();
                           // fill in part values
                           Iterator partIt = parts.iterator();
                           while (partIt.hasNext()) {
                           Part part = (Part) partIt.next();
                           String partName = part.getName();
                           // get part accessor from operation wrapper
                           SOAPElement operPartAccessor = XmlUtil.getElement(operationElem, partName);
                           // create part accessor in output message
                           Element outputPartAccessor = XmlUtil.createElement(null, partName);
                           outputParts.put(partName, outputPartAccessor);
                           // copy operation part to output part
                           operPartAccessor.getValue();
                           XmlUtil.copy(outputPartAccessor, operPartAccessor);
                           }
                           return outputParts;
                          

                          will copy the informations of the SOAPElement operPartAcessor to the outputPartAccessor and therefore retrieve the value received from the remote service and with that value initialise the outputPartAccessor-object.

                          But i'm falling at: XmlUtil.copy(outputPartAccessor, operPartAccessor);
                          If i call any methode on operPartAccessor it raises a NullpointerException.

                          That why after this call the highlighted methodes also throw the same Exception.

                          public static void copy(Element target, SOAPElement source) {
                           // attributes
                           removeAttributes(target);
                          copyAttributes(target, source);
                           // all namespaces
                           copyVisibleNamespaces(target, source);
                           // child nodes
                           removeChildNodes(target);
                          copyChildNodes(target, source);
                           if (log.isTraceEnabled()) log.trace("copied element: " + source.getNodeName());
                           }


                          So copyAttributes will fail because the SOAPElement operPartAccessor has no Attributes. One question: (Which methode give the value of the operPartAccessort ? I have tried with to manipulate the operPartAccessort as DOM object by call getChildrens(), but its always fail).

                          My question is how could i get the value true of true in the following message send by the remote server:
                          <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                           <soapenv:Body>
                           <validCustomerResponse xmlns="urn:samples:schufa">
                           <validCustomerReturn>true</validCustomerReturn>
                           </validCustomerResponse>
                           </soapenv:Body>
                          </soapenv:Envelope>


                          I have comment out the following line in PortConsumer.java: XmlUtil.copy(outputPartAccessor, operPartAccessor); so i can achieve a "cleaned" process excecution and so i can make some performance measurements during the process execution. This is a temporary solution to be able to work. After doing this i become the following message:

                          <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
                           <env:Header/>
                           <env:Body>
                           <m:applyResponse xmlns:m="urn:examples:loanapproval">
                           <loanResponse>
                           <approved/>
                           </loanResponse>
                           </m:applyResponse>
                           </env:Body>
                          </env:Envelope>


                          Alex why i can't copy the desired value the remote service send me in my BPEL process.

                          Thanks once again for your help and the time you invest.

                          Regards

                          Bertrand


                          • 10. Re: invoke called, but our invoker is disconnected
                            aguizar

                            The NPE is thrown because operPartAccessor is null.

                            // get part accessor from operation wrapper
                            SOAPElement operPartAccessor = XmlUtil.getElement(operationElem, partName);

                            From the javadoc for XmlUtil.getElement(SOAPElement parent, String localName):
                            Gets the first child element of the given SOAP element with the specified local name and a null or empty namespace URI.
                            @return the corresponding child element, or null if there is no match

                            In our case, operationElem has a child element that matches the part name. However, the namespace URI is not empty; it is equal to the namespace specified in the soap:body element in the WSDL binding output:
                            <binding name="SchufaServiceSoapBinding" type="tns:SchufaWS">
                             <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
                             <operation name="validCustomer">
                             <soap:operation soapAction="urn:samples:schufa:validCustomer"/>
                             <input>
                             <soap:body use="literal" namespace="urn:samples:schufa"/>
                             </input>
                             <output>
                             <soap:body use="literal" namespace="urn:samples:schufa"/>
                             </output>
                             </operation>
                            </binding>

                            Try retrieving the part accessor from the operation element with the following code:
                            // get part accessor from operation wrapper
                            SOAPElement operPartAccessor = XmlUtil.getElement(
                             operationElem,
                             soapBody.getNamespaceURI(),
                             partName);


                            • 11. Re: invoke called, but our invoker is disconnected

                              Yes Alex,

                              it's work fine now ! It was my mistake, was expecting the right object after calling XmlUtil.getElement(operationElem, partName);

                              I can know kick the process by sending my SOAP Message and i get back the expected value from the Response Message of the remote service:


                              <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
                               <env:Header/>
                               <env:Body>
                               <m:applyResponse xmlns:m="urn:examples:loanapproval">
                               <loanResponse>
                               <approved xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">true</approved>
                               </loanResponse>
                               </m:applyResponse>
                               </env:Body>
                              </env:Envelope>
                              .

                              With this modification i'm able to deal with the SOAP Message from the Axis remote web service.

                              I'll like to express my gratitude to you Alex, For the time and the interesse you invest to help find a solution to different issues encountered with the jbpm.bpel Module. One Thanks again!


                              Best Regard

                              Bertrand Njipwo