Mirth Connect: javascript to call a webservice

僤鯓⒐⒋嵵緔 提交于 2019-12-22 15:37:09

问题


I'm trying to call a web service from a Mirth Channel transformer javascript using apache axis library (which it's supposed to be deployed with Mirth). I've tried using the following java script, but it does not work:

/*importPackage(java.net);
importPackage(org.apache.axis.client.Call);
importPackage(org.apache.axis.client.Service);
importPackage(javax.xml.namespace.QName);*/

  var endpoint = 'http://tempuri.org/IService1/';
  var service = org.apache.axis.client.Service();
  var call = service.createCall();
  call.setTargetEndpointAddress( new URL(endpoint) );
  call.setOperationName(new QName('http://soapinterop.org/', 'SayHello'));
  var ret = call.invoke('John Doe');

Any idea?

Thanks.


回答1:


Answer:

  • Auto-generate service client proxy with Axis WDSL2Jave tool
  • Build a JAR archive with the auto-generated classes
  • Copy the JAR file in %MirthInstallPath%/lib/custom
  • Re-start Mirth service
  • Create a transformer JavaScript with the following code (in this example the WS is called Service1, a sample WS coded with .NET):
var locator = new Service1Locator();
var wsdlURL = new URL('http://localhost:8731/Design_Time_Addresses/HelloWorldWS/Service1'));
var proxy = locator.getBasicHttpBinding_IService1(wsdlURL);
var result = proxy.sayHello("John Doe");
// use result to whatever message mapping you need to perform

That's all.



来源:https://stackoverflow.com/questions/2147983/mirth-connect-javascript-to-call-a-webservice

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!