2011-11-17 39 views
1

我在將服務響應的輸出複製到BPEL中的響應消息時遇到問題。BPEL中的xpath複製表達式

金額元素有一個屬性貨幣,我該如何acheiev呢?除了將元素複製到其他元素的屬性之外,其他所有複製似乎都可以正常工作。

複製表達式如下。

<copy> 
     <from variable="InvokePersistence_insert_OutputVariable" 
       part="ProBookingInitiationCollection"     query="/ns3:ProBookingInitiationCollection/ns3:ProBookingInitiation/ns3:bookingDetail/ns3:isoCurrencyCd"/> 
     <to variable="outputVariable" part="payload" 
      query="/ns4:BookingConfirmation/ns4:amount/@ns4:currency"/> 
     </copy> 

從XSD的摘錄低於

<xs:element name="amount"> 
      <xs:complexType> 
       <xs:simpleContent> 
        <xs:extension base="xs:decimal"> 
         <xs:attribute name="currency" type="xs:string"/> 
        </xs:extension> 
       </xs:simpleContent> 
      </xs:complexType> 
     </xs:element> 
+1

的屬性是什麼樣的錯誤你得到了嗎?你試過'.../ns3:isoCurrencyCd/text()'嗎? – vanto

+0

@vanto以下是錯誤消息。我試着/ text()得到相同的錯誤.XPath查詢字符串返回零節點。 「目標節點查詢的賦值活動返回一個空節點,XPath查詢中的目標節點數據或目標節點無效,請將BPEL源中第198行的目標音符值檢查爲BPEL4WS 1.1規範,第14.3節」。 – nobody

+0

聽起來像是選擇失敗。您是否正確初始化目標元素和屬性? – vanto

回答

0

確保根據模式是「outputVariable」輸出變量被正確初始化,幷包含所謂的「貨幣」