Проект

Общее

Профиль

Руководство пользователя » История » Версия 17

Rustam Usmanov, 27.04.2015 17:39

1 1 Rustam Usmanov
h1. Руководство пользователя
2 2 Rustam Usmanov
3 14 Rustam Usmanov
{{toc}}
4
5 13 Rustam Usmanov
h2. Поиск и извлечение записей
6
7
Поиск и извлечение записей осуществляются по протоколу "SRU 2.0":http://www.loc.gov/standards/sru/sru-2-0.html. Поддерживаются:
8 16 Rustam Usmanov
* Язык запросов "PQF":http://www.indexdata.com/yaz/doc/tools.html#PQF (*queryType=pqf*) - для работы со всеми БД Руслан.
9
* Язык запросов "CQL":http://www.loc.gov/standards/sru/cql/spec.html - только в части работы с результирующим множеством (*query=cql.resultSetId=default*).
10
* Одновременное использование нескольких результирующих множеств. Создание и удаление результирующих множеств осуществляется сервисом автоматически. При отсутствии в запросе на поиск параметра *resultSetTTL* создается результирующее множество с именем ??default??. В противном случае создается результирующее множество с уникальным именем.
11
* Значения ??string?? и ??xml?? параметра *recordXMLEscaping*.
12
* Ответные сообщения в форматах XML и JSON. Запрос того или иного формата осуществляется при помощи заголовка HTTP *Accept* - соотв. поддерживаются значения ??application/xml??, ??application/json??.
13
* Извлечение записей в схеме OPAC - для этого следует использовать заголовок HTTP *Accept* со значением ??application/opac+xml?? либо ??application/opac+json??.
14 13 Rustam Usmanov
15 17 Rustam Usmanov
Запрос отправляется методом GET по адресу "/db/name" относительно корневого URL Web-сервисов, где name - название БД, в которой осуществляется поиск (например, http://testbed.ruslan.ru:8080/rrs-web/db/books).
16
17 3 Rustam Usmanov
h2. Заказ документа (бронирование, заказ копии)
18 1 Rustam Usmanov
19 5 Rustam Usmanov
Заказ документа осуществляется в соответствии с NISO Circulation Interchange Protocol (NCIP) v. 2.0.2. Запрос отправляется методом POST по адресу "ncip" относительно корневого URL Web-сервисов (например, http://testbed.ruslan.ru:8080/rrs-web/ncip).
20 3 Rustam Usmanov
21 6 Rustam Usmanov
h3. Входные параметры (обязательные)
22 7 Rustam Usmanov
23 16 Rustam Usmanov
* Идентификатор пользователя, от имени которого осуществляется заказ - *UserId/UserIdentifierValue*.
24
* Идентификатор библиографической записи, описывающей объект заказа - *BibliographicId/BibliographicRecordId/BibliographicRecordIdentifier*.
25
* Идентификатор заказываемой услуги - *RequestType*. Значения: ??Hold?? - бронирование, ??Non-returnable Copy?? - копия.
26
* Область применения запроса - *RequestScopeType*. Значения: ??Bibliographic Item?? - любой экземпляр, ??Item?? - конкретный экземпляр.
27
* Идентификатор места выдачи заказа - *PickupLocation*.
28
* Идентификатор домашней организации пользователя - *UserId/AgencyId*.
29
* Идентификатор организации-держателя заказываемого документа - *BibliographicId/BibliographicRecordId/AgencyId*.
30 6 Rustam Usmanov
31 8 Rustam Usmanov
h3. Выходные параметры (обязательные)
32
33 16 Rustam Usmanov
* Идентификатор пользователя, от имени которого осуществляется заказ - *UserId/UserIdentifierValue*.
34
* Идентификатор заказываемой услуги - *RequestType*. Значения: ??Hold?? - бронирование, ??Non-returnable Copy?? - копия.
35
* Область применения запроса - *RequestScopeType*. Значения: ??Bibliographic Item?? - любой экземпляр, ??Item?? - конкретный экземпляр.
36
* Идентификатор заказа - *RequestId/RequestIdentifierValue*. Является ключом записи на заказ в БД заказов.
37
* Идентификатор домашней организации пользователя - *UserId/AgencyId*.
38
* Сведения о проблемах возникших в процессе обработки запроса - *Problem*.
39 8 Rustam Usmanov
40 9 Rustam Usmanov
Запрос XML:
41 1 Rustam Usmanov
<pre><code class="xml">
42
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
43
<ns1:NCIPMessage xmlns:ns1="http://www.niso.org/2008/ncip">
44
  <ns1:RequestItem>
45
    <ns1:UserId>
46
      <ns1:AgencyId>19013582</ns1:AgencyId>
47
      <ns1:UserIdentifierValue>sip</ns1:UserIdentifierValue>
48
    </ns1:UserId>
49
    <ns1:BibliographicId>
50
      <ns1:BibliographicRecordId>
51
        <ns1:BibliographicRecordIdentifier>RU\SPSTU\books\241</ns1:BibliographicRecordIdentifier>
52
        <ns1:AgencyId>19013582</ns1:AgencyId>
53
      </ns1:BibliographicRecordId>
54
    </ns1:BibliographicId>
55
    <ns1:RequestType ns1:Scheme="http://www.niso.org/ncip/v1_0/imp1/schemes/requesttype/requesttype.scm">Hold</ns1:RequestType>
56
    <ns1:RequestScopeType ns1:Scheme="http://www.niso.org/ncip/v1_0/imp1/schemes/requestscopetype/requestscopetype.scm">Bibliographic Item</ns1:RequestScopeType>
57
    <ns1:PickupLocation>СПбГПУ/ОНЛ/АбонОНЛ</ns1:PickupLocation>
58
  </ns1:RequestItem>
59 3 Rustam Usmanov
</ns1:NCIPMessage>
60
</code></pre>
61 1 Rustam Usmanov
62 9 Rustam Usmanov
Запрос JSON:
63
<pre><code class="json">
64
{
65
    "RequestItem": {
66
        "UserId": {
67
            "AgencyId": {
68
                "value": "19013582"
69
            },
70
            "UserIdentifierValue": "002"
71
        },
72
        "BibliographicId": {
73
            "BibliographicRecordId": {
74
                "BibliographicRecordIdentifier": "RU\\SPSTU\\books\\241",
75
                "AgencyId": {
76
                    "value": "19013582"
77
                }
78
            }
79
        },
80
        "RequestType": {
81
            "value": "Hold",
82
            "Scheme": "http://www.niso.org/ncip/v1_0/imp1/schemes/requesttype/requesttype.scm"
83
        },
84
        "RequestScopeType": {
85
            "value": "Bibliographic Item",
86
            "Scheme": "http://www.niso.org/ncip/v1_0/imp1/schemes/requestscopetype/requestscopetype.scm"
87
        },
88
        "PickupLocation": {
89
            "value": "СПбГПУ/ОНЛ/АбонОНЛ"
90
        }
91
    }
92
}
93
</code></pre>
94
95
Ответ XML (неуспешное завершение):
96 3 Rustam Usmanov
<pre><code class="xml">
97
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
98
<ns1:NCIPMessage xmlns:ns1="http://www.niso.org/2008/ncip">
99
  <ns1:RequestItemResponse>
100
    <ns1:Problem>
101
      <ns1:ProblemType>Diagnostic [220] Additional Info : </ns1:ProblemType>
102 1 Rustam Usmanov
      <ns1:ProblemDetail>220: </ns1:ProblemDetail>
103 4 Rustam Usmanov
    </ns1:Problem>
104
  </ns1:RequestItemResponse>
105 1 Rustam Usmanov
</ns1:NCIPMessage>
106
</code></pre>
107
108 9 Rustam Usmanov
Ответ JSON (неуспешное завершение):
109
<pre><code class="json">
110
{
111
    "RequestItemResponse": {
112
        "Problem": {
113
            "ProblemType": {
114
                "value": "Diagnostic [220] Additional Info : "
115
            },
116
            "ProblemDetail": "220: "
117
        }
118
    }
119
}
120
</code></pre>
121
122 11 Rustam Usmanov
Ответ XML (успешное завершение):
123 4 Rustam Usmanov
<pre><code class="xml">
124
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
125
<ns1:NCIPMessage xmlns:ns1="http://www.niso.org/2008/ncip">
126
  <ns1:RequestItemResponse>
127
    <ns1:UserId>
128
      <ns1:AgencyId>19013582</ns1:AgencyId>
129
      <ns1:UserIdentifierValue>sip</ns1:UserIdentifierValue>
130
    </ns1:UserId>
131
    <ns1:RequestType ns1:Scheme="http://www.niso.org/ncip/v1_0/imp1/schemes/requesttype/requesttype.scm">Hold</ns1:RequestType>
132
    <ns1:RequestScopeType ns1:Scheme="http://www.niso.org/ncip/v1_0/imp1/schemes/requestscopetype/requestscopetype.scm">Bibliographic Item</ns1:RequestScopeType>
133
    <ns1:RequestId>
134
      <ns1:RequestIdentifierValue>302</ns1:RequestIdentifierValue>
135 1 Rustam Usmanov
    </ns1:RequestId>
136
  </ns1:RequestItemResponse>
137
</ns1:NCIPMessage>
138 9 Rustam Usmanov
</code></pre>
139
140
Ответ JSON (успешное завершение):
141
<pre><code class="json">
142
{
143
    "RequestItemResponse": {
144
        "UserId": {
145
            "AgencyId": {
146
                "value": "19013582"
147
            },
148
            "UserIdentifierValue": "002"
149
        },
150
        "RequestType": {
151
            "value": "Hold",
152
            "Scheme": "http://www.niso.org/ncip/v1_0/imp1/schemes/requesttype/requesttype.scm"
153
        },
154
        "RequestScopeType": {
155
            "value": "Bibliographic Item",
156
            "Scheme": "http://www.niso.org/ncip/v1_0/imp1/schemes/requestscopetype/requestscopetype.scm"
157
        },
158
        "RequestId": {
159
            "RequestIdentifierValue": "373"
160
        }
161
    }
162
}
163 1 Rustam Usmanov
</code></pre>