View Javadoc
1   /*
2    * Copyright 2015 the original author or authors.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.openehealth.ipf.platform.camel.ihe.xds.dispatch;
17  
18  import org.apache.cxf.annotations.DataBinding;
19  import org.openehealth.ipf.commons.ihe.xds.core.XdsJaxbDataBinding;
20  import org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.lcm.SubmitObjectsRequest;
21  import org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.query.AdhocQueryRequest;
22  import org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.query.AdhocQueryResponse;
23  import org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.rs.RegistryResponseType;
24  
25  import javax.jws.WebMethod;
26  import javax.jws.WebParam;
27  import javax.jws.WebResult;
28  import javax.jws.WebService;
29  import javax.jws.soap.SOAPBinding;
30  import javax.xml.bind.annotation.XmlSeeAlso;
31  import javax.xml.ws.Action;
32  
33  @WebService(targetNamespace = "urn:ihe:iti:xds-b:2007", name = "DocumentRegistry_PortType", portName = "DocumentRegistry_Port_Soap12")
34  @XmlSeeAlso({
35          org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.rim.ObjectFactory.class,
36          org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.lcm.ObjectFactory.class,
37          org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.rs.ObjectFactory.class,
38          org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.query.ObjectFactory.class
39  })
40  @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
41  @DataBinding(XdsJaxbDataBinding.class)
42  public interface DocumentRegistryPortType {
43  
44      /**
45       * Performs a stored query according to the ITI-18 specification.
46       * @param body
47       *          the query request.
48       * @return the query response.
49       */
50      @WebResult(name = "AdhocQueryResponse",
51              targetNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0",
52              partName = "body")
53      @Action(input = "urn:ihe:iti:2007:RegistryStoredQuery",
54              output = "urn:ihe:iti:2007:RegistryStoredQueryResponse")
55      @WebMethod(operationName = "DocumentRegistry_RegistryStoredQuery")
56      public AdhocQueryResponse documentRegistryRegistryStoredQuery(
57              @WebParam(partName = "body",
58                      name = "AdhocQueryRequest",
59                      targetNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0")
60              AdhocQueryRequest body
61      );
62  
63      /**
64       * Registers a set of documents according to the ITI-42 specification.
65       * @param body
66       *          the request.
67       * @return the response.
68       */
69      @WebResult(name = "RegistryResponse",
70              targetNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0",
71              partName = "body")
72      @Action(input = "urn:ihe:iti:2007:RegisterDocumentSet-b",
73              output = "urn:ihe:iti:2007:RegisterDocumentSet-bResponse")
74      @WebMethod(operationName = "DocumentRegistry_RegisterDocumentSet-b")
75      public RegistryResponseType documentRegistryRegisterDocumentSetB(
76              @WebParam(partName = "body",
77                      name = "SubmitObjectsRequest",
78                      targetNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0")
79              SubmitObjectsRequest body
80      );
81  
82  }