You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@juddi.apache.org by "Meloro, John" <Me...@Pragmatics.com> on 2004/03/26 17:43:02 UTC
Got the UDDI4J SaveBusinessExample running!
All,
I have finally got the UDDI4J SaveBusinessExample running under Windows Xp,
TomCat 4.1.30, mySQL 4.0.18 and jUDDI ver. 0.8.0.
Here is what I can pass on to anyone who will come after me:
1) My first problem was getting the Happy jUDDI Page to recognize the JNDI
Datasource that I had set up. Examination of the happyjUDDI.jsp revealed
that the following SQL needed to run successfully:
SELECT COUNT(*) FROM PUBLISHER;
When I looked into the mySQL database I indeed did have a PUBLISHER table
and it indeed did have a single entry. However, the happyjuddi.jsp page
continually failed that test. It was not until I altered the code to print
the Java Stack Dump that I discovered that jUDDI was attempting to connect
to a database called JUUDI instead of one called JUDDI.
So, lesson #1 when you cannot get the happyjuddi page to recognize the JNDI
Datasource that you have set up change the happyjuddi.jsp to print the Java
Stack Dump in its entirety. I did this by changing the following (change is
bolded):
First the original:
try
{
conn = ds.getConnection();
if (conn == null)
throw new Exception("No Connection (conn=null)");
out.print("<font color=\"green\">");
out.print("+ Got a JDBC Connection!");
out.println("</font>");
}
catch(Exception ex)
{
out.print("<font color=\"red\">");
out.print("- DB connection was not aquired. ("+ex.getMessage()+")"); //
Just provides a terse message
out.println("</font>");
}
and now the change:
try
{
conn = ds.getConnection();
if (conn == null)
throw new Exception( "No Connection (conn=null)" );
out.print( "<font color=\"green\">" );
out.print( "+ Got a JDBC Connection!" );
out.println( "</font>" );
}
catch( Exception ex )
{
out.print( "<font color=\"red\">" );
out.println( "- DB connection was not acquired!" );
out.println( ex ); // Dumps the entire Java Stack
out.println( "</font>" );
}
2) My second problem was that I was using HTTPS to connect to the 'publish'
service that does not use HTTPS but rather HTTP. So, I changed the url from
HTTPS to HTTP.
3) My third problem was that my PUBLISHER table was missing several key
fields. The available documentation told me that I needed a table called
PUBLISHER with the following three fields: publisher_id VARCHAR(25),
publisher_name VARCHAR(25), admin VARCHAR(25). Indeed I did need those
three fields and about eight others!
Here is the final schema for the publisher table:
PUBLISHER_ID VARCHAR(25)
PUBLISHER_NAME VARCHAR(25)
ADMIN VARCHAR(25)
LAST_NAME VARCHAR(50)
MIDDLE_INIT CHAR(1)
WORK_PHONE VARCHAR(12)
MOBILE_PHONE VARCHAR(12)
PAGER VARCHAR(12)
EMAIL_ADDRESS VARCHAR(50)
ENABLED VARCHAR(25)
4) My fourth problem was that I was missing the AUTH_TOKEN table as well:
Here is the final schema for the auth_token table:
auth_token VARCHAR(50)
publisher_id VARCHAR(25)
publisher_name VARCHAR(25)
created DATETIME
last_used DATETIME
number_of_uses INT
token_state INT
5) My fifth problem was that I was missing the BUSINESS_ENTITY table as
well:
Here is the final schema for the business_entity table as well:
business_key VARCHAR(50)
authorized_name VARCHAR(50)
publisher_id VARCHAR(25)
opertor VARCHAR(25)
last_update BIGINT
6) My sixth problem was that I was missing the BUSINESS_NAME table as well:
Here is the final schema for the BUSINESS_NAME table as well:
business_key VARCHAR(50)
business_name_id VARCHAR(50)
lang_code VARCHAR(25)
name VARCHAR(50)
7) My seventh problem was that I was missing the DISCOVERY_URL table as
well:
Here is the final schema for the DISCOVERY_URL table as well:
business_key VARCHAR(50)
discovery_url_id INT
use_type VARCHAR(50)
url VARCHAR(255)
8) My eigth problem was that I was missing the CONTACT table as well:
Here is the final schema for the CONTACT table as well:
business_key VARCHAR(50)
contact_id INT
use_type VARCHAR(50)
person_name VARCHAR(50)
9) My ninth problem was that I was missing the business_descr table as well:
lang_code VARCHAR(25)
descr VARCHAR(255)
business_key VARCHAR(50)
business_descr_id INT
10) My tenth problem was that I was missing the BUSINESS_SERVICE table as
well:
Here is the final schema for the BUSINESS_SERVICE table
service_key VARCHAR(50)
business_key VARCHAR(50)
and then it finally worked...