You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@juddi.apache.org by Bryan Pendleton <bp...@amberpoint.com> on 2009/11/18 19:44:34 UTC

Another possible column-too-short problem

Hi Kurt,

I came across a second case of a column which may be defined too short.

I found that the column AUTHORIZED_NAME in the "j3_publisher" table is
defined to be 255 characters long, which seems plenty long, but the
related column AUTHORIZED_NAME in the "j3_auth_token" table is only
defined to be 20 characters long.

This means that if I send the following request to the security service,
I get an internal error and a stacktrace in the server console.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                   xmlns:urn="urn:uddi-org:api_v3">
    <soapenv:Header/>
    <soapenv:Body>
       <urn:get_authToken userID="SomeExtremelyLongUserIDWhichExceeds20Characters" cred="xxx"/>
    </soapenv:Body>
</soapenv:Envelope>

The internal error reads:

Caused by: java.sql.SQLDataException: A truncation error was encountered trying
to shrink VARCHAR 'SomeExtremelyLongUserIDWhichExceeds20Characters' to length 20.
         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
         at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
         at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
         at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
         at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
         at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
         at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
         at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown Source)
         at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
         at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
         at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2247)
         ... 46 more

thanks,

bryan


Re: Another possible column-too-short problem

Posted by Kurt T Stam <ku...@gmail.com>.
That sounds like a bug to me. Please create jira for it.

thx,

--Kurt

Bryan Pendleton wrote:
> Hi Kurt,
>
> I came across a second case of a column which may be defined too short.
>
> I found that the column AUTHORIZED_NAME in the "j3_publisher" table is
> defined to be 255 characters long, which seems plenty long, but the
> related column AUTHORIZED_NAME in the "j3_auth_token" table is only
> defined to be 20 characters long.
>
> This means that if I send the following request to the security service,
> I get an internal error and a stacktrace in the server console.
>
> <soapenv:Envelope 
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>                   xmlns:urn="urn:uddi-org:api_v3">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <urn:get_authToken 
> userID="SomeExtremelyLongUserIDWhichExceeds20Characters" cred="xxx"/>
>    </soapenv:Body>
> </soapenv:Envelope>
>
> The internal error reads:
>
> Caused by: java.sql.SQLDataException: A truncation error was 
> encountered trying
> to shrink VARCHAR 'SomeExtremelyLongUserIDWhichExceeds20Characters' to 
> length 20.
>         at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown 
> Source)
>         at 
> org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
>         at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown 
> Source)
>         at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown 
> Source)
>         at 
> org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown 
> Source)
>         at 
> org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown 
> Source)
>         at 
> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown 
> Source)
>         at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown 
> Source)
>         at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown 
> Source)
>         at 
> org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102) 
>
>         at 
> org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23) 
>
>         at 
> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2247) 
>
>         ... 46 more
>
> thanks,
>
> bryan
>
>