User bio
404 bio not found
Member since Oct 18, 2019
Posts:
Replies:
Ok this make sense, thank you. This if what I get from the $CLASSNAME log:
this: <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <rootNode> <nodeOne> <NodeTwo> <auxNode>20180920</auxNode> <helpNode>E</helpNode> </NodeTwo> </nodeOne> </rootNode>
This, instead, is the java class:
Class com.santer.siss.mapping.v25.fse.tester.HL7toXML Extends java.lang.Object [ ProcedureBlock ] { Parameter IMPORTTIMESTAMP As STRING = "2019-10-17 10:06:14.0"; Method %OnNew(ByRef p0 As %ObjectHandle) As %Status { Quit:'$D(p0) $$$OK Quit ..%Constructor(p0,"com.santer.siss.mapping.v25.fse.tester.HL7toXML",0) } ClassMethod hl7ToRP(ByRef p0 As %ObjectHandle, ByRef p1 As %ObjectHandle) As %ObjectHandle { Quit ..%SR(p0,"hl7ToRP","com.santer.siss.mapping.v25.fse.tester.HL7toXML",.p1) } }
I have tried to put it into a stream in two ways:
1.
2. With an XSLT in order to add the SOAP envelope:
set sc = ..Transform(output, "xdata://" _ $classname() _ ":" _ "addSOAP", .finalResponse)
Thanks to trace operation, I was seeing the the tranform was working but I was getting an error before the asysnc request. I'm posing everithig below:
Transform
XData addSOAP { <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <xsl:output method="xml" omit-xml-declaration="yes" indent="no"/> <xsl:template match="/"> <soapenv:Envelope xmlns:soapenv='http://www.w3.org/2003/05/soap-envelope' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:s='http://www.w3.org/2001/XMLSchema' xmlns:wsa='http://www.w3.org/2005/08/addressing'> <soapenv:Header/> <soapenv:Body> <xsl:copy-of select="*"/> </soapenv:Body> </soapenv:Envelope> </xsl:template> </xsl:stylesheet> }
Trasform Output:
<?xml version="1.0" ?> <!-- type: HS.Util.Trace.Request id: 149506 --> <Request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://www.w3.org/2001/XMLSchema"><HSCoreVersion> 16 </HSCoreVersion><CurrentClass> lombardia.bus.HL7DCEPreProcess </CurrentClass><CurrentMethod> Transform </CurrentMethod><Comment> After Transform xdata://lombardia.bus.HL7DCEPreProcess:addSOAP </Comment><Items><Item><ItemName> tSC </ItemName><ItemValue> 1 </ItemValue></Item><Item><ItemName> pOutput </ItemName><ItemValue> <![CDATA[<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soapenv:Header/> <soapenv:Body> <rootNode> <nodeOne> <NodeTwo> <auxNode>20180920</auxNode> <helpNode>E</helpNode> </NodeTwo> </nodeOne> </rootNode> </soapenv:Body></soapenv:Envelope>]]> </ItemValue></Item></Items> </Request>
In this case I get this Error:
ERRORE #5002: Errore di Caché: <SUBSCRIPT>%SaveData+29^Ens.MessageHeader.1 ^Ens.MessageHeaderI("MessageBodyId","<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap |
but it seems to be truncated.
Thanks a lot for your answer and collaboration
Certifications & Credly badges:
Federico has no Certifications & Credly badges yet.
Global Masters badges:
Federico has no Global Masters badges yet.
Followers:
Federico has no followers yet.
Following:
Federico has not followed anybody yet.
Thank you so much. I solved the problem.