Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
1.3
-
None
-
None
-
None
-
windows xp, tomcat 6.0.14, jdk 1.6.0_03
Description
I want to access the raw XML message but the function SOAPEnvelope.toString() fails.
Here is my code to access the raw XML message:
MessageContext mc = MessageContext.getCurrentMessageContext();
SOAPEnvelope env = mc.getEnvelope();
String rawXmlMsg = env.toString();
The SOAP message:
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><ns2:SOAPHeader xmlns:ns2="http://www.ESB/SOAP/Header" soapenv:mustUnderstand="0"><ns2:user>bartsch</ns2:user><ns2:password>password</ns2:password><ns2:userU2A>userU2A</ns2:userU2A><ns2:passwordU2A>passwordU2A</ns2:passwordU2A><ns2:userA2A>automa</ns2:userA2A></ns2:SOAPHeader></soapenv:Header><soapenv:Body><ns1:RepairRequest xmlns:ns1="http://sft.telecomitalia.it/cpc/interfacciaEos" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns1:RepairRequest"><tgu>012345678912</tgu><tecnologia>ATM</tecnologia><apoint>X</apoint></ns1:RepairRequest></soapenv:Body></soapenv:Envelope>
The stacktrace:
org.apache.axiom.om.OMException: java.util.NoSuchElementException
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:239)
at org.apache.axiom.om.impl.llom.OMElementImpl.buildNext(OMElementImpl.java:552)
at org.apache.axiom.om.impl.llom.OMElementImpl.getFirstOMChild(OMElementImpl.java:563)
at org.apache.axiom.om.impl.llom.OMElementImpl.getChildren(OMElementImpl.java:280)
at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:770)
at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:756)
at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:772)
at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:756)
at org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:345)
at org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java:913)
at org.apache.log4j.or.DefaultRenderer.doRender(DefaultRenderer.java:35)
at org.apache.log4j.or.RendererMap.findAndRender(RendererMap.java:79)
at org.apache.log4j.spi.LoggingEvent.getRenderedMessage(LoggingEvent.java:297)
at org.apache.log4j.helpers.PatternParser$BasicPatternConverter.convert(PatternParser.java:403)
at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:64)
at org.apache.log4j.PatternLayout.format(PatternLayout.java:503)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:301)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:159)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65)
at org.apache.log4j.Category.callAppenders(Category.java:203)
at org.apache.log4j.Category.forcedLog(Category.java:388)
at org.apache.log4j.Category.debug(Category.java:257)
at it.telecomitalia.sft.cpc.interfacciaeos.InterfacciaEosCpcSkeleton.getSOAPMessage(InterfacciaEosCpcSkeleton.java:171)
at it.telecomitalia.sft.cpc.interfacciaeos.InterfacciaEosCpcSkeleton.repair(InterfacciaEosCpcSkeleton.java:305)
at it.telecomitalia.sft.cpc.interfacciaeos.InterfacciaEosCpcMessageReceiverInOut.invokeBusinessLogic(InterfacciaEosCpcMessageReceiverInOut.java:51)