-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 を取得したくありません。これは、パフォーマンスの最適化の問題です。国とIDだけを取得し、SecondWrapを「ダウンロード」することさえできない方法はありますか?

4

2 に答える 2

1

これを行う唯一の方法は、これらの値のみを返す新しいメソッドを定義することです。

回答の一部だけを提供するようにサービスに指示することはできません。

于 2012-07-16T09:27:33.667 に答える
0

あなたの質問に関連して、ARO ツールを使用して、ネットワーク アクティビティとキャッシュの非効率性を示すことができます。ここでそれを見てみましょうhttp://developer.att.com/developer/legalAgreementPage.jsp?passedItemId=9700312

于 2012-07-16T10:24:25.427 に答える