[teiid-issues] [JBoss JIRA] (TEIID-4220) Unsupported encoding when POSTing to odata on Windows

Steven Hawkins (JIRA) issues at jboss.org
Fri May 27 11:05:00 EDT 2016


    [ https://issues.jboss.org/browse/TEIID-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13244167#comment-13244167 ] 

Steven Hawkins commented on TEIID-4220:
---------------------------------------

As best as I can tell this is a client issue, and that the windows client is introducing the IBM1252 encoding into the xml declaration.

If you change your test client logic to explicitly set the charset to Cp1252 on the OutputStreamWriter, does it seem to work?  Otherwise I don't see where the encoding is getting introduced.

> 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)



More information about the teiid-issues mailing list