2013-05-30 161 views
0

我有一個引發com.ctc.wstx.exc.WstxParsingException的Metro web服務客戶端。Java Metro客戶端拋出WstxParsingException

如果我正確地閱讀它,它是說「3」是一個無效的XML字符。那是對的嗎?什麼是「擴展字符」,爲什麼「3」無效?

完整堆棧跟蹤:

Exception in thread "main" com.sun.xml.ws.encoding.soap.DeserializationException: Failed to read a response: javax.xml.bind.UnmarshalException 
- with linked exception: 
[com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x3) not a valid XML character 
at [row,col {unknown-source}]: [2,4154]] 
     at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:124) 
     at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89) 
     at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:140) 
     at $Proxy34.getSubInfoByRel(Unknown Source) 
     at com.my.company.client.SOAPClient.getSubscriberInfoByTN(SOAPClient.java:237) 
Caused by: javax.xml.bind.UnmarshalException 
- with linked exception: 
[com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x3) not a valid XML character 
at [row,col {unknown-source}]: [2,4154]] 
     at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:426) 
     at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362) 
     at com.sun.xml.bind.v2.runtime.BridgeImpl.unmarshal(BridgeImpl.java:120) 
     at com.sun.xml.bind.api.Bridge.unmarshal(Bridge.java:233) 
     at com.sun.xml.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:547) 
     at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:121) 
     ... 5 more 
Caused by: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x3) not a valid XML character 
at [row,col {unknown-source}]: [2,4154] 
     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.resolveCharEnt(StreamScanner.java:2277) 
     at com.ctc.wstx.sr.StreamScanner.fullyResolveEntity(StreamScanner.java:1468) 
     at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2755) 
     at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) 
     at com.sun.xml.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:92) 
     at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:192) 
     at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360) 
     ... 9 more 

回答

0

的問題是(code 0x3)是Unicode代碼點,因此非法XML字符。數據的擁有者已被告知。感謝Woostox郵件列表中的Josh提供幫助。

相關問題