0

JDeveloper 11.1.1.5.0を使用してBPELサービスを開発しています。

API の応答にはいくつかの繰り返しフィールドが含まれており、for-each ループを使用してそれらを最終的な Web サービスの応答パラメーターにマップしようとしています。

API の応答構造は次のようになります。

<Data>
  <Item>
    <F6181_SubsWalletCounter>-1</F6181_SubsWalletCounter>
    <FBalanceExpDate>2013-08-13T00:00:00</FBalanceExpDate>
    <FResetWalletCounterValue>0</FResetWalletCounterValue>
    <FRecurringPeriod>0</FRecurringPeriod>
    <FRecurringRefreshDate>1899-12-30T00:00:00</FRecurringRefreshDate>
    <FRecurringRefreshDay>0</FRecurringRefreshDay>
    <F6150_AccountProfileId>18</F6150_AccountProfileId>
    <FLimit>0</FLimit>
    <F8345_PaymentDebt>0</F8345_PaymentDebt>
    <F9217_MinBalance>0</F9217_MinBalance>
    <F9218_MaxPaymentDebt>-1</F9218_MaxPaymentDebt>
  </Item>

  <Item>
    <F6181_SubsWalletCounter>-1</F6181_SubsWalletCounter>
    <FBalanceExpDate>2013-08-13T00:00:00</FBalanceExpDate>
    <FResetWalletCounterValue>0</FResetWalletCounterValue>
    <FRecurringPeriod>0</FRecurringPeriod>
    <FRecurringRefreshDate>1899-12-30T00:00:00</FRecurringRefreshDate>
    <FRecurringRefreshDay>0</FRecurringRefreshDay>
    <F6150_AccountProfileId>18</F6150_AccountProfileId>
    <FLimit>0</FLimit>
    <F8345_PaymentDebt>0</F8345_PaymentDebt>
    <F9217_MinBalance>0</F9217_MinBalance>
    <F9218_MaxPaymentDebt>-1</F9218_MaxPaymentDebt>
  </Item>
</Data>

要素とその<Item>サブ要素は、それ自体の正確な構造を維持しながら複数回繰り返すことができます。これらのサブ要素のうち、最終的な応答パラメーターにマップされるものはほとんどありません。

xsl コードは次のとおりです。

<ns2:responseBody>
  <ns2:balanceInfo>

    <ns2:balance> 
      <xsl:for-each select=
            "/tns:Subscriber_WalletInfo_GetResponse/Data/Item">
        <ns2:wallet>
          <xsl:value-of select="F6091_WalletTypeName"/>
        </ns2:wallet> 
      </xsl:for-each>
      <ns2:expirationDate>
                    <xsl:value-of select="FBalanceExpDate"/>
      </ns2:expirationDate>
      <ns2:balanceAmount>
                    <xsl:value-of select="F9261_Balance"/>
      </ns2:balanceAmount>
      <ns2:unit>
                    <xsl:value-of select="F8341_CurrencyName"/>
      </ns2:unit>
    </ns2:balance>
  </ns2:balanceInfo>
  <ns3:Error>
    <ns3:description>
      <xsl:value-of select="/tns:Subscriber_WalletInfo_GetResponse/ErrorDescription"/>
    </ns3:description>
  </ns3:Error>
</ns2:responseBody>

ここに画像の説明を入力

しかし、応答はこの xsl にマップされません。構文エラーを犯したのか、それとも名前空間が欠落しているのかはわかりません。

どんな種類のガイダンスも素晴らしいでしょう!

4

1 に答える 1