我在Java中创建了一个自定义Web服务,就像描述on the Mirth wiki
一样Web服务类中定义的方法很少,但我不知道如何配置Mirth以侦听单个Web服务的不同方法。有没有关于这个问题的教程?如何为不同的方法定义不同的输入和输出数据?
答案 0 :(得分:1)
您可以在类@javax.jws.WebMethod
中使用@javax.jws.WebParam
和AcceptMessage
注释,并且您的返回值可以是您已适当装饰为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
}
}
您的AuthResponse
,Query
和QueryResponse
对象可以适当地装饰(使用java.xml.bind.annotation...
)个对象。然后,您的方法将在WSDL中描述(Mirth为您提供连接器中的地址),因此您的服务可以由第三方使用。