JUDDI安装完整版

最近初学JUDDI,迷惑了一阵子,今天终于成功安装JUDDI,马上写了一个文档供大家分享。

OWL-S/UDDImatchmaker和普通JUDDI都需要在web服务器下部署一个juddi的应用文件夹,所以为了避免冲突,我们将OWL-S/UDDImatchmaker和普通JUDDI放在两个不同的服务器中跑。

1.OWL-S/UDDImatchmaker

它的安装只要查找一下其自带的帮助文档,就很容易安装成功,并可以做测试;

我采用tomcat-5.5.17+mysql5.5。

安装成功后,在TomcatHome下的webapps文件夹下有一个juddi的文件夹,并且在mysql下自己建了新的数据库juddi;

下面就可以自己作应用了。

2.普通UDDI

我采用Tomcat5.0.30+mysql5.5,有人反映Tomcat5.5版本和JUDDI有冲突。

1.从mysql的官方网站上下载mysql-5.0.13-rc-win32.zip解压后安装到C:\ProgramFiles\MySQL\MySQLServer5.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’;

--INSERTINTOPUBLISHER(PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN)VALUES(‘juddi‘,‘juddi‘,‘[email protected]‘,‘true‘,‘true‘);

其中上面打引号的内容都可以自行修改自己想要的名字;

同第一步,在mysql执行该文件,也可以逐条在mysql中输入执行。

3)验证:查看数据库juddi,在表publisher中能看到第二步所设置的信息就说明数据创建成功。

5.数据库连接:

进入%TOMCAT_HOME%\conf目录,编辑其中的server.xml文件。

一般来说,把下面的根元素DefaultContext加入到<Host></Host>之间即可。

<DefaultContextreloadable="true"crossContext="true">

<Resourcename="jdbc/juddiDB"scope="Shareable"type="javax.sql.DataSource"/>

<ResourceParamsname="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命令:

INSERTINTOPUBLISHER(PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABL

ED,IS_ADMIN)VALUES(‘userName‘,‘password‘,‘[email protected]‘,‘true‘,‘true‘);

userName,password就是第5步中的用户名和密码。

7.至此,整个普通的JUDDI就已经安装完成。测试一下,进入http://localhost:8080/juddi/happyjuddi.jsp,如果没有出现红色字体就表示安装基本成功;

下面介绍使用JUDDI客户端对JUDDI进行测试:

一般是使用uddi的APIUDDI4J作为客户端。

这里借用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/下载)

把uddi4jsample里面的samples.propconfigurator.javaSaveBusinessExample.javaFindBusinessExample.java,最好在工程的编译路径上再导入前面用的包:mail.jar,activation.jar,tools.jar。

publisherAssertionExample.java放在工程默认package下

由于juddi刚装好没有插入user因此这里插入user(这一步在4步的第2小步已经作完,不必重复做)

INSERTINTOPUBLISHER(PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN)

VALUES(‘juddi‘,‘juddi‘,‘[email protected]‘,‘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小步中设置的

设置soaptransport默认就是这个

TransportClassName=org.uddi4j.transport.ApacheSOAPTransport

也可以使用axis,此时该值设置为org.uddi4j.transport.ApacheAxisTransport,不过添加的包就不是soap.jar,要去下载axis包。

运行结果

运行SaveBusinessExample.java

***********RunningSaveBusinessExample***********

Getauthtoken

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

Save‘SampleBusiness‘

ReturnedbusinessKey:60DF35B0-6641-11DB-A066-A0B53CE33E0E

ListingbusinessesstartingwithSafterwepublish

SampleBusiness

SampleBusiness

SampleBusiness

运行FindBusinessExample.java

***********RunningFindBusinessExample***********

SampleBusiness

SampleBusiness

SampleBusiness

文笔粗劣,时间紧迫,写得不好,请大家见谅!

相关推荐