欢乐定制网络服务

时间:2015-10-22 15:35:53

标签: java web-services mirth

我在Java中创建了一个自定义Web服务,就像描述on the Mirth wiki

一样

Web服务类中定义的方法很少,但我不知道如何配置Mirth以侦听单个Web服务的不同方法。有没有关于这个问题的教程?如何为不同的方法定义不同的输入和输出数据?

1 个答案:

答案 0 :(得分:1)

您可以在类@javax.jws.WebMethod中使用@javax.jws.WebParamAcceptMessage注释,并且您的返回值可以是您已适当装饰为XML的任何类。类似的东西:

package mypackage.myservices;

import javax.jws.WebParam;
import javax.jws.WebService;

import com.mirth.connect.connectors.ws.AcceptMessage;
import com.mirth.connect.connectors.ws.WebServiceReceiver;

@WebService
public class QueryService extends AcceptMessage {

    public QueryService(WebServiceReceiver webServiceReceiver) {
        super(webServiceReceiver);
    }

    @WebMethod(action="Authenticate")
    public AuthResponse authenticate(@WebParam(name="Username") String username, 
        @WebParam(name="Password") String password) {
        //authenticate your user and return an AuthResponse, 
        //possibly containing a token for use in subsequent calls...

        return new AuthResponse();
    }

    @WebMethod(action="GetResponse")
    public QueryResponse getResponse(@WebParam(name="QueryObject") Query query) {
        //handle the Query object, use it to get data from a DB, or whatever

        return new QueryResponse(); // or an appropriate Response object
    }
}

您的AuthResponseQueryQueryResponse对象可以适当地装饰(使用java.xml.bind.annotation...)个对象。然后,您的方法将在WSDL中描述(Mirth为您提供连接器中的地址),因此您的服务可以由第三方使用。