[
https://issues.jboss.org/browse/TEIID-4220?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-4220:
---------------------------------------
From what I can glean an exception is expected or at least allowed
behavior. Since cp1252 is not a standard charset name
http://www.iana.org/assignments/character-sets/character-sets.xhtml - it is not required
for the parser to recognize it. Woodstox attempts to change it into an IBM name, Xerces
requires a feature setting
https://xerces.apache.org/xerces2-j/features.html to allow Java
charset names to be used, and fasterxml allows Java charset names by default. So the
behavior will vary depending upon which library is used.
So this is mostly a client issue in the olingo serialization logic that is taking the Java
system encoding from the OutputStreamWriter and using it directly in the output document.
Ideally it should ensure that a standard charset name is being used.
Unsupported encoding when POSTing to odata on Windows
-----------------------------------------------------
Key: TEIID-4220
URL:
https://issues.jboss.org/browse/TEIID-4220
Project: Teiid
Issue Type: Bug
Components: OData
Affects Versions: 8.12.x
Reporter: Andrej Šmigala
Assignee: Steven Hawkins
Priority: Critical
When posting to a windows server from a windows client, the default encoding is cp1252.
When an xml request such as this is posted:
{code:xml}
<?xml version='1.0' encoding='cp1252'?><entry
xmlns="http://www.w3.org/2005/Atom"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:m="http://docs.oasis-open.org/odata/ns/metadata"
xmlns:d="http://docs.oasis-open.org/odata/ns/data"
xmlns:gml="http://www.opengis.net/gml"
xmlns:georss="http://www.georss.org/georss"><category
scheme="http://docs.oasis-open.org/odata/ns/scheme"/>
<content type="application/xml">
<m:properties>
<d:intkey m:type="Int32">4</d:intkey>
<d:intnum m:type="Int32">4</d:intnum>
<d:stringkey>4</d:stringkey>
<d:stringval>value_4</d:stringval>
<d:booleanval m:type="Boolean">false</d:booleanval>
<d:decimalval m:type="Double">-20.4</d:decimalval>
<d:timeval m:type="TimeOfDay">00:00:04</d:timeval>
<d:dateval m:type="Date">2004-04-04</d:dateval>
<d:timestampval
m:type="DateTimeOffset">2004-01-01T00:00:04Z</d:timestampval>
</m:properties>
</content>
</entry>
{code}
the following error is logged in the server:
{noformat}
09:54:38,069 WARN [org.teiid.ODATA] (http-/0.0.0.0:8080-1) TEIID16050 Unable to process
odata request due to: An I/O exception occurred. with cause Unsupported encoding: IBM1252:
Unsupported encoding: IBM1252
at
org.apache.olingo.server.core.deserializer.xml.ODataXmlDeserializer.entity(ODataXmlDeserializer.java:592)
at
org.apache.olingo.server.core.requests.DataRequest$EntityRequest.getEntityFromClient(DataRequest.java:367)
at
org.apache.olingo.server.core.requests.DataRequest$EntityRequest.execute(DataRequest.java:359)
at org.apache.olingo.server.core.requests.DataRequest.execute(DataRequest.java:255)
at
org.apache.olingo.server.core.ServiceDispatcher.internalExecute(ServiceDispatcher.java:160)
at org.apache.olingo.server.core.ServiceDispatcher.execute(ServiceDispatcher.java:98)
at org.apache.olingo.server.core.OData4HttpHandler.process(OData4HttpHandler.java:66)
at org.teiid.olingo.web.ODataServlet.service(ODataServlet.java:43)
[teiid-olingo-8.12.5.redhat-4.jar:8.12.5.redhat-4]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
[jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at org.teiid.olingo.web.ODataFilter.internalDoFilter(ODataFilter.java:226)
[teiid-olingo-8.12.5.redhat-4.jar:8.12.5.redhat-4]
at org.teiid.olingo.web.ODataFilter.doFilter(ODataFilter.java:100)
[teiid-olingo-8.12.5.redhat-4.jar:8.12.5.redhat-4]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
[jboss-as-web-7.5.4.Final-redhat-4.jar:7.5.4.Final-redhat-4]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
[jbossweb-7.5.11.Final-redhat-1.jar:7.5.11.Final-redhat-1]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_79]
Caused by: com.ctc.wstx.exc.WstxIOException: Unsupported encoding: IBM1252
at com.ctc.wstx.io.StreamBootstrapper.bootstrapInput(StreamBootstrapper.java:247)
at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:546)
at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:600)
at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:615)
at com.ctc.wstx.stax.WstxInputFactory.createXMLEventReader(WstxInputFactory.java:269)
at __redirected.__XMLInputFactory.createXMLEventReader(__XMLInputFactory.java:170)
[jboss-modules.jar:1.3.7.Final-redhat-1]
at
org.apache.olingo.server.core.deserializer.xml.ODataXmlDeserializer.getReader(ODataXmlDeserializer.java:97)
at
org.apache.olingo.server.core.deserializer.xml.ODataXmlDeserializer.entity(ODataXmlDeserializer.java:583)
... 26 more
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)