Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 5589 invoked from network); 18 Sep 2009 19:45:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 18 Sep 2009 19:45:38 -0000 Received: (qmail 61594 invoked by uid 500); 18 Sep 2009 19:45:38 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 61542 invoked by uid 500); 18 Sep 2009 19:45:38 -0000 Mailing-List: contact dev-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list dev@openjpa.apache.org Received: (qmail 61532 invoked by uid 99); 18 Sep 2009 19:45:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Sep 2009 19:45:38 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Sep 2009 19:45:36 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 04396234C044 for ; Fri, 18 Sep 2009 12:45:16 -0700 (PDT) Message-ID: <1919010112.1253303116002.JavaMail.jira@brutus> Date: Fri, 18 Sep 2009 12:45:16 -0700 (PDT) From: "Donald Woods (JIRA)" To: dev@openjpa.apache.org Subject: [jira] Work started: (OPENJPA-1310) SQLServer requires XML in UTF-16 instead of UTF-8 In-Reply-To: <676869185.1253302756129.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/OPENJPA-1310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Work on OPENJPA-1310 started by Donald Woods. > SQLServer requires XML in UTF-16 instead of UTF-8 > ------------------------------------------------- > > Key: OPENJPA-1310 > URL: https://issues.apache.org/jira/browse/OPENJPA-1310 > Project: OpenJPA > Issue Type: Sub-task > Components: jdbc > Reporter: Donald Woods > Assignee: Donald Woods > Fix For: 2.0.0-M3 > > > We have 12 test failures in org.apache.openjpa.persistence.xmlmapping.query.TestXMLCustomerOrder due to the JAXB marshalled data using the default of UTF-8, whereas SQL Server (2005 and 2008) are expecting any XML data to be encoded as UTF-16/UCS-2. > 6594 test TRACE [main] openjpa.Runtime - An exception occurred while ending the transaction. This exception will be re-thrown. > org.apache.openjpa.util.StoreException: The transaction has been rolled back. See the nested exceptions for details on the errors that occurred. > at org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2249) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2096) > at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1994) > at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1912) > at org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81) > at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1436) > at org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:895) > at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:557) > at org.apache.openjpa.persistence.xmlmapping.query.TestXMLCustomerOrder.setUp(TestXMLCustomerOrder.java:78) > at junit.framework.TestCase.runBare(TestCase.java:125) > at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.runBare(AbstractPersistenceTestCase.java:501) > at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.runBare(AbstractPersistenceTestCase.java:477) > at junit.framework.TestResult$1.protect(TestResult.java:106) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.framework.TestResult.run(TestResult.java:109) > at junit.framework.TestCase.run(TestCase.java:118) > at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.run(AbstractPersistenceTestCase.java:177) > at junit.framework.TestSuite.runTest(TestSuite.java:208) > at junit.framework.TestSuite.run(TestSuite.java:203) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213) > at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) > at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(Ab > stractDirectoryTestSuite.java:127) > at org.apache.maven.surefire.Surefire.run(Surefire.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces > sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) > at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)Caused by: org.apache.openjpa.util.StoreException: XML parsing: line 1, character 55, unable to switch the encoding {prepstmnt 2144097377 INSERT INTO TORDER (oid, amount, delivered, shipAddress, version, CUSTOMER_COUNTRYCODE, CUSTOMER_ID) VALUES (?, ?, ?, ?, ?, ?, ?) [params=(int) 10, (double) 850.0, (int) 0, (String) encoding="UTF-8" standalone="yes"?><..., (int) 1, (String) USA, (in > t) 1]} [code=9402, state=S0001]FailedObject: org.apache.openjpa.persistence.xmlmapping.entities.Order@178ed77a > at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4587) > at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4540) > at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102) > at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:72) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:141) > at org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:80) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:97) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:85) > at org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:550) > at org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:106) > at org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:59) > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:103) > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:76) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:677) > at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130) > ... 32 more > Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: XML parsing: line 1, character 55, unable to switch the encoding {prepstmnt 2144097377 INSERT INTO TORDER (oid, amount, delivered, shipAddress, version, CUSTOMER_COUNTRYCODE, CUSTOMER_ID) VALUES (?, ?, ?, ?, ?, ?, ?) [params=(int) 10, (double) 850.0, (int) 0, (String) <..., (int) 1, (String) USA, (int) 1]} [code=9402, state=S0001] > at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:239) > at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$1000(LoggingConnectionDecorator.java:70) > at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:1069) > at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:285) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1612) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:246) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:116) > ... 42 more > NestedThrowables: > org.apache.openjpa.util.StoreException: XML parsing: line 1, character 55, unable to switch the encoding {prepstmnt 1147066451 INSERT INTO TORDER (oid, amount, delivered, shipAddress, version, CUSTOMER_COUNTRYCODE, CUSTOMER_ID) VALUES (?, ?, ?, ?, ?, ?, ?) [params=(int) 20, (double) 1000.0, (int) 0, (String) <..., (int) 1, (String) USA, (int) 1]} [code=9402, state=S0001] > FailedObject: org.apache.openjpa.persistence.xmlmapping.entities.Order@4d5fc672 > at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4587) > at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4540) > at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102) > at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:72) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:141) > at org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:80) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:97) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:85) > at org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:550) > at org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:106) > at org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:59) > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:103) > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:76) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:677) > at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2096) > at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1994) > at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1912) > at org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81) > at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1436) > at org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:895) > at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:557) > at org.apache.openjpa.persistence.xmlmapping.query.TestXMLCustomerOrder.setUp(TestXMLCustomerOrder.java:78) > at junit.framework.TestCase.runBare(TestCase.java:125) > at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.runBare(AbstractPersistenceTestCase.java:501) > at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.runBare(AbstractPersistenceTestCase.java:477) > at junit.framework.TestResult$1.protect(TestResult.java:106) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.framework.TestResult.run(TestResult.java:109) > at junit.framework.TestCase.run(TestCase.java:118) > at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.run(AbstractPersistenceTestCase.java:177) > at junit.framework.TestSuite.runTest(TestSuite.java:208) > at junit.framework.TestSuite.run(TestSuite.java:203) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213) > at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) > at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) > at org.apache.maven.surefire.Surefire.run(Surefire.java:177) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) > at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) > Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: XML parsing: line 1, character 55, unable to switch the encoding {prepstmnt 1147066451 INSERT INTO TORDER (oid, amount, delivered, shipAddress, version, CUSTOMER_COUNTRYCODE, CUSTOMER_ID) VALUES (?, ?, ?, ?, ?, ?, ?) [params=(int) 20, (double) 1000.0, (int) 0, (String) <..., (int) 1, (String) USA, (int) 1]} [code=9402, state=S0001] > at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:239) > at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$1000(LoggingConnectionDecorator.java:70) > at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:1069) > at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:285) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1612) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:246) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:116) > ... 42 more > NestedThrowables: > com.microsoft.sqlserver.jdbc.SQLServerException: XML parsing: line 1, character 55, unable to switch the encoding > at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196) > at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1454) > at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:388) > at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:338) > at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026) > at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416) > at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:185) > at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:160) > at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:306) > at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102) > at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:285) > at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:1067) > at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:285) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1612) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:246) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:116) > at org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:80) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:97) > at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:85) > at org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:550) > at org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:106) > at org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:59) > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:103) > at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:76) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:677) > at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2096) > at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1994) > at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1912) > at org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81) > at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1436) > at org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:895) > at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:557) > at org.apache.openjpa.persistence.xmlmapping.query.TestXMLCustomerOrder.setUp(TestXMLCustomerOrder.java:78) > at junit.framework.TestCase.runBare(TestCase.java:125) > at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.runBare(AbstractPersistenceTestCase.java:501) > at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.runBare(AbstractPersistenceTestCase.java:477) > at junit.framework.TestResult$1.protect(TestResult.java:106) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.framework.TestResult.run(TestResult.java:109) > at junit.framework.TestCase.run(TestCase.java:118) > at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.run(AbstractPersistenceTestCase.java:177) > at junit.framework.TestSuite.runTest(TestSuite.java:208) > at junit.framework.TestSuite.run(TestSuite.java:203) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213) > at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) > at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) > at org.apache.maven.surefire.Surefire.run(Surefire.java:177) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) > at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.