Table of Contents | ||
---|---|---|
|
Die Anfrage ist ein Element vom Typ This request comprises an element of type vcc:SearchResultRequest, das den Typ which extends vct:TransactionRequestType um die folgenden Elemente erweitertwith the following elements:
Name | TypType/Vorkommenoccurrence | BeschreibungDescription |
---|---|---|
StartIndex | xsd:integer | Index des ersten Artikels, der übertragen werden soll (0-basiert)of the first item to be communicated (0 as base). |
Count | xsd:integerAnzahl | der ArtikelNumber of items. |
ResultFormat | vcc:ResultFormatType | Format der Suchergebnisseof search results. |
DoNotClose | xsd:boolean? | Flag , um das automatische Beenden der Transaktion bei Rückgabe des letzten Artikels zu verhindern |
...
to prevent the transaction from ending automatically when the last item is returned. |
The response comprises a vcc:SearchResultResponse element which extends vct:TransactionResponseType as follows:
Name | TypType/Vorkommenoccurrence | BeschreibungDescription |
---|---|---|
StartIndex | xsd:integer | Index des ersten Artikels, der übermittelt wird (0-basiert)of the first communicated item (0 as base). |
Count | xsd:integerAnzahl der Artikel, die übermittelt werden | Number of communicated items. |
ResultFormat | vcc:ResultFormatType | Format der Suchergebnisseof search results. |
cac:Item | *Artikelstammdaten | Item master data. |
vco:ItemDetail | *Artikelstammdaten und Verfügbarkeit | Item master data and availability. |
cac:SellersItemIdentifcation | *Artikelnummer | Item number. |
...
Rule: SearchResult
Ein veloconnect-konformer Server verarbeitet eine Anfrage SearchResult wie folgt:
...
Ist die im Request übergebene TransactionID unbekannt wird ein SearchResultResponse mit ResponseCode 420 zurückgeliefert.
...
Ist die referenzierte Transaktionsinstanz nicht im Zustand 2 wird ein SearchResultResponse mit ResponseCode 430 zurückgeliefert.
...
A Veloconnect-compliant server processes a SearchResult request as follows:
If the TransactionID submitted in the request is unknown, a SearchResultResponse with ResponseCode 420 is returned.
If the referenced transaction instance is not in state 2, a SearchResultResponse with ResponseCode 430 is returned.
The transaction context supplies the total number of hits, as well as a list of found articles; the hit list is not empty, otherwise the transaction instance would be in state 100. The start index submitted by the client is first modified as follows: If the number is negative, it is replaced with 0; if it is greater than or equal to TotalCount, it is replaced with TotalCount - 1. The number submitted via Count is then also modified as follows: If the number is negative, it is replaced with 0. If Startindex + Count > TotalCount, wird then Count durch is replaced with TotalCount - Startindex ersetzt. Der Server kann eine obere Schranke für Count festlegen und Count gegebenfalls durch diese obere Schranke ersetzen. Die obere Schranke darf weder kleiner als 50 noch kleiner als 2% von TotalCount sein. Die aktuellen Werte für TotalCount, StartIndex und Count werden im Element SearchResultResponse abgelegt. Ebenso wird der Inhalt von ResultFormat übernommen.
Falls ResultFormat nicht den Inhalt COUNT hat, wird nun für Count viele Artikel der Trefferliste beginnend mit dem Index Startindex (Index ist 0-basiert) wie folgt verfahren:
Ist ITEM_DETAIL Inhalt von ResultFormat, wird gemäss Regel: GetItemDetailsList ein Element ItemDetail erzeugt.
Ist ITEM_TYPE Inhalt von ResultFormat, wird aus den Stammdaten des Artikels ein Element Item erzeugt.
Ist ID_ONLY Inhalt von ResultFormat, wird aus der Artikelnummer des Artikels ein Element SellersItemIdentification erzeugt.
Das vollständig ausgefüllte Element vcc:SearchResultResponse wird mit ResponseCode 200 an den Client übermittelt.
Die Transaktion verbleibt im Zustand 2, es sei denn, es gilt StartIndex + Count >= TotalCount und in vcc:SearchResultRequest hat das Element DoNotClose nicht den Wert . The server can define an upper limit for Count, and replace Count with this limit if necessary. The upper limit must not be smaller than 50 or 2% of TotalCount. The current values of TotalCount, StartIndex and Count are saved in the SearchResultResponse element. The content of ResultFormat is also taken over.
If ResultFormat does not contain COUNT, multiple items in the hit list, beginning with Startindex (0-based), are handled as follows for Count:
If ITEM_DETAIL is contained in ResultFormat, an ItemDetail element is created as per Rule: GetItemDetailsList.
If ITEM_TYPE is contained in ResultFormat, an Item element is created from the item's master data
If ID_ONLY is contained in ResultFormat, the item number is used to create a SellersItemIdentification element.
The filled-out vcc:SearchResultResponse element is conveyed with ResponseCode 200 to the client.
The transaction remains in state 2 unless StartIndex + Count >= TotalCount, and the DoNotClose element in vcc:SearchResultRequest is not true.