From: Mohannad Hammadeh [mailto:mohannad.hamma...@orionhealth.com]
Sent: 22 February 2010 22:22
To: java-user@axis.apache.org
Subject: unsubscribe
----- Original Message -----
From: "Paul Grillo" <paul.gri...@trivininc.com>
To: java-user@axis.apache.org
Sent: Tuesday, February 23, 2010 10:06:48 AM
Subject: unsubscribe
________________________________
From: Oleg Kozlov [mailto:oleg.koz...@leadpoint.com]
Sent: Monday, February 22, 2010 3:50 PM
To: java-user@axis.apache.org
Subject: illegal XML character 0x8 from a .Net SOAP service :(
Hello,
I have an Axis2 1.5.1 (Java) client, auto-generated by wsdl2java with XmlBeans
framework.
I'm integrating with a new vendor that has a SOAP web service written in .Net.
The service is basically a wrapper around a legacy telephony switch. The
service returns 1-9 binary numbers in its response in one of the XML elements.
I have to point out that I our (client) side we do not even need to use that
element at all, it just has some meaningless data... Apparently our vendor's
other clients are all using .Net and the .Net framework does not care about
inserting or parsing illegal characters in the SOAP Body ...
So, I'm getting an exception (see below).
I tried solving this problem by writing a custom Axis2 client module where I
get access to the XML element that contains illegal characters and either set
it's text value to blank string, or detach and get rid of the whole XML element
altogether (since I don't need it). However, every time I iterate to the bad
XML element - the parser blows up with the parsing error again inside my custom
module. Also, due to the fact that Axis is using pull parsing method - there is
no way to jump over the element with binary data, so I was not able to copy the
entire XML DOM into a new DOM document skipping over the bad element.
I could not find a way to get low level access to XML stream where I could, for
example, read from an input stream and write to an output stream, and skip over
the illegal character.
Can anyone recommend another solution?
==============================
org.apache.axis2.AxisFault: [com.ctc.wstx.exc.WstxLazyException] Illegal
character entity: expansion character (code 0x8) not a valid XML character
at [row,col {unknown-source}]: [1,13020]
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at
leadpoint.voice.service.paetec.callrecords.client.ServiceStub.fromOM(ServiceStub.java:3315)
at
leadpoint.voice.service.paetec.callrecords.client.ServiceStub.getEnhancedCDR(ServiceStub.java:1063)
at
leadpoint.voice.service.paetec.callrecords.client.ServiceTest.testgetEnhancedCDR(ServiceTest.java:184)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
com.intellij.junit3.JUnit3IdeaTestRunner.doRun(JUnit3IdeaTestRunner.java:108)
at
com.intellij.junit3.JUnit3IdeaTestRunner.startRunnerWithArgs(JUnit3IdeaTestRunner.java:42)
at
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:165)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:110)
Caused by: [com.ctc.wstx.exc.WstxLazyException]
com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion
character (code 0x8) not a valid XML character
at [row,col {unknown-source}]: [1,13020]
at com.ctc.wstx.exc.WstxLazyException.throwLazily(WstxLazyException.java:45)
at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:704)
at
com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3657)
at
com.ctc.wstx.sr.BasicStreamReader.getTextCharacters(BasicStreamReader.java:830)
at
javax.xml.stream.util.StreamReaderDelegate.getTextCharacters(StreamReaderDelegate.java:158)
at
org.apache.axiom.om.impl.builder.SafeXMLStreamReader.getTextCharacters(SafeXMLStreamReader.java:113)
at
org.apache.axiom.om.impl.llom.OMStAXWrapper.getTextCharacters(OMStAXWrapper.java:418)
at
org.apache.axiom.om.util.OMXMLStreamReaderValidator.getTextCharacters(OMXMLStreamReaderValidator.java:239)
at org.apache.xmlbeans.impl.store.Locale.loadXMLStreamReader(Locale.java:1154)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:843)
at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:826)
at
org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:231)
at
com.paetec.e800ws.xmlservices.GetEnhancedCDRResponseDocument$Factory.parse(GetEnhancedCDRResponseDocument.java:165)
at
leadpoint.voice.service.paetec.callrecords.client.ServiceStub.fromOM(ServiceStub.java:3226)
... 23 more
Caused by: com.ctc.wstx.exc.WstxParsingException: Illegal character entity:
expansion character (code 0x8) not a valid XML character
at [row,col {unknown-source}]: [1,13020]
at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:605)
at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:461)
at com.ctc.wstx.sr.StreamScanner.reportIllegalChar(StreamScanner.java:2375)
at com.ctc.wstx.sr.StreamScanner.checkAndExpandChar(StreamScanner.java:2321)
at com.ctc.wstx.sr.StreamScanner.resolveSimpleEntity(StreamScanner.java:1180)
at
com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4675)
at
com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStreamReader.java:4124)
at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3699)
at
com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3647)
... 34 more
==============================
Thank you,
Oleg.
NOTICE: This e-mail message and any attachments are confidential. Dissemination
of this information by any person, including the intended recipient, or use of
this information by any person other than the intended recipient is
unauthorized. If you are not the intended recipient: please notify me by return
e-mail as soon as possible, do not open any attachment and delete this
communication and any copies from your computer. Thank you.
--
Mohannad Hammadeh | Legacy Interface Developer | Orion Health
P: +64 9 638 0600 | M: +64 21 334 143
F: +64 9 638 0699 | skype: mohannad.hammadeh
Orion Health | www.orionhealth.com
2nd Floor, Orion House | Cnr Mary and Enfield St | Mount Eden | Auckland 1003 |
New Zealand
This e-mail and any attachments are intended only for the person to whom it is
addressed and may contain privileged, proprietary, or other data protected from
disclosure under applicable law. If you are not the addressee or the person
responsible for delivering this to the addressee you are hereby notified that
reading, copying or distributing this transmission is prohibited. If you have
received this e-mail in error, please telephone us immediately and remove all
copies of it from your system. Thank you for your co-operation.
________________________________________________________________________
This e-mail has been scanned for viruses, however, No liability is accepted for
any viruses contained in this message or any of its attachments and it is the
recipient?s liability to scan this message and its attachment for the same.
________________________________________________________________________