[
https://issues.jboss.org/browse/TEIID-4220?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-4220:
---------------------------------------
Sorry I wasn't clear. I mean do you want to remove the woodstox dependency in places
where it seems unnecessary?
And yes the core resolution here should be to consider this as unsupported. We can add a
doc warning if needed about using a supported encoding type.
Andrej, how tools did you use on windows to generate this payload?
He's using the olingo serialization AtomSerializer passing an OutputStreamWriter that
is defaulting to the system encoding. The olingo logic is using the fasterxml
OutputFactoryImpl which then determine the encoding off of the OutputStreamWriter -
fasterxml has logic for normalizing the encoding name, but nothing that forces a
"valid" encoding to be 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)