2008-01-30
使用uddi4j连接juddi
关键字: soa uddi
本篇是总结了前人经验又结合自己实际操作而做!
网上关于用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>之前加如下代码:
二、在conf\Catalina\localhost下加一个juddi.xml
6、修改tomcat6\webapps\juddi\WEB-INF\juddi-users.xml
到此,juddi的安装就算完成了!下面我们来验证安装结果:起动tomcat,访问http://localhost:8080/juddi/happyjuddi.jsp,如果jUDDI DataSource Validation段如下面的效果而没有用红色字体报错则说明juddi部署成功。
测试成功也不要太高兴了!
这里面有些问题是很不稳定的!
如果你用的是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
运行FindBusinessExample.java
因为我运行了三次save 所以有三个 sample business
注意:要在tomcat6下运行!如果你使用的是sql server建议换mysql,尽管sqlserver验证可以成功,但在执行脚本的时候,无法创建AUTH_TOKEN!因为有两个时间戳!把它都换成datetime,执行程序也会报错!
网上关于用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,执行程序也会报错!
- 11:42
- 浏览 (454)
- 评论 (4)
- 分类: soa,webservice
- 相关推荐
评论
boczj
2008-06-30
org.uddi4j.transport.TransportException: Unsupported response content type "text/html; charset=utf-8", must be: "text/xml". Response was:
<html><head><title>Apache Tomcat/5.0.28 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 503 - This application is not currently available</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>This application is not currently available</u></p><p><b>description</b> <u>The requested service (This application is not currently available) is not currently available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.0.28</h3></body></html>
at org.uddi4j.transport.ApacheSOAPTransport.send(ApacheSOAPTransport.java:88)
at org.uddi4j.transport.TransportBase.send(TransportBase.java:57)
at org.uddi4j.client.UDDIProxy.send(UDDIProxy.java:1942)
at org.uddi4j.client.UDDIProxy.get_authToken(UDDIProxy.java:1626)
at org.netbeans.uddi.SaveBusinessExample.run(SaveBusinessExample.java:57)
at org.netbeans.uddi.SaveBusinessExample.main(SaveBusinessExample.java:34)
Nested exception:
[SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content type "text/html; charset=utf-8", must be: "text/xml". Response was:
<html><head><title>Apache Tomcat/5.0.28 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 503 - This application is not currently available</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>This application is not currently available</u></p><p><b>description</b> <u>The requested service (This application is not currently available) is not currently available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.0.28</h3></body></html>
]
at org.apache.soap.rpc.Call.getEnvelopeString(Call.java:208)
at org.apache.soap.messaging.Message.receiveEnvelope(Message.java:144)
at org.uddi4j.transport.ApacheSOAPTransport.send(ApacheSOAPTransport.java:79)
at org.uddi4j.transport.TransportBase.send(TransportBase.java:57)
at org.uddi4j.client.UDDIProxy.send(UDDIProxy.java:1942)
at org.uddi4j.client.UDDIProxy.get_authToken(UDDIProxy.java:1626)
at org.netbeans.uddi.SaveBusinessExample.run(SaveBusinessExample.java:57)
at org.netbeans.uddi.SaveBusinessExample.main(SaveBusinessExample.java:34)
成功生成(总时间:0 秒)
我出现这种错误,晕倒。怎么回事?
<html><head><title>Apache Tomcat/5.0.28 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 503 - This application is not currently available</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>This application is not currently available</u></p><p><b>description</b> <u>The requested service (This application is not currently available) is not currently available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.0.28</h3></body></html>
at org.uddi4j.transport.ApacheSOAPTransport.send(ApacheSOAPTransport.java:88)
at org.uddi4j.transport.TransportBase.send(TransportBase.java:57)
at org.uddi4j.client.UDDIProxy.send(UDDIProxy.java:1942)
at org.uddi4j.client.UDDIProxy.get_authToken(UDDIProxy.java:1626)
at org.netbeans.uddi.SaveBusinessExample.run(SaveBusinessExample.java:57)
at org.netbeans.uddi.SaveBusinessExample.main(SaveBusinessExample.java:34)
Nested exception:
[SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content type "text/html; charset=utf-8", must be: "text/xml". Response was:
<html><head><title>Apache Tomcat/5.0.28 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 503 - This application is not currently available</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>This application is not currently available</u></p><p><b>description</b> <u>The requested service (This application is not currently available) is not currently available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.0.28</h3></body></html>
]
at org.apache.soap.rpc.Call.getEnvelopeString(Call.java:208)
at org.apache.soap.messaging.Message.receiveEnvelope(Message.java:144)
at org.uddi4j.transport.ApacheSOAPTransport.send(ApacheSOAPTransport.java:79)
at org.uddi4j.transport.TransportBase.send(TransportBase.java:57)
at org.uddi4j.client.UDDIProxy.send(UDDIProxy.java:1942)
at org.uddi4j.client.UDDIProxy.get_authToken(UDDIProxy.java:1626)
at org.netbeans.uddi.SaveBusinessExample.run(SaveBusinessExample.java:57)
at org.netbeans.uddi.SaveBusinessExample.main(SaveBusinessExample.java:34)
成功生成(总时间:0 秒)
我出现这种错误,晕倒。怎么回事?
lin6497
2008-04-04
可以联系一下我吗?请教下JUDDI的一些问题。
QQ:64976845
谢谢了
QQ:64976845
谢谢了
pisces312
2008-03-15
还要补充一下,有许多问题是由于使用了jdk6引起的,我看了一篇老外的介绍找到的原因。。。
pisces312
2008-03-15
写得太好了
!接燃眉之急啊
希望能和作者交流一下关于web服务的技术,我的毕业设计就是做这方面的
qq:393794164
希望能和作者交流一下关于web服务的技术,我的毕业设计就是做这方面的
qq:393794164
发表评论
- 浏览: 6581 次
- 性别:

- 来自: 西安

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
使用uddi4j连接juddi
org.uddi4j.transport.TransportException: ...
-- by boczj -
WebService的学习成长过程 ...
引用如果你的测试跟服务不是在同一贯饿应用下,你还可以在测试里 拿UserSer ...
-- by 小笨熊 -
WebService的学习成长过程 ...
你好,在你这两个里子中,你是否考虑到你的客户端测试的和你的服务端是在同一个应用下 ...
-- by xuewei -
如何用xfire做一个webSer ...
谢谢。。。。你们的意见对我很有用。。。。
-- by yangpeihai -
如何用xfire做一个webSer ...
没有对数据进行初始化赋值吧
-- by caroline12






评论排行榜