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.
________________________________________________________________________

Reply via email to