0

认为 apache ode 日志对我说我的查询不正确:

<vprop:property name="alunoidcorr" type="xs:string"/>
<vprop:propertyAlias propertyName="tns:alunoidcorr" 
             messageType="tns:alunoMSG" 
             part="alunoEntity">
         <vprop:query>br:aluno/id/text()</vprop:query>
</vprop:propertyAlias>

作为 ode 和 xpath 的初学者,我想寻求一些帮助以找到正确的 xpath 表达式来解决这个选择失败问题。

以下是日志。ode 正在针对其运行 xpath 的消息被公开。

此致。

21:38:25,535 DEBUG [ODEService] ODE routed to operation Operation: name=process
style=REQUEST_RESPONSE,1
Input: name=null
Message: name={br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl}alunoMSG
Part: name=alunoEntity
elementName={br.edu.fzlbpms.tcc.schema}aluno
Output: name=null
Message: name={br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl}avaliacaoDeAlunoMSG
Part: name=avaliacaoDeAlunoPart
elementName={br.edu.fzlbpms.tcc.schema}avaliacaoDeAluno from service {br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl}AVALIA_ALUNOService
21:38:25,535 DEBUG [MessageExchangeImpl] SET MEX property isTwoWay = true
21:38:25,536 DEBUG [ODEService] Invoking ODE using MEX {MyRoleMex#hqejbhcnphr8bwr7m2iap7 [Client hqejbhcnphr8bwr7m2iap6] calling {br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl}AVALIA_ALUNOService.process(...)}
21:38:25,536 DEBUG [ODEService] Message content:  

<?xml version="1.0" encoding="UTF-8"?>
<message>
<alunoEntity>
<aluno xmlns="br.edu.fzlbpms.tcc.schema xmlns:br="br.edu.fzlbpms.tcc.schema"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<aprovado>false</aprovado>           
<curso>ads</curso>
<id>1234</id>             
<nextTasksIds>?</nextTasksIds>
<nome>qwer</nome>             
<processInstanceId>55</processInstanceId>             
<thisTaskId>1</thisTaskId>
</aluno></alunoEntity></message>

21:38:25,537 DEBUG [MyRoleMessageExchangeImpl] invoke() EPR= null ==> BpelProcess[{br.edu.fzlbpms.tcc.AVALIA_ALUNO.bpel}AVALIA_ALUNO-162]
21:38:25,538 DEBUG [ODEService] Commiting ODE MEX {MyRoleMex#hqejbhcnphr8bwr7m2iap7 [Client hqejbhcnphr8bwr7m2iap6] calling {br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl}AVALIA_ALUNOService.process(...)}
21:38:25,538 DEBUG [ODEService] Commiting transaction.
21:38:25,779 DEBUG [WSAEndpoint] Filled transfo map with service: {br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl}AVALIA_ALUNOService
21:38:25,779 DEBUG [WSAEndpoint] Filled transfo map with port: AVALIA_ALUNOPort
21:38:25,780 DEBUG [BpelEngineImpl] handleJobDetails: InvokeInternal event for mexid hqejbhcnphr8bwr7m2iap7
21:38:25,783 DEBUG [BpelProcess] >> handleJobDetails(jobData=JobDetails( instanceId: null mexId: hqejbhcnphr8bwr7m2iap7 processId: {br.edu.fzlbpms.tcc.AVALIA_ALUNO.bpel}AVALIA_ALUNO-162 type: INVOKE_INTERNAL channel: null correlatorId: null correlationKeySet: null retryCount: null inMem: false detailsExt: {}))
21:38:25,783 DEBUG [BpelProcess] InvokeInternal event for mexid hqejbhcnphr8bwr7m2iap7
21:38:25,786 DEBUG [MessageExchangeImpl] GET MEX property org.apache.ode.bpel.myRoleSessionId = null
21:38:25,786 DEBUG [MessageExchangeImpl] GET MEX property org.apache.ode.bpel.myRoleSessionId = null
21:38:25,786 DEBUG [MessageExchangeImpl] GET MEX property org.apache.ode.bpel.partnerRoleSessionId = null
21:38:25,786 DEBUG [BpelProcess] INPUTMSG: client.process: MSG RCVD keys=[] mySessionId=null partnerSessionId=null
21:38:25,787 DEBUG [BpelProcess] INPUTMSG: client.process: routing failed, CREATING NEW INSTANCE
21:38:25,789 DEBUG [BpelRuntimeContextImpl] BpelRuntimeContextImpl created for instance 22462. INDEXED STATE={}
21:38:25,793 DEBUG [BpelProcess] SELECT: PickResponseChannel#9: USING CORRELATOR client.process
21:38:25,795 DEBUG [BpelProcess] SELECT: PickResponseChannel#9: CHECKING for NEW INSTANCE match
21:38:25,795 DEBUG [BpelProcess] INPUTMSGMATCH: Changing process instance state from ready to active
21:38:25,795 DEBUG [BpelProcess] SELECT: PickResponseChannel#9: FOUND match for NEW instance mexRef={MyRoleMex#hqejbhcnphr8bwr7m2iap7 [Client hqejbhcnphr8bwr7m2iap6] calling {br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl}AVALIA_ALUNOService.process(...)}
21:38:25,796 DEBUG [BpelRuntimeContextImpl] Couldn't extract property '{OProperty {br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl}alunoidcorr}' in property pre-extraction: org.apache.ode.bpel.common.FaultException: OMessageVarType#7({br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl}alunoMSG)[alunoEntity][{OXPath10Expression br:aluno/id/text()}]
21:38:25,796 **ERROR [PICK] org.apache.ode.bpel.common.FaultException: OMessageVarType#7({br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl}alunoMSG)[alunoEntity][{OXPath10Expression br:aluno/id/text()}]**
21:38:25,801 **DEBUG [BpelProcess] ProcessImpl completed with fault '{http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure'**

谢谢@joergl,

 The namespaces of my wsdl definition are...

<definitions name="AVALIA_ALUNO"
    targetNamespace="br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl"
    xmlns:tns="br.edu.fzlbpms.tcc.AVALIA_ALUNO.wsdl"
    xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:types="br.edu.fzlbpms.tcc.schema"
    >


`<message name="alunoMSG">
<part name="alunoEntity" element="types:aluno"  </part>                   
</message>`                    


<element name="aluno">
         <complexType>
            <sequence>
                <element name="aprovado" type="boolean" minOccurs="0"/>
                <element name="curso" type="string" minOccurs="0"/>
                <element name="id" type="string"  nillable="false"/>
                <element name="nextTasksIds" type="string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
                <element name="nome" type="string" nillable="false"/>
                <element name="processInstanceId" type="string" minOccurs="0"/>
                <element name="thisTaskId" type="string" minOccurs="0"/>
            </sequence>
         </complexType>
         </element>
4

0 回答 0