Description
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