Mirth 自定义 Web 服务
Mirth custom web service
我在 Java 中创建了一个自定义 Web 服务,就像 on the Mirth wiki
中描述的那样
Web 服务中定义的方法很少class,但我不知道如何配置 Mirth 来监听单个 Web 服务的不同方法。有没有关于这个问题的教程?如何为不同的方法定义不同的输入和输出数据?
您可以在扩展 AcceptMessage
的 class 中使用 @javax.jws.WebMethod
和 @javax.jws.WebParam
注释,您的 return 值可以是任何 class,您已将其适当地装饰为 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 中创建了一个自定义 Web 服务,就像 on the Mirth wiki
中描述的那样Web 服务中定义的方法很少class,但我不知道如何配置 Mirth 来监听单个 Web 服务的不同方法。有没有关于这个问题的教程?如何为不同的方法定义不同的输入和输出数据?
您可以在扩展 AcceptMessage
的 class 中使用 @javax.jws.WebMethod
和 @javax.jws.WebParam
注释,您的 return 值可以是任何 class,您已将其适当地装饰为 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 在连接器中为您提供了地址),因此第三方可以使用您的服务。