web stats
upgrading from mirth 1.8 to 3 - soap listener channel - Mirth Community

Go Back   Mirth Community > Mirth Connect > Support

Reply
 
Thread Tools Display Modes
  #1  
Old 11-26-2014, 11:42 PM
oferp oferp is offline
What's HL7?
 
Join Date: Nov 2013
Posts: 1
oferp is on a distinguished road
Default upgrading from mirth 1.8 to 3 - soap listener channel

Hi,
We are upgrading our mirth from ver 1.8 to 3 and having difficulties sending soap messages to a web service channel using Java apache axis call.
We keep on getting the error "Cannot find dispatch method for {http://tempuri.org/}acceptMessage".
We saw that between ver 1.8 to ver 2 there was a change that transformed all soap listener channels to web service listener channels and therefore our soap request should be change, but maybe you can help us understand how exactly should it change?
we managed to send the request via a mirth WS sender channel with the following envelope:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.connectors.connect.mirth.com/">
<soapenv:Header/>
<soapenv:Body>
<ws:acceptMessage>
<arg0>${XmlUtil.encode(${message.rawData})}</arg0>
</ws:acceptMessage>
</soapenv:Body>
</soapenv:Envelope>

So what we like to modify our request to have the same envelope.

here's our original code (request sender):

SOAPChannelStub stub = new SOAPChannelStub();

m_Operation = new org.apache.axis.description.OperationDesc();
org.apache.axis.description.OperationDesc oper;
org.apache.axis.description.ParameterDesc param;
oper = new org.apache.axis.description.OperationDesc();
oper.setName("acceptMessage");
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tempuri.org/", "input"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
param.setNillable(true);
oper.addParameter(param);
oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
oper.setReturnClass(java.lang.String.class);
oper.setReturnQName(new javax.xml.namespace.QName("http://tempuri.org/", "acceptMessage"+ "Result"));
oper.setStyle(org.apache.axis.constants.Style.WRAP PED);
oper.setUse(org.apache.axis.constants.Use.LITERAL) ;
m_Operation = oper;

org.apache.axis.client.Call _call = stub.createCall();
_call.setOperation(m_Operation);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI("acceptMessage");
_call.setEncodingStyle(null);
_call.setProperty(org.apache.axis.client.Call.SEND _TYPE_ATTR, Boolean.FALSE);
_call.setProperty(org.apache.axis.AxisEngine.PROP_ DOMULTIREFS, Boolean.FALSE);
_call.setSOAPVersion(org.apache.axis.soap.SOAPCons tants.SOAP11_CONSTANTS);
_call.setOperationName(new javax.xml.namespace.QName("http://tempuri.org/", "acceptMessage"));
_call.setProperty("javax.xml.rpc.service.endpoint. address", "http://127.0.0.1:10050/services/Mirth?wsdl");
Object resp = _call.invoke(new java.lang.Object[] {XMLToSend});

Can you help us understand how should the code be modified in order to send soap messages to the new mirth?

Thanks in advanced,
Ofer
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 06:15 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Mirth Corporation