juddi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex O'Ree (JIRA)" <juddi-...@ws.apache.org>
Subject [jira] [Commented] (JUDDI-561) Transaction rollback when PersonName Lang is greater than 5 characters
Date Wed, 06 Mar 2013 02:14:13 GMT

    [ https://issues.apache.org/jira/browse/JUDDI-561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13594246#comment-13594246
] 

Alex O'Ree commented on JUDDI-561:
----------------------------------

So if we were to make some unit tests to validate string lengths for those parameters, which
base project should it go in? The current structure of the tck tests do not make these types
of tests easy. It's like the tests were simply designed to make sure that the correct test
cases work, not for when incorrect tests case work (which would be a failure)


here's the min-max lengths. If only one number is listed, then the min length is 0
lang 26
bindingKey 255
businessKey 255
authorizedName 255
completionStatus 32
keyName 255
keyValue 255
address sort code 10
useType 255
findQualifier 1-255
instanceParms 1-8192
accessPoint 1-4096
description 1-255
discoveryUrl 1-4096
email address 1-255
name 1-255
overviewURL 1-4096
personname 1-255
phone 1-50

from replication
controlledMessage_type 1-255
message_type 1-255
timeOfConfigurationUpdate_type 1-255
operatorStatus_type 16
USN_type int 0-9223372036854775807

                
> Transaction rollback when PersonName Lang is greater than 5 characters
> ----------------------------------------------------------------------
>
>                 Key: JUDDI-561
>                 URL: https://issues.apache.org/jira/browse/JUDDI-561
>             Project: jUDDI
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.1.4
>            Reporter: Alex O'Ree
>            Assignee: Kurt T Stam
>             Fix For: 3.1.5
>
>         Attachments: validation of name lang element.patch
>
>
> Basically, there's a lack of validation of the input text for the language field of PersonName
and possibly others that causes a rather strange soap fault. The following exert is from the
catalina log.
> WARNING: Application {urn:uddi-org:v3_service}UDDIPublicationService#{urn:uddi-org:v3_service}save_business
has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: The transaction has been rolled back.  See the nested
exceptions for details on the errors that occurred.
> 	at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:155)
> 	at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:86)
> 	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:121)
> 	at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:60)
> 	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
> 	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> 	at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
> 	at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
> 	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
> 	at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
> 	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
> 	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188)
> 	at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> 	at java.lang.Thread.run(Thread.java:722)
> Caused by: <openjpa-1.2.2-r422266:898935 fatal general error> org.apache.openjpa.persistence.PersistenceException:
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:2187)
> 	at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2029)
> 	at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1927)
> 	at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1698)
> 	at org.apache.openjpa.kernel.QueryImpl.isInMemory(QueryImpl.java:956)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:796)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:775)
> 	at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:533)
> 	at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:252)
> 	at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:294)
> 	at org.apache.juddi.query.EntityQuery.getQueryResult(EntityQuery.java:128)
> 	at org.apache.juddi.query.FindEntityByPublisherQuery.select(FindEntityByPublisherQuery.java:83)
> 	at org.apache.juddi.query.FindBusinessByPublisherQuery.select(FindBusinessByPublisherQuery.java:44)
> 	at org.apache.juddi.validation.ValidatePublish.validateSaveBusinessMax(ValidatePublish.java:295)
> 	at org.apache.juddi.api.impl.UDDIPublicationImpl.saveBusiness(UDDIPublicationImpl.java:595)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:601)
> 	at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
> 	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)
> 	... 31 more
> Caused by: <openjpa-1.2.2-r422266:898935 nonfatal general error> org.apache.openjpa.persistence.PersistenceException:
A truncation error was encountered trying to shrink VARCHAR 'Click to edit' to length 5. {prepstmnt
2037277748 INSERT INTO j3_person_name (id, lang_code, name, contact_id) VALUES (?, ?, ?, ?)
[params=(long) 1452, (String) Click to edit, (String) Click to edit, (long) 1202]} [code=20000,
state=22001]
> FailedObject: org.apache.juddi.model.PersonName@3b79b2c6
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4244)
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4211)
> 	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:131)
> 	at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:89)
> 	at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:72)
> 	at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flushPrimaryRow(OperationOrderUpdateManager.java:203)
> 	at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flush(OperationOrderUpdateManager.java:89)
> 	at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
> 	at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
> 	at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:721)
> 	at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
> 	... 51 more
> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: A truncation error was
encountered trying to shrink VARCHAR 'Click to edit' to length 5. {prepstmnt 2037277748 INSERT
INTO j3_person_name (id, lang_code, name, contact_id) VALUES (?, ?, ?, ?) [params=(long) 1452,
(String) Click to edit, (String) Click to edit, (long) 1202]} [code=20000, state=22001]
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700(LoggingConnectionDecorator.java:57)
> 	at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:866)
> 	at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
> 	at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1590)
> 	at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:151)
> 	at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:120)
> 	... 59 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message