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.