2010-01-27 17 views
2

J'essaie d'appeler un service web à partir d'un javascript Transformateur Mirth Channel en utilisant la bibliothèque Axe Apache (qu'il est censé être déployé avec Mirth). J'ai essayé d'utiliser le script java suivant, mais il ne fonctionne pas:Mirth Connect: javascript pour appeler un service web

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

Toute idée?

Merci.

Répondre

3

Réponse:

  • Auto-service Generate proxy client avec l'outil Axis WDSL2Jave
  • construire une archive JAR avec les classes générées automatiquement
  • Copiez le fichier JAR en% MirthInstallPath%/lib/custom
  • Re-démarrer le service Mirth
  • Insérer un JavaScript transformateur avec le code suivant (dans cet exemple, le WS est appelé Service1, un échantillon codé avec WS .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 

C'est tout.