我用 Java 制作了一个自定义 Web 服务,就像描述的那样 on the Mirth wiki
Web服务类中定义的方法很少,但我不知道如何配置Mirth来监听单个Web服务的不同方法。有关于这个问题的教程吗?如何为不同的方法定义不同的输入和输出数据?
最佳答案
您可以在扩展 AcceptMessage
的类中使用 @javax.jws.WebMethod
和 @javax.jws.WebParam
注释,并且您的返回值可以是您已适当修饰为 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 在连接器中为您提供地址)中进行描述,以便第三方可以使用您的服务。
关于java - Mirth 定制网络服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33284959/