0

XML を使用して SOAP Web サービスと通信するアプリを作成しています。一度に複数のエントリを送信する必要があります。SOAP ページには、次のような XML を使用する必要があると書かれています。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <InsertArrivaliOS xmlns="http://microsoft.com/webservices/">
      <GuestID>long</GuestID>
      <Key>string</Key>
      <NumberOfGuests>int</NumberOfGuests>
      <Table>string</Table>
      <Note>string</Note>
      <ArrivalDate>dateTime</ArrivalDate>
    </InsertArrivaliOS>
  </soap:Body>
</soap:Envelope>

2 つの InsertArrivaliOS ノードを送信したいと思います。このようなことは可能ですか?

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <InsertArrivaliOS xmlns="http://microsoft.com/webservices/">
      <GuestID>long</GuestID>
      <Key>string</Key>
      <NumberOfGuests>int</NumberOfGuests>
      <Table>string</Table>
      <Note>string</Note>
      <ArrivalDate>dateTime</ArrivalDate>
    </InsertArrivaliOS>
<InsertArrivaliOS xmlns="http://microsoft.com/webservices/">
      <GuestID>long</GuestID>
      <Key>string</Key>
      <NumberOfGuests>int</NumberOfGuests>
      <Table>string</Table>
      <Note>string</Note>
      <ArrivalDate>dateTime</ArrivalDate>
    </InsertArrivaliOS>
  </soap:Body>
</soap:Envelope>
4

1 に答える 1

1

リストを使用して、InsertArrivaliOS を他の要素にラップできます。スキーマを定義するときに、バインドされていない InsertArrivaliOS 要素のシーケンスとして then を使用して別の型を追加できます。したがって、xml コードは次のようになります。

 <soap:Body>
   <listArrival xmlns="http://example.org">
    <InsertArrivaliOS xmlns="http://microsoft.com/webservices/">
      <GuestID>long</GuestID>
      <Key>string</Key>
      <NumberOfGuests>int</NumberOfGuests>
      <Table>string</Table>
      <Note>string</Note>
      <ArrivalDate>dateTime</ArrivalDate>
    </InsertArrivaliOS>
<InsertArrivaliOS xmlns="http://microsoft.com/webservices/">
      <GuestID>long</GuestID>
      <Key>string</Key>
      <NumberOfGuests>int</NumberOfGuests>
      <Table>string</Table>
      <Note>string</Note>
      <ArrivalDate>dateTime</ArrivalDate>
    </InsertArrivaliOS> 
   </listArrival>
  </soap:Body>

アイデアが見えますか?または、スキーマを変更することはできませんか?

于 2012-12-04T10:32:37.843 に答える