最近初学JUDDI,迷惑了一阵子,今天终于成功安装JUDDI,马上写了一个文档供大家分享。
OWL-S/UDDI matchmaker 和 普通JUDDI都需要在web服务器下部署一个juddi的应用文件夹,所以为了避免冲突,我们将OWL-S/UDDI matchmaker和普通JUDDI放在两个不同的服务器中跑。
1. OWL-S/UDDI matchmaker
它的安装只要查找一下其自带的帮助文档,就很容易安装成功,并可以做测试;
我采用tomcat-5.5.17 + mysql5.5。
安装成功后,在TomcatHome下的webapps文件夹下有一个juddi的文件夹,并且在mysql下自己建了新的数据库juddi;
下面就可以自己作应用了。
2. 普通UDDI
我采用Tomcat 5.0.30+mysql5.5 ,有人反映Tomcat 5.5版本和JUDDI有冲突。
1. 从mysql的官方网站上下载mysql-5.0.13-rc-win32.zip解压后安装到C:\Program Files\MySQL\MySQL Server 5.0.
2.从apache官方网站上下载juddi-0.9rc4.zip,解压后将juddi.war复制到..\tomcat\webapps\下,或者复制文件夹juddi到该目录下;.
3.从http://www.mysql.com/downloads/api-jdbc-stable.html,下载mysql-connector-java-3.0.17-ga.zip,解压后将mysql-connector-java-3.0.17-ga-bin.jar复制到../tomcat/common/lib/下(并添加到环境变量)../tomcat/webapps/juddi/WEB-INF/lib.;另外,还需要加入三个比较重要的包到./tomcat/common/lib/下,分别是: mail.jar , activation.jar,tools.jar(该包可在%JAVA_HOME%\lib中找到),如果不行还可加入另外一个包xerces.jar。
下面就是关键步骤:
4进入juddi-0.9rc4\sql\mysql,(因为我是用mysql数据库的),里面有三个文件,先阅读README,按照readme中说明进行操作。
为了省时间,我把步骤写一下:
1) 打开mysql的命令行工具,以root用户进入,输入”\. {path}\create_database.sql”,该步骤默认的将会在你的数据库中创建一个juddi数据库,一般来说这是可以的,但是由于本人以前安装了语义的juddi,为了避免冲突,需要建立一个不同的数据库存储,因此可以在执行该步骤之前,先便起create_database.sql,将里面的juddi全部置换成你所想要的创建的数据库名字,同样在insert_publisher.sql也一起改一下;
2) 如果上一步成功,就执行这一步。先编辑insert_publisher.sql,把它改成如下:
USE ‘databaseName’;
-- INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN) VALUES (‘juddi‘,‘juddi‘,‘li.yong@apache.org‘,‘true‘,‘true‘);
其中上面打引号的内容都可以自行修改自己想要的名字;
同第一步,在mysql执行该文件,也可以逐条在mysql中输入执行。
3) 验证:查看数据库juddi,在表publisher中能看到第二步所设置的信息就说明数据创建成功。
5. 数据库连接:
进入%TOMCAT_HOME%\conf目录,编辑其中的server.xml文件。
一般来说,把下面的根元素DefaultContext加入到<Host></Host>之间即可。
<DefaultContext reloadable="true" crossContext="true">
<Resource name="jdbc/juddiDB" scope="Shareable" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/juddiDB">
<parameter>
<name>username</name>
<value>userName</value>
</parameter>
<parameter>
<name>password</name>
<value>password</value>
</parameter>
<parameter>
<name>url</name>
<value>
jdbc:mysql://localhost/juddiws
</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
</ResourceParams>
</DefaultContext>
其中,用户名juddi和密码juddi是连接数据库的密码,在下一步进行设置,jdbc:mysql://localhost/DataBaseName的DataBaseName就是刚才所创建的数据库名字。保存。
重启服务器。
6.为数据库连接授权:执行下面的sql命令:
INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABL
ED,IS_ADMIN) VALUES (‘userName‘,‘password‘,‘juddi@apache.org‘,‘true‘,‘true‘) ;
userName,password就是第5步中的用户名和密码。
7.至此,整个普通的JUDDI就已经安装完成。测试一下,进入http://localhost:8080/juddi/happyjuddi.jsp,如果没有出现红色字体就表示安装基本成功;
下面介绍使用JUDDI客户端对JUDDI进行测试:
一般是使用uddi的API UDDI4J作为客户端。
这里借用sijipeng在w3cchina分享的一个帖子,http://webservice.org.cn/dispbbs.asp?boardID=10&ID=39472
建立一个工程 名为uddi4jdemo
引入包uddi4j.jar , soap.jar(在http://www.apache.org/dyn/closer.cgi/ws/soap/ 下载)
把uddi4j sample里面的 samples.prop configurator.java SaveBusinessExample.java FindBusinessExample.java ,最好在工程的编译路径上再导入前面用的包:mail.jar , activation.jar,tools.jar。
publisherAssertionExample.java 放在工程默认package下
由于juddi刚装好没有插入user 因此 这里插入user (这一步在4步的第2小步已经作完,不必重复做)
INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN)
VALUES (‘juddi‘,‘juddi‘,‘juddi@apache.org‘,‘true‘,‘true‘)
打开samples.prop这个文件 修改设置下参数
设置url
inquiryURL = http://localhost:8080/juddi/inquiry
publishURL = http://localhost:8080/juddi/publish
设置
userid = juddi ――――――刚才设置的或在第4步第2小步中设置的
password = juddi ――――――刚才设置的或在第4步第2小步中设置的
设置soap transport 默认就是这个
TransportClassName=org.uddi4j.transport.ApacheSOAPTransport
也可以使用axis,此时该值设置为org.uddi4j.transport.ApacheAxisTransport,不过添加的包就不是soap.jar,要去下载axis包。
运行结果
运行 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
Sample Business
Sample Business
运行FindBusinessExample.java
*********** Running FindBusinessExample ***********
Sample Business
Sample Business
Sample Business
文笔粗劣,时间紧迫,写得不好,请大家见谅!
分享到:
相关推荐
Juddi并不完全兼容JDK1.6,可能导致某些关键类(如`SOAPMessage`和`SAXParserFactory`)无法找到,从而影响服务的发现和通信。推荐使用JDK1.5或更低版本来确保安装成功。若已安装了JDK1.6,可以通过查看`...
1. 下载JUDDI安装包:你可以从Apache官方网站获取JUDDI V2的最新版本,下载压缩文件名为“juddiall”的完整安装包。 2. 解压安装包:将下载的压缩文件解压到任意目录,例如“C:\juddi-v2”。 3. 配置环境变量:在...
总的来说,Juddi与Tomcat的结合使用,为Web服务的开发和部署提供了一套完整的解决方案。通过Juddi,我们可以方便地管理和发现Web服务,而Tomcat作为应用服务器,确保了服务的稳定运行。在实际工作中,了解这些知识点...
JUDDI支持UDDI v3标准,并且包含了完整的客户端和服务端功能,可以用来构建复杂的Web服务应用。 #### 三、JUDDI架构与环境搭建 ##### 1. JUDDI架构 - **JUDDI v3项目架构**: JUDDI v3项目采用了模块化的设计理念,...
**juddi-0.9rc4** 是JUDDI的一个版本,RC4代表Release Candidate 4,意味着这是该版本的第四个候选发布版。在正式发布之前,候选版本通常用于测试和评估,以确保软件的稳定性和功能性。juddi-0.9rc4可能包含了对早期...
**JUDDI v3.0.0:一个难以寻觅但至关重要的版本** JUDDI(Java Universal Description, Discovery and ...同时,提供的"juddi-portal-bundle-3.0.0"文件则为直接使用和研究JUDDI v3.0.0提供了一个完整的起点。
1. **下载与解压**:从官方源或镜像站点下载juddi-tomcat-3.1.0压缩包并解压到合适的目录,解压后得到一个完整的Tomcat服务器实例,其中包含了Juddi的web应用程序。 2. **配置环境**:根据实际需求,可能需要修改`...
Juddi-portal-bundle-3.1.0.zip是Juddi项目的最新版本,它包含了Juddi门户的所有组件和配置,使得用户能够快速部署和运行一个完整的UDDI服务注册中心。这个压缩包的核心价值在于它不仅提供了一个强大的服务注册平台...
- 部署JUDDI:安装JUDDI 0.9rc4版本,将MySQL的JDBC驱动(mysql-connector-java-5.0.6-bin.jar)放置在Tomcat的common/lib目录下。配置Tomcat的server.xml文件,添加JNDI资源以连接到MySQL数据库,并在juddi的WEB-...
Derby是一个完全用Java编写的轻量级关系数据库管理系统,支持嵌入式和客户机/服务器两种部署模式。 #### 19. Apache Ant Ant是一个强大的构建工具,用于自动化软件构建过程,支持XML格式的构建脚本,广泛应用于Java...