uddi java_使用UDDI4J连接JUDDI

一、简介

IBM 发布的 uddi4j是UDDI的java实现,它包含发布、查找、取消web服务的API。而juddi是apache组织的一个开源项目,它部署在tomcat等服务器上是UDDI的服务器。

本文的主要内容:

1. 利用uddi4j 的API创建web服务;

2. 将创建好的web服务发布到juddi的服务器上;

3. 在juddi服务器上查询web服务。

二、 运行环境

环境:winxp + jdk1.6 + tomcat6.0 + mysql5.0 + juddi-2.0rc5 + uddi4j-2.0.5(各种产品的版本没有太大影响)

三、安装与配置juddi

1. 下载juddi-2.0rc5.zip(官方网址:http://ws.apache.org/juddi/releases.html),解压后将juddi-2.0rc5\webapp\juddi拷贝到tomcat的webapp目录下。

2. 确保mysql正确安装,将mysql的jdbc驱动程序拷贝到tomcat的common\lib下,我这里用到的是mysqldriver.jar。

3. 修改tomcat/conf/server.xml在后添加如下:

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngusername4f1150b881333f12a311ae9ef34da474.pngroot4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngpassword4f1150b881333f12a311ae9ef34da474.png1234564f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngurl4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngjdbc:mysql://localhost/juddi 

4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngdriverClassName4f1150b881333f12a311ae9ef34da474.pngcom.mysql.jdbc.Driver4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png

其中:username和password是mysql数据库的用户名和密码,url为数据库的url,driverClassName是mysql的JDBC驱动程序,如果所用到的数据库版本或是驱动程序版本不同这里也要变化。

4. 新建juddi用到的数据库,并插入数据,具体就是执行\juddi-2.0rc5\sql\mysql文件夹中的两个sql文件:create_database.sql、insert_publishers.sql,前一个sql文件可以直接执行,将创建数据库juddi,后一个sql文件要修改成如下:

USE juddi;

-- *** SAMPLE PUBLISHER ***

INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN) VALUES ('juddi','juddi','juddi@apache.org','true','true');

这样就插入到表publisher中一条数据,就是一个用户,用户名:juddi,密码:juddi,我们在uddi4j中将用这个用户来创建web服务。

5. 验证安装是否成功。重启tomcat,访问http://localhost:8080/juddi/happyjuddi.jsp,如果jUDDI DataSource Validation段如下面的效果而没有用红色字体报错则说明juddi部署成功。

jUDDI DataSource Validation

+ Got a JNDI Context!

+ Got a JDBC DataSource (dsname=java:comp/env/jdbc/juddiDB)

+ Got a JDBC Connection!

+ SELECT COUNT(*) FROM PUBLISHER = 1

四、运行uddi4j的示例程序创建、发布、查找web服务

1. 下载uddi4j-bin-2.0.5.zip.

2. 建立一个工程 名为uddi4jDemo,引入包uddi4j.jar , soap.jar,activation.jar,mail.jar。

把uddi4j sample里面的 samples.prop configurator.java SaveBusinessExample.java FindBusinessExample.java publisherAssertionExample.java 放在工程默认package下

3. 打开samples.prop这个文件 修改设置下参数

设置url

inquiryURL = http://localhost:8080/juddi/inquiry

publishURL = http://localhost:8080/juddi/publish

设置

userid = juddi

password = juddi

设置soap transport 默认就是这个

TransportClassName=org.uddi4j.transport.ApacheSOAPTransport

4. 运行结果

运行 SaveBusinessExample.java

*********** Running SaveBusinessExample ***********

Get authtoken

Returned authToken:authToken:60BDF210-6641-11DB-A066-BC0BE7D6EEB5

Save 'Sample Business'

Returned businessKey:60DF35B0-6641-11DB-A066-A0B53CE33E0E

Listing businesses starting with S after we publish

Sample Business

运行FindBusinessExample.java

*********** Running FindBusinessExample ***********

Sample Business

posted on 2008-08-15 16:38 胖胖泡泡 阅读(2075) 评论(10)  编辑  收藏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值