Hi Martin,

If you are using Mysql 5, try using the MySQL5Dialect. Make sure to drop all tables from the database before starting up jUDDI, and make sure that all tables are created at startup time. You should have 46 tables (not 34 as you have). Also you should see some Seed Data in the database.

-K


On 4/4/11 10:45 AM, Martynas A. (chainer) wrote:
Also, now I cannot even get authtoken:

    javax.xml.ws.soap.SOAPFaultException: You have an error in your
    SQL syntax; check the manual that corresponds to your MySQL server
    version for the right syntax to use near 'VARCHAR(1000))) LIKE
    '%KEYGENERATOR' ESCAPE '\')' at line 1 {prepstmnt 5378543 SELECT
    t1.entity_key FROM j3_tmodel t0 INNER JOIN j3_uddi_entity t1 ON
    t0.entity_key = t1.entity_key WHERE (t1.authorized_name = ? AND
    UPPER(CAST(t1.entity_key AS VARCHAR(1000))) LIKE ? ESCAPE '\')
    [params=(String) root, (String) %KEYGENERATOR]} [code=1064,
    state=42000]
            at
    
com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
            at
    
com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
            at
    
com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
            at
    
com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
            at
    com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
            at $Proxy39.getAuthToken(Unknown Source)
            at juddiv3admin.juddiv3.Tools.getAuthToken(Tools.java:118)

like in sentence 'SELECT t1.entity_key FROM j3_tmodel' from this exception, I cannot even see 'j3_tmodel' table in 'juddiv3' schema (if I understand correctly, there should be one).

--Martin



2011/4/4 chainerlt <[email protected] <mailto:[email protected]>>


    Hello,

    I got some problems while switching to MySQL (using latest 5.5
    [mysql  Ver
    14.14 Distrib 5.5.9, for Win32 (x86)]). From User-Guide (
    
http://juddi.apache.org/docs/3.0/userguide/html/chap-database_setup.html#sect-switch_to_mysql
    ) everything seems to be very easy. But it is not. Let me describe
    what I've
    done in case to switch to MySQL:
    (First of all, lets make sure that I have default juddiv3
    installation, so I
    downloaded latest 'juddi-portal-bundle-3.0.4.zip' and extracted
    it. That's
    it). Also downloaded latest 'mysql-connector-java-5.1.9.jar' and
    added to my
    applications path.
    1. Created empty 'juddiv3' schema in mysql:


    > mysql> show databases;
    > +--------------------+
    > | Database           |
    > +--------------------+
    > | information_schema |
    > | mysql              |
    > | performance_schema |
    > +--------------------+
    > 3 rows in set (0.00 sec)
    >
    > mysql> create database juddiv3;
    > Query OK, 1 row affected (0.00 sec)
    >
    > mysql> show databases;
    > +--------------------+
    > | Database           |
    > +--------------------+
    > | information_schema |
    > | juddiv3            |
    > | mysql              |
    > | performance_schema |
    > +--------------------+
    > 4 rows in set (0.00 sec)
    >
    2. Created user 'juddi' with password 'juddipw' with privileges to
    perform:
    ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES,
    CREATE VIEW, DELETE, DROP, EVENT, GRANT OPTION, INDEX, INSERT,
    LOCK TABLES,
    SELECT, SHOW DATABASES, SHOW VIEW, TRIGGER, UPDATE.
    Here's how it looks in user table in mysql db:


    > '%', 'juddi', '*D4EF5792C4530F9685E4217ED24678BA48C6ACB4', 'Y',
    'Y', 'Y',
    > 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'Y', 'N', 'Y', 'Y', 'Y', 'N',
    'Y', 'Y',
    > 'N', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'N', '', ?, ?,
    ?, '0',
    > '0', '0', '0', '', ''
    >
    > 'localhost', 'juddi',
    '*D4EF5792C4530F9685E4217ED24678BA48C6ACB4', 'Y',
    > 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'Y', 'N', 'Y', 'Y',
    'Y', 'N',
    > 'Y', 'Y', 'N', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'N',
    '', ?, ?,
    > ?, '0', '0', '0', '0', '', ''
    >
    3. Added '<property name="hibernate.dialect"
    value="org.hibernate.dialect.MySQLDialect"/>' to
    '!~\webapps\juddiv3\WEB-INF\classes\META-INF\persistence.xml'. So
    it looks
    like this now: ( http://pastecode.com/2793 )
    4. Edited '~\webapps\juddiv3\META-INF\context.xml'. (username="juddi"
    password="juddipw") So it looks like: ( http://pastecode.com/2795 )
    5. Here I should delete '~\conf\Catalina\localhost\juddiv3.xml'
    but since it
    is the first time we are going to run juddiv3, there are no
    'juddiv3.xml'
    and we don't need to delete anything.
    6. Seems like everything is ready. 'persistence.xml' is set up,
    'context.xml' is changed, 'juddiv3' database and 'juddi' user
    created. Lets
    start juddiv3: '~\bin\startup.bat' (I'm using Windows Vista 32x at the
    moment). Here we go, no errors or messages, seems like the server
    is up.

    Now lets look deeper:

    1. First of all lets try to open ( http://localhost:8080/juddiv3/
    ). Here we
    go: ( http://pastecode.com/2796 ).
    2. However juddiv3 is still running so lets try to connect it from my
    application (App is okay and works good with default juddiv3 db):
    Connection is okay, wsdls are alive and we even can get authentication
    token. Lets try to get authtoken with username 'admin' and empty
    password
    ''. Since publishers table (j3_publisher) in juddiv3 database is
    empty and
    juddi authenticator is set up to: 'juddi.authenticator =
    org.apache.juddi.v3.auth.JUDDIAuthenticator', it should create a new
    publisher on the fly. And it does it. We can even watch it from mysql:


    > mysql> select * from j3_publisher;
    >
    
+-----------------+---------------+----------+------------+---------------------
    >
    
-----+----------------+---------------------------+-------------+---------------
    > -+
    > | authorized_name | email_address | is_admin | is_enabled |
    > max_bindings_per_ser
    > vice | max_businesses | max_services_per_business | max_tmodels |
    > publisher_name
    >  |
    >
    
+-----------------+---------------+----------+------------+---------------------
    >
    
-----+----------------+---------------------------+-------------+---------------
    > -+
    > | admin           | NULL          | false    | true       |
    >  199 |            100 |                       100 |         100
    | Unknown
    >  |
    >
    
+-----------------+---------------+----------+------------+---------------------
    >
    
-----+----------------+---------------------------+-------------+---------------
    > -+
    > 1 row in set (0.00 sec)
    >
    And we also get authentication token successfully. From my
    application I can
    view all publishers. So far we have that 'admin' publisher alone: (
    http://img217.imageshack.us/img217/5553/publishers.png ).
    But once I try to view all business (or services), here we go:


    > javax.xml.ws.soap.SOAPFaultException: You have an error in your SQL
    > syntax; check the manual that corresponds to your MySQL server
    version for
    > the right syntax to use near ''\')' at line 1 {prepstmnt 4686 SELECT
    > DISTINCT t1.entity_key FROM j3_business_entity t0 INNER JOIN
    > j3_uddi_entity t1 ON t0.entity_key = t1.entity_key JOIN
    j3_business_name
    > t2 ON (1 = 1) INNER JOIN j3_business_entity t3 ON t2.entity_key =
    > t3.entity_key INNER JOIN j3_uddi_entity t4 ON t3.entity_key =
    > t4.entity_key WHERE (t1.entity_key = t4.entity_key AND t2.name
    <http://t2.name> LIKE ?
    > ESCAPE '\') [params=(String) %]} [code=1064, state=42000]
    >         at
    >
    
com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
    >         at
    >
    
com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
    >         at
    >
    
com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
    >         at
    >
    
com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
    >         at
    > com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
    >         at $Proxy44.findBusiness(Unknown Source)
    >         at
    >
    juddiv3admin.juddiv3.Tools$BusinessWorker.findBusiness(Tools.java:265)
    >
    I looked into juddiv3 schema:


    > mysql> show tables;
    > +-------------------------------+
    > | Tables_in_juddiv3             |
    > +-------------------------------+
    > | j3_address                    |
    > | j3_address_line               |
    > | j3_auth_token                 |
    > | j3_binding_category_bag       |
    > | j3_binding_descr              |
    > | j3_binding_template           |
    > | j3_business_category_bag      |
    > | j3_business_descr             |
    > | j3_business_entity            |
    > | j3_business_identifier        |
    > | j3_business_name              |
    > | j3_business_service           |
    > | j3_category_bag               |
    > | j3_clerk                      |
    > | j3_client_subscriptioninfo    |
    > | j3_contact                    |
    > | j3_contact_descr              |
    > | j3_discovery_url              |
    > | j3_email                      |
    > | j3_instance_details_descr     |
    > | j3_instance_details_doc_descr |
    > | j3_keyed_reference            |
    > | j3_keyed_reference_group      |
    > | j3_node                       |
    > | j3_overview_doc               |
    > | j3_overview_doc_descr         |
    > | j3_person_name                |
    > | j3_phone                      |
    > | j3_publisher                  |
    > | j3_publisher_assertion        |
    > | j3_service_category_bag       |
    > | j3_service_descr              |
    > | j3_service_name               |
    > | j3_service_projection         |
    > +-------------------------------+
    > 34 rows in set (0.01 sec)
    >
    tables are up, but seems they are empty and even main juddi
    business entity
    and services are not set up. (Here's how they usually look like:
    http://img864.imageshack.us/img864/1708/defaultjuddinode.png )
    So I guess mysql initialization is not full or smth?
    Also here is the juddiv3.log: Only 1 line after find all business
    operation
    (And same when opening http://localhost:8080/juddiv3/ ):


    > 2011-04-04 17:20:13,262 INFO [org.apache.juddi.config.AppConfig]
    - Reading
    > from properties file:
    >
    
file:/C:/juddi-portal-bundle-3.0.4/webapps/juddiv3/WEB-INF/classes/juddiv3.properties
    >
    Since I don't have much knowledge on juddiv3 project, maybe it has
    smth to
    do with these lines in juddiv3.properties:


    > # Name of the persistence unit to use (the default,
    "juddiDatabase" refers
    > to the unit compiled into the juddi library)
    > juddi.persistenceunit.name
    <http://juddi.persistenceunit.name>=juddiDatabase
    >

    Waiting for answer, thanks!

    --Martin
    --
    View this message in context:
    
http://old.nabble.com/juddiv3-%283.0.4%29-mysql-problems-tp31314994p31314994.html
    Sent from the jUDDI - User mailing list archive at Nabble.com.



Reply via email to