ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philippe Allart <pall...@cudl-lille.fr>
Subject Re: Problem with Assign or Invoke
Date Wed, 03 Sep 2008 09:43:01 GMT
Matthieu Riou a écrit :
>
>> It seems that the error occurs in the function "InvokePartner"  which,
>> according to svn, has been replaced by the functions "InvokeReliablePartner"
>> and "InvokeUnreliablePartner" one year ago, but may be that does'nt matter.
>>
>>     
>
> Which version of ODE are you using? If you're using a release the code is
> probably closer to our 1.X branch (the trunk is still unreleased):
>
> http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.X/
>   
I'm using the version 1.2.
>
>   
>> The exception is "java.lang.NullPointerException", thus I suspect something
>> is wrong in the preceding Assign. I've learnt that this kind of step is a
>> little bit sensible.
>>     
>
>
> Yeah I'm a bit surprised this isn't caught before. From the line numbers (if
> they match) it seems the service hasn't been deployed in the IL. It's
> probably that you're missing an <invoke partnerLink="..."> block in your
> deployment descriptor.
>   
Thank you very much for your help.
It works!

I've effectively forgotten the last <invoke> in deploy.xml.

Now I will make my PHP scripts more generic and play with them and with 
more complex BPEL scripts.

Regards,

Ph.

--




> Matthieu
>
>
>   
>> While ODE should call the PHP WS, nothing appears in the access.log of
>> http. Thus the error occurs before the invocation.
>>
>> Here's the log:
>>
>>
>> ---------------------------------------------------------------------------------------------------------
>> DEBUG - GeronimoLog.debug(66) | >> handleWorkEvent(jobData={final=true,
>> mexid=hqejbhcnphr3k60kw2ielr, pid={
>> http://sample.bpel.org/bpel/sample}ValidationProcess-76<http://sample.bpel.org/bpel/sample%7DValidationProcess-76>,
>> retry=3, type=INVOKE_INTERNAL})
>> DEBUG - GeronimoLog.debug(66) | InvokeInternal event for mexid
>> hqejbhcnphr3k60kw2ielr
>> DEBUG - GeronimoLog.debug(66) | GET MEX property
>> org.apache.ode.bpel.myRoleSessionId = hqejbhcnphr3k60kw2ieln
>> DEBUG - GeronimoLog.debug(66) | GET MEX property
>> org.apache.ode.bpel.myRoleSessionId = hqejbhcnphr3k60kw2ieln
>> DEBUG - GeronimoLog.debug(66) | GET MEX property
>> org.apache.ode.bpel.partnerRoleSessionId = null
>> DEBUG - GeronimoLog.debug(66) | INPUTMSG: 26.callback: MSG RCVD
>> keys=[{CorrelationKey setId=-1, values=[hqejbhcnphr3k60kw2ieln]}]
>> mySessionId=hqejbhcnphr3k60kw2ieln partnerSessionId=null
>> DEBUG - GeronimoLog.debug(66) | INPUTMSG: 26.callback: ckey {CorrelationKey
>> setId=-1, values=[hqejbhcnphr3k60kw2ieln]} route is to
>> org.apache.ode.dao.jpa.MessageRouteDAOImpl@41cb3
>> DEBUG - GeronimoLog.debug(66) | INPUTMSG: 26.callback: ROUTING to instance
>> 10962
>> DEBUG - GeronimoLog.debug(66) | BpelRuntimeContextImpl created for instance
>> 10962. INDEXED STATE={{OScope '__PROCESS_SCOPE:ValidationProcess'
>> id=3}::0=[ACTIVE(...)],
>> OPickReceive#42-ReceptionChoix::13=[ACTIVITYGUARD(...)],
>> OSequence#27-Notification::2=[SEQUENCE(self=(OSequence#27-Notification,TerminationChannel#3,ParentScopeChannel#5),
>> linkframe=org.apache.ode.bpel.runtime.LinkFrame@324438,
>> remaining=[OPickReceive#42-ReceptionChoix, {OAssign : LectureReponse,
>> joinCondition=null}, {OScope 'CompteRendu' id=55}])],
>> OPickReceive#42-ReceptionChoix::14=[PICK(...)], {OScope
>> '__PROCESS_SCOPE:ValidationProcess' id=3}::0=[SCOPE(...)],
>> OSequence#27-Notification::1=[ACTIVITYGUARD(...)]}
>> DEBUG - GeronimoLog.debug(66) | Resolving endpoint reference <?xml
>> version="1.0" encoding="UTF-8"?>
>> <EndpointReference xmlns="http://www.w3.org/2005/08/addressing"><session
>> xmlns="http://www.intalio.com/type/session
>> ">48bd271f1a2bb</session><Address>
>> http://arrigo-dev/Notification/onResult.php</Address></EndpointReference>
>> DEBUG - GeronimoLog.debug(66) | INVOKING PARTNER:
>> partnerLink={PartnerLinkInstance
>> partnerLinkDecl=OPartnerLink#25,scopeInstanceId=11972}, op=onResult
>> channel=null)
>> DEBUG - GeronimoLog.debug(66) | INVOKE PARTNER (SEP):
>> sessionId=hqejbhcnphr3k60kw2ielm partnerSessionId=48bd271f1a2bb
>> DEBUG - GeronimoLog.debug(66) | Invoking a partner operation: onResult
>> ERROR - GeronimoLog.error(108) | Method "run" in class
>> "org.apache.ode.bpel.runtime.INVOKE" threw an unexpected exception.
>> java.lang.NullPointerException
>>   at
>> org.apache.ode.axis2.MessageExchangeContextImpl.invokePartner(MessageExchangeContextImpl.java:51)
>>   at
>> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeContextImpl.java:775)
>>
>> ----------------------------------------------------------------------------------
>>
>> Here's my BPEL process:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <bpws:process exitOnStandardFault="yes" name="ValidationProcess"
>>   suppressJoinFailure="no"
>>   targetNamespace="http://sample.bpel.org/bpel/sample"
>>   xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
>>   xmlns:ns="http://www.example.org/client/"
>>   xmlns:ns0="http://bpel.lmcu.fr/xsd/Validation"
>>   xmlns:ns1="http://bpel.lmcu.fr/Notification/"
>>   xmlns:ns2="http://bpel.lmcu.fr/tests/Validation" xmlns:tns="
>> http://sample.bpel.org/bpel/sample">
>>   <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>>       location="ValidationProcess.wsdl" namespace="
>> http://sample.bpel.org/bpel/sample"/>
>>   <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>>       location="Notification.wsdl" namespace="
>> http://bpel.lmcu.fr/Notification/"/>
>>   <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
>>       location="client.wsdl" namespace="http://www.example.org/client/"/>
>>   <bpws:import importType="http://www.w3.org/2001/XMLSchema"
>>       location="Notification.xsd" namespace="
>> http://bpel.lmcu.fr/xsd/Validation/request"/>
>>   <bpws:partnerLinks>
>>       <bpws:partnerLink initializePartnerRole="no"
>>           myRole="ValidationProcessProvider" name="client"
>>           partnerLinkType="tns:ValidationProcessPLT"
>> partnerRole="ValidationProcessRequester"/>
>>       <bpws:partnerLink initializePartnerRole="yes"
>>           myRole="NotifierRole" name="Notification"
>>           partnerLinkType="tns:NotificationPLT"
>> partnerRole="NotifiedRole"/>
>>   </bpws:partnerLinks>
>>   <bpws:variables>
>>       <bpws:variable messageType="tns:ValidationProcessRequestMessage"
>> name="input"/>
>>       <bpws:variable messageType="ns:onResultRequest" name="output"/>
>>       <bpws:variable messageType="ns1:transmitRequest" name="Message"/>
>>       <bpws:variable messageType="ns1:transmitResponse" name="Response1"/>
>>       <bpws:variable messageType="ns1:callbackRequest" name="choice"/>
>>   </bpws:variables>
>>   <bpws:correlationSets>
>>       <bpws:correlationSet name="CorrelationSet"/>
>>   </bpws:correlationSets>
>>   <bpws:sequence name="Notification">
>>       <bpws:receive createInstance="yes" name="DemandeNotification"
>>           operation="initiate" partnerLink="client"
>>           portType="tns:ValidationProcess" variable="input"/>
>>       <bpws:assign name="Initialisations" validate="no">
>>           <bpws:copy keepSrcElementName="no">
>>               <bpws:from part="payload" variable="input"/>
>>               <bpws:to part="requete" variable="Message"/>
>>           </bpws:copy>
>>       </bpws:assign>
>>       <bpws:invoke inputVariable="Message" name="EnvoiMessage"
>>           operation="transmit" outputVariable="Response1"
>>           partnerLink="Notification" portType="ns1:NotifiedPT"/>
>>       <bpws:receive name="ReceptionChoix" operation="callback"
>>           partnerLink="Notification" portType="ns1:NotifierPT"
>> variable="choice"/>
>>       <bpws:assign name="LectureReponse" validate="no">
>>           <bpws:copy>
>>               <bpws:from>
>>                   <bpws:literal>
>>                       <rep:onResultRequest xmlns:rep="
>> http://www.example.org/client/">
>>                           <rep:result/>
>>                       </rep:onResultRequest>
>>                   </bpws:literal>
>>               </bpws:from>
>>               <bpws:to part="parameters" variable="output"/>
>>           </bpws:copy>
>>           <bpws:copy keepSrcElementName="no">
>>               <bpws:from part="response" variable="choice">
>>                   <bpws:query
>> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/response]]></bpws:query>
>>               </bpws:from>
>>               <bpws:to part="parameters" variable="output">
>>                   <bpws:query
>> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[/ns:result]]></bpws:query>
>>               </bpws:to>
>>           </bpws:copy>
>>       </bpws:assign>
>>       <bpws:invoke inputVariable="output" name="CompteRendu"
>>           operation="onResult" partnerLink="client" portType="ns:client"/>
>>   </bpws:sequence>
>> </bpws:process>
>>
>>
>> ---------------------------------------------------------------------------------------------
>> the client.wsdl:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>> xmlns:tns="http://www.example.org/client/" xmlns:wsdl="
>> http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="
>> http://www.w3.org/2001/XMLSchema" name="client" targetNamespace="
>> http://www.example.org/client/">
>> <wsdl:types>
>> <xsd:schema targetNamespace="http://www.example.org/client/">
>> <xsd:element name="onResultRequest"
>> type="tns:onResultRequestType"></xsd:element>
>>
>>   <xsd:complexType name="onResultRequestType">
>>       <xsd:sequence>
>>           <xsd:element name="result" type="xsd:string"></xsd:element>
>>       </xsd:sequence>
>>   </xsd:complexType>
>> </xsd:schema>
>> </wsdl:types>
>> <wsdl:message name="onResultRequest">
>> <wsdl:part element="tns:onResultRequest" name="parameters"/>
>> </wsdl:message>
>> <wsdl:portType name="client">
>> <wsdl:operation name="onResult">
>> <wsdl:input message="tns:onResultRequest"/>
>> </wsdl:operation>
>> </wsdl:portType>
>>   <wsdl:binding name="clientSOAP" type="tns:client">
>>       <soap:binding style="document"
>>           transport="http://schemas.xmlsoap.org/soap/http" />
>>       <wsdl:operation name="onResult">
>>           <soap:operation
>>               soapAction="http://www.example.org/client/onResult" />
>>           <wsdl:input>
>>               <soap:body use="literal" />
>>           </wsdl:input>
>>           <wsdl:output>
>>               <soap:body use="literal" />
>>           </wsdl:output>
>>       </wsdl:operation>
>>   </wsdl:binding>
>>   <wsdl:service name="clientWS">
>> <wsdl:port binding="tns:clientSOAP" name="clientPort">
>>           <soap:address location="
>> http://arrigo-dev/Notification/onResult.php"/>
>>       </wsdl:port>
>> </wsdl:service>
>> </wsdl:definitions>
>>
>> -----------------------------------------------------------------------------------------
>>
>> Thanks in advance for your responses,
>>
>> regards,
>>
>> Ph.
>>
>> --
>>
>>
>>
>>
>>
>>     
>
>   


Mime
View raw message