欢乐连接:javascript调用webservice

时间:2010-01-27 15:14:34

标签: javascript web-services axis mirth

我正在尝试使用apache轴库(它应该与Mirth一起部署)从Mirth Channel变换器javascript调用Web服务。 我尝试使用以下java脚本,但它不起作用:

/*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');

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:3)

答案:

  • 使用Axis WDSL2Jave工具自动生成服务客户端代理
  • 使用自动生成的类构建JAR存档
  • 复制%MirthInstallPath%/ lib / custom
  • 中的JAR文件
  • 重新启动欢乐服务
  • 使用以下代码创建转换器JavaScript(在此示例中,WS称为Service1,一个使用.NET编码的示例WS):
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

就是这样。