2

我正在尝试使用 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');

任何的想法?

谢谢。

4

1 回答 1

3

回答:

  • 使用 Axis WDSL2Jave 工具自动生成服务客户端代理
  • 使用自动生成的类构建 JAR 存档
  • 复制 %MirthInstallPath%/lib/custom 中的 JAR 文件
  • 重新启动 Mirth 服务
  • 使用以下代码创建转换器 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

就这样。

于 2010-02-07T20:01:42.680 回答