本篇是总结了前人经验又结合自己实际操作而做!
网上关于用uddi4j连接juddi的例子真的很多,但是讲的又不够严密,总是会出这样那样的错误!
最好的办法看官网的:
http://wiki.apache.org/ws/jUDDI_HOW-TOs
如果觉得英文不好看,看看我的也无妨,哈哈!
我们先来看看juddi的安装吧!
1、下载juddi:从juddi的
官网下载juddi-0.9rc4.zip,解压后将webapp下的juddi拷贝到tomcat的webapp下面。
2、安装mysql。
3、插入数据:将juddi-0.9rc4.zip解压后下的sql\mysql\create_database.sql里的数据全部执行一边!再执行下面这条语句:INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN) VALUES ('juddi','juddi','juddi@apache.org','true','true');
4、安装驱动:将mysql驱动放到tomcat的lib下(
注:tomcat6)。并将该驱动再放入CLASSPATH下!如:CLASSPATH=.;E:\mysql5Driver.jar;
5、tomcat管理juddi:
有两处需改:
一、修改conf\server.xml。
在</HOST>之前加如下代码:
<DefaultContext reloadable="true" crossContext="true">
<Resource name="jdbc/juddiDB" scope="Shareable" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/juddiDB">
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/juddi</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<parameter>
<name>username</name>
<value>juddi</value>
</parameter>
<parameter>
<name>password</name>
<value>juddi</value>
</parameter>
</ResourceParams>
</DefaultContext>
二、在conf\Catalina\localhost下加一个juddi.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 6.0//EN" "http://www.bea.com/servers/wls600/dtd/weblogic-web-jar.dtd">
<Context path="/juddi" docBase="juddi" debug="5" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_juddiDB_log" suffix=".txt" timestamp="true"/>
<Resource name="jdbc/juddiDB" auth="Container" type="javax.sql.DataSource" username="juddi" password="juddi" url="jdbc:mysql://localhost/juddi" driverClassName="org.gjt.mm.mysql.Driver" />
</Context>
6、修改tomcat6\webapps\juddi\WEB-INF\juddi-users.xml
<?xml version="1.0" encoding="UTF-8"?>
<juddi-users>
<user userid="sviens" password="password" />
<user userid="juddi" password="juddi" />
</juddi-users>
到此,juddi的安装就算完成了!下面我们来验证安装结果:起动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
测试成功也不要太高兴了!
这里面有些问题是很不稳定的!
如果你用的是tomcat5.5或tomcat5下面的操作你有可能就不会成功,报的错误也不一样!我一开始就是5.5,怎么找错误都找不到,最后加入原码调试,发现recieve不到东西,但send出去了!考虑tomcat有问题,换tomcat6就OK!试了下tomcat5也不行,错还不一样!哈哈,有趣!
好了,不多说了,我们下面用uddi4j来连接juddi吧!
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
Sample Business
Sample Business
运行FindBusinessExample.java
*********** Running FindBusinessExample ***********
Sample Business
Sample Business
Sample Business
因为我运行了三次save 所以有三个 sample business
注意:要在tomcat6下运行!如果你使用的是sql server建议换mysql,尽管sqlserver验证可以成功,但在执行脚本的时候,无法创建AUTH_TOKEN!因为有两个时间戳!把它都换成datetime,执行程序也会报错!
分享到:
相关推荐
本部分详细介绍如何使用JDK1.5、Tomcat5.5、MySql和Juddi搭建UDDI服务器,以及如何通过UDDI4J连接JUDDI。 ##### **软件版本** - JDK: jdk-1_5_0_06-windows-i586-p.exe - Tomcat: tomcat-5.5.9.exe - MySql: mysql...
本文将详细介绍如何在您的计算机上搭建一个基于JUDDI 2.0.1、Apache Tomcat 6.0.36和MySQL的环境,并通过UDDI4J注册和发布Web服务。这一过程涉及多个技术组件,每个都有其特定的角色和功能。 首先,让我们了解这些...
之后我选择用UDDI4J连接JUDDI,UDDI4J是Apache的,国内有相关的教程,按教程一步步做下来, 搭建成功了,教程有提供服务发布的源码实例,java版的,我配置了一下,成功发布和注册服务到UDDI注册中心,get auto_token...
logging-1.0.4.jar、commons-pool.jar、dom4j-1.6.1.jar、jaxrpc.jar、juddi-client-3.0.0.jar、juddi-core-3.0.0.jar、junit-dep-4.7.jar、log4j-1.2.13.jar、mysql-connector-java-5.1.17-bin.jar、uddi-ws-3.0.0....
特别是Tomcat的JVM必须指向JDK 1.5的JVM,这是由于juddi依赖于UDDI4J库,而该库可能不完全支持更高版本的JDK。 2. **Tomcat 6.0**:Tomcat作为应用服务器,用于部署和运行juddi服务。选择6.0版本是为了与JDK 1.5...
文章探讨了面向物流场景的Web服务查询与组合的智能化方法,并通过创建JAX-WS注册中心(Juddi),结合Juddi和UDDI4J技术实现面向物流场景的Web服务发布与查询。此外,还利用业务流程执行语言(BPEL)技术进行服务选择...