PSICQUIC: psicquic0.12.wsdl

File psicquic0.12.wsdl, 18.5 KB (added by baranda, 16 years ago)

Final version at the BioHackathon?

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
3             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
4             xmlns:xs="http://www.w3.org/2001/XMLSchema"
5             xmlns:psq="http://psi.hupo.org/mi/psicquic"
6             xmlns:mif="http://psi.hupo.org/mi/mif"
7             xmlns:mitab="http://psi.hupo.org/mi/mitab"
8             targetNamespace="http://psi.hupo.org/mi/psicquic">
9
10    <types>
11
12        <xs:schema elementFormDefault="qualified"
13                   targetNamespace="http://psi.hupo.org/mi/psicquic">
14
15            <xs:import namespace="http://psi.hupo.org/mi/mif"
16                       schemaLocation="http://psidev.sourceforge.net/mi/rel25/src/MIF254.xsd"/>
17            <xs:import namespace="http://psi.hupo.org/mi/mitab"
18                       schemaLocation="http://www.ebi.ac.uk/~intact/mi/psimitab-1.0.xsd"/>
19
20            <!-- types -->
21
22            <xs:complexType name="dbRefType">
23                <xs:sequence>
24                    <xs:element name="db" type="xs:string" default=""/>
25                    <xs:element name="ac" type="xs:string" default=""/>
26                </xs:sequence>
27            </xs:complexType>
28
29            <xs:complexType name="dbRefListType">
30                <xs:sequence>
31                    <xs:element name="dbRef" type="psq:dbRefType" minOccurs="1" maxOccurs="unbounded"/>
32                </xs:sequence>
33            </xs:complexType>
34
35            <xs:complexType name="queryType">
36                <xs:sequence>
37                    <xs:element name="queryFormat" type="xs:string"/>
38                    <xs:element name="queryString" type="xs:string"/>
39                </xs:sequence>
40            </xs:complexType>
41
42            <xs:complexType name="resultInfoType">
43                <xs:sequence>
44                    <xs:element name="firstResult" type="xs:int"/>
45                    <xs:element name="totalResults" type="xs:int"/>
46                    <xs:element name="blockSize" type="xs:int"/>
47                    <xs:element name="expirationDate" type="xs:dateTime"/>
48                </xs:sequence>
49            </xs:complexType>
50
51            <xs:complexType name="dbRefRequestType">
52                <xs:sequence>
53                    <xs:element name="dbRef" type="psq:dbRefType"/>
54                    <xs:element name="resultType" type="xs:string"/>
55                    <xs:element name="firstResult" type="xs:int" default="0"/>
56                    <xs:element name="blockSize" type="xs:int" default="200"/>
57                </xs:sequence>
58            </xs:complexType>
59
60            <xs:complexType name="dbRefListRequestType">
61                <xs:sequence>
62                    <xs:element name="dbRefList" type="psq:dbRefType"/>
63                    <xs:element name="resultType" type="xs:string"/>
64                    <xs:element name="firstResult" type="xs:int" default="0"/>
65                    <xs:element name="blockSize" type="xs:int" default="200"/>
66                </xs:sequence>
67            </xs:complexType>
68
69            <xs:complexType name="queryRequestType">
70                <xs:sequence>
71                    <xs:element name="query" type="psq:queryType"/>
72                    <xs:element name="resultType" type="xs:string"/>
73                    <xs:element name="firstResult" type="xs:int" default="0"/>
74                    <xs:element name="blockSize" type="xs:int" default="200"/>
75                </xs:sequence>
76            </xs:complexType>
77
78            <xs:complexType name="queryResponseType">
79                <xs:sequence>
80                    <xs:element name="resultSet" type="psq:resultSetType"/>
81                    <xs:element name="resultInfo" type="psq:resultInfoType"/>
82                </xs:sequence>
83            </xs:complexType>
84
85            <xs:complexType name="resultSetType">
86                <xs:sequence>
87                    <xs:element name="entrySet" type="mif:entrySetType" minOccurs="0" maxOccurs="1"/>
88                    <xs:element name="mitab" type="mitab:mitabType" minOccurs="0" maxOccurs="1"/>
89                </xs:sequence>
90            </xs:complexType>
91
92            <!-- elements -->
93
94            <xs:element name="getByInteractorRequest" type="psq:dbRefRequestType"/>
95            <xs:element name="getByInteractionRequest" type="psq:dbRefRequestType"/>
96            <xs:element name="getByInteractorListRequest" type="psq:dbRefListRequestType"/>
97            <xs:element name="getByInteractionListRequest" type="psq:dbRefListType"/>
98            <xs:element name="getBetweenListRequest" type="psq:dbRefListRequestType"/>
99            <xs:element name="getByQueryStringRequest" type="psq:queryRequestType"/>
100
101            <xs:element name="getVersionResponse" type="xs:string"/>
102            <xs:element name="supportedDataTypes">
103                <xs:complexType>
104                    <xs:sequence>
105                        <xs:element name="dataType" type="xs:string" maxOccurs="unbounded"/>
106                    </xs:sequence>
107                </xs:complexType>
108            </xs:element>
109
110            <xs:element name="queryResponse" type="psq:queryResponseType"/>
111
112            <!-- faults -->
113
114            <xs:element name="psicquicFault">
115                <xs:complexType>
116                    <xs:sequence>
117                        <xs:element name="code" type="xs:int"/>
118                        <xs:element name="message" type="xs:string"/>
119                    </xs:sequence>
120                </xs:complexType>
121            </xs:element>
122
123        </xs:schema>
124
125    </types>
126
127    <!-- MESSAGES -->
128
129    <message name="getByInteractorRequestMessage">
130        <part name="dbRef" element="psq:getByInteractorRequest"/>
131    </message>
132
133    <message name="getByInteractorResponseMessage">
134        <part name="queryResponse" element="psq:queryResponse"/>
135    </message>
136
137    <message name="getByInteractionRequestMessage">
138        <part name="dbRef" element="psq:getByInteractionRequest"/>
139    </message>
140
141    <message name="getByInteractionResponseMessage">
142        <part name="queryResponse" element="psq:queryResponse"/>
143    </message>
144
145    <message name="getByInteractorListRequestMessage">
146        <part name="dbRefList" element="psq:getByInteractorListRequest"/>
147    </message>
148
149    <message name="getByInteractorListResponseMessage">
150        <part name="queryResponse" element="psq:queryResponse"/>
151    </message>
152
153    <message name="getBetweenListRequestMessage">
154        <part name="dbRefList" element="psq:getBetweenListRequest"/>
155
156    </message>
157
158    <message name="getBetweenListResponseMessage">
159        <part name="queryResponse" element="psq:queryResponse"/>
160    </message>
161
162    <message name="getByInteractionListRequestMessage">
163        <part name="dbRefList" element="psq:getByInteractionListRequest"/>
164    </message>
165
166    <message name="getByInteractionListResponseMessage">
167        <part name="queryResponse" element="psq:queryResponse"/>
168    </message>
169
170    <message name="getByQueryRequestMessage">
171        <part name="query" element="psq:getByQueryStringRequest"/>
172    </message>
173
174    <message name="getByQueryResponseMessage">
175        <part name="queryResponse" element="psq:queryResponse"/>
176    </message>
177
178    <message name="getVersionRequestMessage">
179    </message>
180
181    <message name="getVersionResponseMessage">
182        <part name="output" element="psq:getVersionResponse"/>
183    </message>
184
185    <message name="getSupportedDataTypesRequestMessage">
186    </message>
187
188    <message name="getSupportedDataTypesResponseMessage">
189        <part name="output" element="psq:supportedDataTypes"/>
190    </message>
191
192    <message name="psicquicServiceException">
193        <part name="fault" element="psq:psicquicFault"/>
194    </message>
195
196    <message name="notSupportedDataTypeException">
197        <part name="fault" element="psq:psicquicFault"/>
198    </message>
199
200    <message name="notSupportedMethodException">
201        <part name="fault" element="psq:psicquicFault"/>
202    </message>
203
204    <!-- Port type (operations) -->
205
206    <portType name="psicquicPortType">
207
208        <!-- get interactions by interactor ref -->
209
210        <operation name="getByInteractor" parameterOrder="dbRef">
211
212            <input name="getByInteractorRequestMessage" message="psq:getByInteractorRequestMessage"/>
213            <output name="getByInteractorResponseMessage" message="psq:getByInteractorResponseMessage"/>
214
215            <fault name="getByInteractorException1" message="psq:psicquicServiceException"/>
216            <fault name="getByInteractorException2" message="psq:notSupportedMethodException"/>
217            <fault name="getByInteractorException3" message="psq:notSupportedDataTypeException"/>
218        </operation>
219
220        <!-- get interactions by interaction ref -->
221
222        <operation name="getByInteraction" parameterOrder="dbRef">
223            <input name="getByInteractionRequestMessage" message="psq:getByInteractionRequestMessage"/>
224            <output name="getbyInteractionResponseMessage" message="psq:getByInteractionResponseMessage"/>
225
226            <fault name="getByInteractionException1" message="psq:psicquicServiceException"/>
227            <fault name="getByInteractionException2" message="psq:notSupportedMethodException"/>
228            <fault name="getByInteractionException3" message="psq:notSupportedDataTypeException"/>
229        </operation>
230
231        <!-- get interactions by interactor ref list -->
232
233        <operation name="getByInteractorList" parameterOrder="dbRefList">
234            <input name="getByInteractorListRequestMessage" message="psq:getByInteractorListRequestMessage"/>
235            <output name="getByInteractorListResponseMessage" message="psq:getByInteractorListResponseMessage"/>
236
237            <fault name="getByInteractorListException1" message="psq:psicquicServiceException"/>
238            <fault name="getByInteractorListException2" message="psq:notSupportedMethodException"/>
239            <fault name="getByInteractorListException3" message="psq:notSupportedDataTypeException"/>
240        </operation>
241
242        <!-- get interactions between interactor ref list -->
243
244        <operation name="getBetweenList" parameterOrder="dbRefList">
245            <input name="getBetweenListRequestMessage" message="psq:getBetweenListRequestMessage"/>
246            <output name="getBetweenListResponseMessage" message="psq:getBetweenListResponseMessage"/>
247
248            <fault name="getBetweenListException1" message="psq:psicquicServiceException"/>
249            <fault name="getBetweenListException2" message="psq:notSupportedMethodException"/>
250            <fault name="getBetweenListException3" message="psq:notSupportedDataTypeException"/>
251        </operation>
252
253        <!-- get interactions by interaction ref list -->
254
255        <operation name="getByInteractionList" parameterOrder="dbRefList">
256            <input name="getByInteractionListRequestMessage" message="psq:getByInteractionListRequestMessage"/>
257            <output name="getByInteractionListResponseMessage" message="psq:getByInteractionListResponseMessage"/>
258
259            <fault name="getByInteractionListException1" message="psq:psicquicServiceException"/>
260            <fault name="getByInteractionListException2" message="psq:notSupportedMethodException"/>
261            <fault name="getByInteractionListException3" message="psq:notSupportedDataTypeException"/>
262        </operation>
263
264        <!-- get interactions by query sring -->
265
266        <operation name="getByQuery" parameterOrder="query">
267
268            <input name="getByQueryRequestMessage" message="psq:getByQueryRequestMessage"/>
269            <output name="getByQueryResponseMessage" message="psq:getByQueryResponseMessage"/>
270
271            <fault name="getByQueryException1" message="psq:psicquicServiceException"/>
272            <fault name="getByQueryException2" message="psq:notSupportedMethodException"/>
273            <fault name="getByQueryException3" message="psq:notSupportedDataTypeException"/>
274        </operation>
275
276        <!-- get version -->
277
278        <operation name="getVersion">
279            <input message="psq:getVersionRequestMessage"/>
280            <output name="getVersionResponseMessage" message="psq:getVersionResponseMessage"/>
281
282            <fault name="getVersionException" message="psq:psicquicServiceException"/>
283        </operation>
284
285        <!-- get supported data types -->
286
287        <operation name="getSupportedDataTypes">
288            <input message="psq:getSupportedDataTypesRequestMessage"/>
289            <output name="getSupportedDataTypesResponseMessage" message="psq:getSupportedDataTypesResponseMessage"/>
290            <fault name="getSupportedDataTypesException" message="psq:psicquicServiceException"/>
291        </operation>
292
293    </portType>
294
295    <!-- BINDING (bind operations) -->
296
297    <binding name="psicquicSoapBinding" type="psq:psicquicPortType">
298        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
299
300        <operation name="getByInteractor">
301
302            <soap:operation soapAction="getByInteractor"/>
303            <input>
304                <soap:body use="literal"/>
305            </input>
306            <output>
307                <soap:body use="literal"/>
308            </output>
309            <fault name="getByInteractorException1">
310                <soap:fault name="getByInteractorException1" use="literal"/>
311            </fault>
312            <fault name="getByInteractorException2">
313                <soap:fault name="getByInteractorException2" use="literal"/>
314            </fault>
315            <fault name="getByInteractorException3">
316                <soap:fault name="getByInteractorException3" use="literal"/>
317            </fault>
318        </operation>
319
320        <operation name="getByInteraction">
321            <soap:operation soapAction="getByInteraction"/>
322            <input>
323                <soap:body use="literal"/>
324            </input>
325            <output>
326
327                <soap:body use="literal"/>
328            </output>
329            <fault name="getByInteractionException1">
330                <soap:fault name="getByInteractionException1" use="literal"/>
331            </fault>
332            <fault name="getByInteractionException2">
333                <soap:fault name="getByInteractionException2" use="literal"/>
334            </fault>
335            <fault name="getByInteractionException3">
336                <soap:fault name="getByInteractionException3" use="literal"/>
337            </fault>
338        </operation>
339
340        <operation name="getByInteractorList">
341            <soap:operation soapAction="getByInteractorList"/>
342
343            <input>
344                <soap:body use="literal"/>
345            </input>
346            <output>
347                <soap:body use="literal"/>
348            </output>
349            <fault name="getByInteractorListException1">
350                <soap:fault name="getByInteractorListException1" use="literal"/>
351            </fault>
352            <fault name="getByInteractorListException2">
353                <soap:fault name="getByInteractorListException2" use="literal"/>
354            </fault>
355            <fault name="getByInteractorListException3">
356                <soap:fault name="getByInteractorListException3" use="literal"/>
357            </fault>
358
359        </operation>
360
361        <operation name="getBetweenList">
362            <soap:operation soapAction="getBetweenList"/>
363            <input>
364                <soap:body use="literal"/>
365            </input>
366            <output>
367                <soap:body use="literal"/>
368
369            </output>
370            <fault name="getBetweenListException1">
371                <soap:fault name="getBetweenListException1" use="literal"/>
372            </fault>
373            <fault name="getBetweenListException2">
374                <soap:fault name="getBetweenListException2" use="literal"/>
375            </fault>
376            <fault name="getBetweenListException3">
377                <soap:fault name="getBetweenListException3" use="literal"/>
378            </fault>
379        </operation>
380
381        <operation name="getByInteractionList">
382            <soap:operation soapAction="getByInteractionList"/>
383            <input>
384                <soap:body use="literal"/>
385            </input>
386            <output>
387                <soap:body use="literal"/>
388            </output>
389            <fault name="getByInteractionListException1">
390                <soap:fault name="getByInteractionListException1" use="literal"/>
391            </fault>
392            <fault name="getByInteractionListException2">
393                <soap:fault name="getByInteractionListException2" use="literal"/>
394            </fault>
395            <fault name="getByInteractionListException3">
396                <soap:fault name="getByInteractionListException3" use="literal"/>
397            </fault>
398        </operation>
399
400        <operation name="getByQuery">
401            <soap:operation soapAction="getByQuery"/>
402            <input>
403                <soap:body use="literal"/>
404            </input>
405            <output>
406                <soap:body use="literal"/>
407            </output>
408
409            <fault name="getByQueryException1">
410                <soap:fault name="getByQueryException1" use="literal"/>
411            </fault>
412            <fault name="getByQueryException2">
413                <soap:fault name="getByQueryException2" use="literal"/>
414            </fault>
415            <fault name="getByQueryException3">
416                <soap:fault name="getByQueryException3" use="literal"/>
417            </fault>
418        </operation>
419
420        <operation name="getVersion">
421            <soap:operation soapAction="getVersion"/>
422            <input>
423                <soap:body use="literal"/>
424            </input>
425            <output>
426                <soap:body use="literal"/>
427            </output>
428            <fault name="getVersionException">
429                <soap:fault name="getVersionException" use="literal"/>
430            </fault>
431
432        </operation>
433
434        <operation name="getSupportedDataTypes">
435            <soap:operation soapAction="getSupportedDataTypes"/>
436            <input>
437                <soap:body use="literal"/>
438            </input>
439            <output>
440                <soap:body use="literal"/>
441            </output>
442            <fault name="getSupportedDataTypesException">
443                <soap:fault name="getSupportedDataTypesException" use="literal"/>
444            </fault>
445        </operation>
446
447    </binding>
448
449    <!-- SERVICE -->
450    <service name="psicquicService">
451        <port name="psicquic" binding="psq:psicquicSoapBinding">
452            <soap:address location="http://psi.hupo.org/mi/services/psicquic"/>
453        </port>
454    </service>
455</definitions>