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
文笔粗劣,时间紧迫,写得不好,请大家见谅!