0

石鹸のモックサービスをより動的にしようとしていますが、少し問題が発生しました。複数の応答項目にデータベース行の情報を入力する方法がわかりません。プロジェクトのセットアップと、できる限りやろうとしていることを説明します。

プロジェクトは次のように機能します。 1. アプリケーションは、XML 要求を SOAP モックサービスに送信するようにセットアップされます。2. mockservice は、groovy スクリプトを使用してデータベース接続をセットアップします。リクエストで渡された情報を使用して、データベースから関連する行を取得します。

(以下は、把握しようとしている部分です) 3. データベース クエリ応答の各行は、応答内の個別の項目になります。

私が望むものの例。

リクエスト:

<?xml version="1.0" encoding="UTF-8"?>
   <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
     <qdiGetPartyFull xmlns="urn:QDIServices">
        <anItem>3328666</anItem>
        <anItem>3328666</anItem>
     </qdiGetPartyFull>
  </soapenv:Body>

応答:

<?xml version="1.0" encoding="utf-8"?>
   <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
     <ItemFullResponse xmlns="urn:Services">
        <ItemFullReturn>
           <ItemReponse>
              <country>qwe</country>
              <county>abc</county>
              <postcode>123</postcode>
              <itemError>
                 <errorCode>0</errorCode>
                 <errorMessage xsi:nil="true"/>
              </itemError>
              <status>xyz</status>
           </ItemReponse>
           <ItemReponse>
              <country>qwe</country>
              <county>abc</county>
              <postcode>123</postcode>
              <itemError>
                 <errorCode>0</errorCode>
                 <errorMessage xsi:nil="true"/>
              </itemError>
              <status>xyz</status>
           </ItemReponse>
           <iError xsi:nil="true"/>
        </ItemFullReturn>
    </ItemFullResponse>
  </soapenv:Body>

フォーマットが悪くてすみません。

私が今いる場所: groovy を使用して行を返すデータベース接続があります。各行を新しい itemResponse に配置する方法を理解する必要があります。

また、リクエスト内のアイテム数 = アイテム数 / 応答の行であることにも言及する必要があります。

4

1 に答える 1

1

理解した。

MarkupBuilder を使用して xml を生成し、コンテキストを使用して、生成された xml を応答に書き込みました。

おそらくそれを行うより良い方法ですが、これはうまくいくようです。

完成したらコードを投稿します

于 2013-10-07T14:00:29.157 に答える