View Javadoc
1   /*
2    * Copyright 2012 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.commons.ihe.xds.iti51;
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.query.AdhocQueryRequest;
21  import org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.query.AdhocQueryResponse;
22  
23  import javax.jws.WebMethod;
24  import javax.jws.WebParam;
25  import javax.jws.WebResult;
26  import javax.jws.WebService;
27  import javax.jws.soap.SOAPBinding;
28  import javax.xml.bind.annotation.XmlSeeAlso;
29  import javax.xml.ws.Action;
30  
31  /**
32   * Provides the ITI-51 web-service interface.
33   */
34  @WebService(targetNamespace = "urn:ihe:iti:xds-b:2007", name = "DocumentRegistry_PortType", portName = "DocumentRegistry_Port_Soap12")
35  @XmlSeeAlso({
36          org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.rim.ObjectFactory.class,
37          org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.lcm.ObjectFactory.class,
38          org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.rs.ObjectFactory.class,
39          org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.query.ObjectFactory.class
40  })
41  @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
42  @DataBinding(XdsJaxbDataBinding.class)
43  public interface Iti51PortType {
44  
45      /**
46       * Performs a stored query according to the ITI-51 specification.
47       * @param body
48       *          the query request.
49       * @return the query response.
50       */
51      @WebResult(name = "AdhocQueryResponse",
52              targetNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0",
53              partName = "body")
54      @Action(input = "urn:ihe:iti:2009:MultiPatientStoredQuery",
55              output = "urn:ihe:iti:2009:MultiPatientStoredQueryResponse")
56      @WebMethod(operationName = "DocumentRegistry_MultiPatientStoredQuery")
57      AdhocQueryResponse documentRegistryMultiPatientStoredQuery(
58              @WebParam(partName = "body",
59                      name = "AdhocQueryRequest",
60                      targetNamespace = "urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0")
61                      AdhocQueryRequest body
62      );
63  }