2012-07-16 63 views
-1

我對kSOAP比較陌生。我有一個web服務,它有一個巨大的響應,數組內部充滿了對象和一些額外的數據。使用正常的getResponse()請求整個XML大約需要5-10秒。這會給我一個完整的數組,我不會使用任何東西。只請求一部分響應?

我的問題是,有沒有辦法只獲得數組以外的數據的一小部分,而不必改變web服務本身,因爲我沒有訪問權限來更改web服務?

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
    <s:Body> 
    <GetResponse xmlns="http://tempuri.org/"> 
    <GetResult> 
     <a:Wrap> 
      <a:Country>DK</a:Country> 
      <a:ID>155</a:ID> 
      <a:SecondWrap> 
       <a:Pattern> 
       <b:ListPattern> 
        <b:Type>Price</b:Type> 
        <b:Day>1</b:Day> 
        <b:Hour>1</b:Hour> 
        <b:ListId>007</b:ListId> 
        <b:Price>135</b:Price> 
       </b:ListPattern> 
       <b:ListPattern> 
        <b:Type>Price</b:Type> 
        <b:Day>1</b:Day> 
        <b:Hour>2</b:Hour> 
        <b:ListId>007</b:ListId> 
        <b:Price>135</b:Price> 
       </b:ListPattern> 
       ... 
       ... 
       ... 

這是XML響應的一小部分。我只想知道Wrap對象的國家和ID,並完全排除ListPattern。我甚至不想得到ListPattern。這是性能優化的問題。那麼有沒有一種方法可以獲得國家和身份證,甚至不需要「下載」SecondWrap?

回答

1

要做到這一點的唯一方法是定義一個只返回這些值的新方法。

你不能告訴服務只給你答案的一部分。

+0

這讓我很傷心:( – Chikilah 2012-07-16 09:39:46