以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Web Services & Semantic Web Services 』  (http://bbs.xml.org.cn/list.asp?boardid=10)
----  uddi4j连接juddi成功测试 与大家分享  (http://bbs.xml.org.cn/dispbbs.asp?boardid=10&rootid=&id=39472)


--  作者:sijipeng
--  发布时间:10/28/2006 1:17:00 PM

--  uddi4j连接juddi成功测试 与大家分享
看到本版里不少人问uddi4j连接juddi的问题 我做成功了 ,大家分享一下


配置好juddi : 我是用mysql5.0 + tomca5.5 + juddi
一定要配置好数据源  
把tomcat启动好

建立一个工程 名为uddi4jdemo
引入包uddi4j.jar , soap.jar(在http://www.apache.org/dyn/closer.cgi/ws/soap/ 下载)
把uddi4j  sample里面的 samples.prop  configurator.java  SaveBusinessExample.java   FindBusinessExample.java

publisherAssertionExample.java  放在工程默认package下

由于juddi刚装好没有插入user  因此 这里插入user  
   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
password = juddi

设置soap transport 默认就是这个
TransportClassName=org.uddi4j.transport.ApacheSOAPTransport

运行结果
运行 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


--  作者:flanker721
--  发布时间:12/30/2006 10:55:00 PM

--  
恭喜你成功了
--  作者:psl1970
--  发布时间:2/8/2007 10:15:00 AM

--  
真的非常感谢
--  作者:ramblegame
--  发布时间:3/13/2007 3:05:00 PM

--  
非常感谢,我也调出来
--  作者:timothy
--  发布时间:4/18/2007 4:18:00 PM

--  
很遗憾,我的还是有点小问题,
   
java.lang.NullPointerException
 at org.uddi4j.UDDIException.isValidElement(UDDIException.java:111)
 at org.uddi4j.UDDIElement.<init>(UDDIElement.java:38)
 at org.uddi4j.response.BusinessDetail.<init>(BusinessDetail.java:85)
 at org.uddi4j.client.UDDIProxy.save_business(UDDIProxy.java:1700)
 at SaveBusinessExample.run(SaveBusinessExample.java:93)
 at SaveBusinessExample.main(SaveBusinessExample.java:50)

说这个语句:BusinessDetail bd = proxy.save_business(token.getAuthInfoString(),entities);有空指针错误,测试了一下,entities的大小为1,并不空!
究竟是哪里空呢?!
请楼主帮忙一下!


--  作者:jope1982
--  发布时间:4/18/2007 5:09:00 PM

--  
我也成功了。。。多谢楼主~
--  作者:fsun
--  发布时间:5/11/2007 4:41:00 PM

--  
我数据源  一直出现问题。。。都搞了三天了。。。还是没解决
--  作者:fsun
--  发布时间:5/11/2007 5:29:00 PM

--  
SOAP已经不提供下灾了
--  作者:wssmao
--  发布时间:5/11/2007 6:10:00 PM

--  
请教楼主:
      具体怎么用juddi和uddi4j来注册自己发布的服务?
--  作者:wssmao
--  发布时间:5/11/2007 6:17:00 PM

--  
补充上面的问题:
      就是怎么把uddi和自己发布的服务结合起来?
网上好像都只是介绍怎么运行uddi4j里的samples,有没有具体的其他例子呢?
--  作者:zou118627
--  发布时间:5/13/2007 11:35:00 AM

--  
我想问下juddi是什么?
现在是不是主要同windows2003自带的UDDI服务器来做
我想了解点最基本的东西,之前自己瞎弄了段时间,没什么结果
--  作者:ricky_lxl
--  发布时间:5/14/2007 8:59:00 AM

--  

*********** Running SaveBusinessExample ***********

Get authtoken
java.lang.NullPointerException
 at org.uddi4j.UDDIException.isValidElement(UDDIException.java:111)
 at org.uddi4j.UDDIElement.<init>(UDDIElement.java:38)
 at org.uddi4j.response.AuthToken.<init>(AuthToken.java:85)
 at org.uddi4j.client.UDDIProxy.get_authToken(UDDIProxy.java:1626)
 at SaveBusinessExample.run(SaveBusinessExample.java:72)
 at SaveBusinessExample.main(SaveBusinessExample.java:50)


--  作者:zhdandelion
--  发布时间:5/19/2007 4:01:00 PM

--  
请问为什么会出现
Error loading samples property file
java.io.FileNotFoundException: .\conf\samples.prop (系统找不到指定的路径。)
Exception in thread "main" java.lang.NullPointerException
 at java.util.Hashtable.put(Hashtable.java:396)
 at java.util.Properties.setProperty(Properties.java:128)
 at java.lang.System.setProperty(System.java:701)
 at Configurator.load(Configurator.java:45)
 at SaveBusinessExample.run(SaveBusinessExample.java:57)
 at SaveBusinessExample.main(SaveBusinessExample.java:50)

--  作者:iwantnb
--  发布时间:5/22/2007 2:28:00 PM

--  
谢谢楼主分享
--  作者:qxt212
--  发布时间:5/29/2007 11:41:00 PM

--  
出现问题的朋友可能是因为没有导入相关的jar文件,我测试的时候在没有导入mail.jar , activation.jar时就运行不了,如果出现问题将这两个jar文件导入看行不行
--  作者:qxt212
--  发布时间:5/29/2007 11:42:00 PM

--  
还有soap.jar也要

--  作者:xilio
--  发布时间:6/20/2007 10:31:00 AM

--  
juddi的实质就是一个服务引擎,它只负责将你封装好的tModel、BussinessService等对象存入数据库中,UDDI4J提供了与juddi交互的代理UDDIProxy。如果想把自己的服务发布到juddi中,则需要先解析WSDL文件,将获得信息按照UDDI规范,封装成它所规定的数据类型(tModel.BussinessService BussinessEntity,BindingTemplate)。在调用UDDIProxy将这些分装好的数据存到数据库中。
提示:
     解析WSDL文件可以使用WSDL4J
     如果是使用了Oracle,最好将端口8080改成其他的,因为这个会与Oracle默认的端口冲突。
--  作者:xilio
--  发布时间:6/20/2007 10:43:00 AM

--  
如果大家对SOA很感兴趣的话,推荐网站http://www.oasis-open.org/home/index.php
我翻译了UDDI规范V2,如果大家想要的话,MSN:xilio_world@hotmail.com
--  作者:vancaesar
--  发布时间:9/20/2007 9:49:00 AM

--  
我的也有问题。

*********** Running PublisherAssertionExample ***********

Get authtoken
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/rpc/Service
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
 at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
 at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
 at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:164)
 at org.uddi4j.transport.TransportFactory.getTransport(TransportFactory.java:59)
 at org.uddi4j.client.UDDIProxy.send(UDDIProxy.java:1942)
 at org.uddi4j.client.UDDIProxy.get_authToken(UDDIProxy.java:1626)
 at src.PublisherAssertionExample.run(PublisherAssertionExample.java:80)
 at src.PublisherAssertionExample.main(PublisherAssertionExample.java:58)

这里缺少soap.jar,是不是因为他引起的,谁有这个jar帮忙发一个,fanba@sina.com,谢谢!


--  作者:xiaopengyou
--  发布时间:10/19/2007 10:05:00 PM

--  
终于成功了 开心啊
--  作者:xiaopengyou
--  发布时间:10/19/2007 10:06:00 PM

--  
终于成功了  哈哈
--  作者:linlin2
--  发布时间:10/26/2007 11:20:00 AM

--  
楼上的可以联系一下你吗?我的一直没成功
--  作者:luyu
--  发布时间:11/16/2007 10:59:00 PM

--  
你好,我也是你所说的做的,可是插入user的那步我不太明白,等说的仔细些吗!
*********** Running SaveBusinessExample ***********

Get authtoken
Returned authToken:authToken:E77B5BD0-9453-11DC-9BD0-D555046E459B

Save 'Sample Business'
java.lang.NullPointerException
 at org.uddi4j.UDDIException.isValidElement(UDDIException.java:111)
 at org.uddi4j.UDDIElement.<init>(UDDIElement.java:38)
 at org.uddi4j.response.BusinessDetail.<init>(BusinessDetail.java:85)
 at org.uddi4j.client.UDDIProxy.save_business(UDDIProxy.java:1700)
 at SaveBusinessExample.run(SaveBusinessExample.java:89)
 at SaveBusinessExample.main(SaveBusinessExample.java:50)
这是我的运行结果!!为什么出现了错误啊?
# Property file used to set parameters for UDDI4J samples.

# -----------------------------------------------------------------------
# inquiryURL: The URL for the inquiry API of the target UDDI registry
# publishURL: URL for the publish API of the target UDDI registry
# A list of UDDI URLs is on the UDDI4J website http://www.uddi4j.org/
#
# A typical entry would be of the form
# inquiryURL=http://company.com/uddi_node
# publishURL=https://company.com/uddi_publish_node
# -----------------------------------------------------------------------
# IBM UDDI test site
inquiryURL =    http://localhost:8080/juddi/inquiry
publishURL =  http://localhost:8080/juddi/publish

# -----------------------------------------------------------------------
# Userid to use when running the publish samples. Userid/passwords should
# not generally be stored in clear text
# -----------------------------------------------------------------------
userid = juddi
password =juddi

# -----------------------------------------------------------------------
# Transport classname. Typically defined on commandline as
# -Dorg.uddi4j.TransportClassName=xxx.
# -----------------------------------------------------------------------
TransportClassName=org.uddi4j.transport.ApacheSOAPTransport
# TransportClassName=org.uddi4j.transport.ApacheAxisTransport
# TransportClassName=org.uddi4j.transport.HPSOAPTransport

# -----------------------------------------------------------------------
# Debug log enabled or not. Typically defined on command line as
# -Dorg.uddi4j.logEnabled=true
# -----------------------------------------------------------------------
logEnabled=false
#logEnabled=true

# -----------------------------------------------------------------------
# Values used to determine the implementation of JSSE to use. Provided
# for convenience, this is typically configured within the jdk
# in JAVA_HOME\jre\lib\security
# -----------------------------------------------------------------------
# Sun JSSE implementation
handlerPackageName=com.sun.net.ssl.internal.www.protocol
securityClassName=com.sun.net.ssl.internal.ssl.Provider

# IBM JSSE implementation
# handlerPackageName=com.ibm.net.ssl.internal.www.protocol
# securityClassName=com.ibm.jsse.JSSEProvider

# -----------------------------------------------------------------------
# UDDI names to use within samples. Samples may or maynot use these values,
# Check the source for the sample
# -----------------------------------------------------------------------
businessName=Sample Business
serviceName=Sample Service
tmodelName=Sample TModel
sampleEntityName=S
assertionRelationship=peer-peer

# -----------------------------------------------------------------------
# Additional values can be added as needed as a convenient repository
# for data relevant to the UDDI4J samples
# -----------------------------------------------------------------------
这是我的samples.prop
各位谁明白是怎么回事?(tomcat5.5.17+jdk1.5.04)


--  作者:luyu
--  发布时间:12/2/2007 9:11:00 PM

--  
我原来也有这个问题,我想你应该看一下几个需要注意的问题:
1.tomcat 的版本最好是5.0的,我原来用5.5做的就没有成功
2.还有就是数据库中那个用户一定要插入,否则就会出现你这个问题
3. 修改tomcat/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>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>123456</value>
</parameter>
<parameter>
<name>url</name>
<value>
jdbc:mysql://localhost/juddi
</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
</ResourceParams>
</DefaultContext>

其中:username和password是mysql数据库的用户名和密码,url为数据库的url,driverClassName是mysql的JDBC驱动程序,如果所用到的数据库版本或是驱动程序版本不同这里也要变化。
我想问题可能出现在这些方面上


--  作者:westcrazy
--  发布时间:12/11/2007 3:35:00 PM

--  
我也去试试,希望能成功。
--  作者:pangzikui
--  发布时间:3/14/2009 5:35:00 PM

--  
大家好,我的运行后的结果是这样,不知道什么原因,折腾一下午了,请帮帮忙,谢谢!


*********** Running SaveBusinessExample ***********

Get authtoken
org.uddi4j.transport.TransportException: Unsupported response content type &quot;text/html; charset=utf-8&quot;, must be: &quot;text/xml&quot;. Response was:
&lt;html&gt;&lt;head&gt;&lt;title&gt;Apache Tomcat/5.5.17 - Error
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 com.uddi4j.SaveBusinessExample.run(SaveBusinessExample.java:73)
 at com.uddi4j.SaveBusinessExample.main(SaveBusinessExample.java:50):


--  作者:seulout
--  发布时间:4/29/2009 2:19:00 PM

--  
总是不成功,哪个高手帮我看一下问题啊


*********** Running PublisherAssertionExample ***********

Get authtoken
org.uddi4j.transport.TransportException: E:\Eclipse SDK 3.0\workspace\uddi4jdemo\<?xml version="1.0" encoding="utf-8" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http:\schemas.xmlsoap.org\soap\envelope\"><SOAP-ENV:Header\><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server<\faultcode><faultstring>Fault string, and possibly fault code, not set<\faultstring><\SOAP-ENV:Fault><\SOAP-ENV:Body><\SOAP-ENV:Envelope> (文件名、目录名或卷标语法不正确。)
 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 PublisherAssertionExample.run(PublisherAssertionExample.java:79)
 at PublisherAssertionExample.main(PublisherAssertionExample.java:57)

Nested exception:
[SOAPException: faultCode=SOAP-ENV:Client; msg=E:\Eclipse SDK 3.0\workspace\uddi4jdemo\<?xml version="1.0" encoding="utf-8" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http:\schemas.xmlsoap.org\soap\envelope\"><SOAP-ENV:Header\><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server<\faultcode><faultstring>Fault string, and possibly fault code, not set<\faultstring><\SOAP-ENV:Fault><\SOAP-ENV:Body><\SOAP-ENV:Envelope> (文件名、目录名或卷标语法不正确。); targetException=java.io.FileNotFoundException: E:\Eclipse SDK 3.0\workspace\uddi4jdemo\<?xml version="1.0" encoding="utf-8" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http:\schemas.xmlsoap.org\soap\envelope\"><SOAP-ENV:Header\><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server<\faultcode><faultstring>Fault string, and possibly fault code, not set<\faultstring><\SOAP-ENV:Fault><\SOAP-ENV:Body><\SOAP-ENV:Envelope> (文件名、目录名或卷标语法不正确。)]
 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 PublisherAssertionExample.run(PublisherAssertionExample.java:79)
 at PublisherAssertionExample.main(PublisherAssertionExample.java:57)
Caused by: java.io.FileNotFoundException: E:\Eclipse SDK 3.0\workspace\uddi4jdemo\<?xml version="1.0" encoding="utf-8" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http:\schemas.xmlsoap.org\soap\envelope\"><SOAP-ENV:Header\><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server<\faultcode><faultstring>Fault string, and possibly fault code, not set<\faultstring><\SOAP-ENV:Fault><\SOAP-ENV:Body><\SOAP-ENV:Envelope> (文件名、目录名或卷标语法不正确。)
 at java.io.FileInputStream.open(Native Method)
 at java.io.FileInputStream.<init>(FileInputStream.java:106)
 at java.io.FileInputStream.<init>(FileInputStream.java:66)
 at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
 at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
 at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:653)
 at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:186)
 at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
 at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
 at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
 at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:225)
 at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
 at org.apache.soap.util.xml.XMLParserUtils.parse(XMLParserUtils.java:323)
 at org.apache.soap.util.xml.XMLParserUtils.parse(XMLParserUtils.java:247)
 at org.apache.soap.messaging.Message.receiveEnvelope(Message.java:127)
 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 PublisherAssertionExample.run(PublisherAssertionExample.java:79)
 at PublisherAssertionExample.main(PublisherAssertionExample.java:57)


--  作者:tiancen2001
--  发布时间:6/6/2009 6:02:00 PM

--  有代码么
有代码么,能否看看代码
--  作者:tmw
--  发布时间:3/19/2010 10:07:00 PM

--  
我访问http://localhost:8080/juddi/happyjuddi.jsp
已经成功了
但是用uddi4j就是连不上
提示错误为:Error opening socket: Connection refused: connect
请问是怎么回事啊
搞了好多天了
我是win7系统+tomcat5.0+mysql5+juddi0.94rc+uddi4j
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
187.500ms