<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一路拾遺
    Collect By Finding All The Way ......
    posts - 81,comments - 41,trackbacks - 0

     一、簡介
    IBM 發布的 uddi4j是UDDI的java實現,它包含發布、查找、取消web服務的API。而juddi是apache組織的一個開源項目,它部署在tomcat等服務器上是UDDI的服務器。
    本文的主要內容:
    1. 利用uddi4j 的API創建web服務;
    2. 將創建好的web服務發布到juddi的服務器上;
    3. 在juddi服務器上查詢web服務。

    二、 運行環境
    環境:winxp + jdk1.6 + tomcat6.0 + mysql5.0 + juddi-2.0rc5 + uddi4j-2.0.5(各種產品的版本沒有太大影響)

    三、安裝與配置juddi
    1. 下載juddi-2.0rc5.zip(官方網址:http://ws.apache.org/juddi/releases.html),解壓后將juddi-2.0rc5\webapp\juddi拷貝到tomcat的webapp目錄下。
    2. 確保mysql正確安裝,將mysql的jdbc驅動程序拷貝到tomcat的common\lib下,我這里用到的是mysqldriver.jar。
    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驅動程序,如果所用到的數據庫版本或是驅動程序版本不同這里也要變化。
    4. 新建juddi用到的數據庫,并插入數據,具體就是執行\juddi-2.0rc5\sql\mysql文件夾中的兩個sql文件:create_database.sql、insert_publishers.sql,前一個sql文件可以直接執行,將創建數據庫juddi,后一個sql文件要修改成如下:
    USE juddi;
    -- *** SAMPLE PUBLISHER ***
    INSERT INTO PUBLISHER (PUBLISHER_ID,PUBLISHER_NAME,EMAIL_ADDRESS,IS_ENABLED,IS_ADMIN) VALUES ('juddi','juddi','juddi@apache.org','true','true');
    這樣就插入到表publisher中一條數據,就是一個用戶,用戶名:juddi,密碼:juddi,我們在uddi4j中將用這個用戶來創建web服務。
    5. 驗證安裝是否成功。重啟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

    四、運行uddi4j的示例程序創建、發布、查找web服務
    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

    運行FindBusinessExample.java
    *********** Running FindBusinessExample ***********
    Sample Business

    posted on 2008-08-15 16:38 胖胖泡泡 閱讀(2193) 評論(10)  編輯  收藏

    FeedBack:
    # re: 使用UDDI4J連接JUDDI
    2008-12-16 10:03 | lilin138000
    你好,我運行時有這個問題:
    import com.hp.soap.client.SoapClient;
    import com.hp.soap.client.ClientMessage;
    import com.hp.soap.client.SoapBody;
    import com.hp.soap.client.SoapException;
    import com.hp.soap.xml.XMLUtil;

    難道是要用hp的包嗎,請指教,   回復  更多評論
      
    # re: 使用UDDI4J連接JUDDI
    2008-12-16 18:25 | 胖胖泡泡
    添加這個包 soap.jar  回復  更多評論
      
    # re: 使用UDDI4J連接JUDDI
    2008-12-16 23:08 | lilin138000
    可是soap.jar我已經加了還是不行,是不是別的原因  回復  更多評論
      
    # re: 使用UDDI4J連接JUDDI
    2008-12-17 09:57 | 胖胖泡泡
    引入包uddi4j.jar , soap.jar,activation.jar,mail.jar  回復  更多評論
      
    # re: 使用UDDI4J連接JUDDI
    2009-03-10 16:12 | zhxiaomiao
    我都弄了一天了 樓主我的問題好多啊 我用tomcat6配置 就這樣 死活不行 報
    DB connection was not aquired. (Cannot create JDBC driver of class '' for connect URL 'null')

    - SELECT COUNT(*) FROM PUBLISHER failed (null)
    沒辦法下 我只能下載帶著tomcat的 juddi-tomcat-2.0rc6.zip這樣可以 我把這個的server文件配置都和tomcat6.0的一樣都不行 不知道什么原因
    還有我運行SaveBusinessExample.java 例子時報錯:(用的包都有了)
    *********** Running SaveBusinessExample ***********

    Get authtoken
    Fault string, and possibly fault code, not set
    at org.uddi4j.UDDIElement.<init>(UDDIElement.java:40)
    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)

    樓主 我的QQ 273507550 希望你能幫助我 看一下 謝謝  回復  更多評論
      
    # re: 使用UDDI4J連接JUDDI
    2010-04-01 16:14 | sjx
    @lilin138000
    我用的apache的soap.jar包,測試成功,你可以試試,下載地址:http://mirrors.ibiblio.org/pub/mirrors/maven2/soap/soap/2.3.1/soap-2.3.1.jar  回復  更多評論
      
    # re: 使用UDDI4J連接JUDDI
    2010-04-30 11:27 | happy
    樓主你好,我遇到了下面問題,請您幫我解答一下,謝謝了
    *********** Running PublisherAssertionExample ***********

    Get authtoken
    Fault string, and possibly fault code, not set
    at org.uddi4j.UDDIElement.<init>(UDDIElement.java:40)
    at org.uddi4j.response.AuthToken.<init>(AuthToken.java:85)
    at org.uddi4j.client.UDDIProxy.get_authToken(UDDIProxy.java:1626)
    at PublisherAssertionExample.run(PublisherAssertionExample.java:79)
    at PublisherAssertionExample.main(PublisherAssertionExample.java:57)  回復  更多評論
      
    # re: 使用UDDI4J連接JUDDI
    2010-05-04 16:51 | happy
    問題解決了,原來自己建表時出錯了,只建立了publisher表,而沒有建立其它表,重新運行create_database.sql及insert_publisher.sql后問題解決了!  回復  更多評論
      
    # re: 使用UDDI4J連接JUDDI
    2010-09-28 22:42 | Wordsworth
    我是菜鳥,剛剛接觸。請問,我運行SaveBusinessExample.java的時候出現下面的錯誤

    *********** Running FindBusinessExample ***********
    Exception in thread "main" java.lang.NullPointerException
    at org.uddi4j.client.UDDIProxy.setConfiguration(UDDIProxy.java:234)
    at org.uddi4j.client.UDDIProxy.<init>(UDDIProxy.java:129)
    at FindBusinessExample.run(FindBusinessExample.java:54)
    at FindBusinessExample.main(FindBusinessExample.java:44)

    請問是什么問題啊。謝謝  回復  更多評論
      
    # re: 使用UDDI4J連接JUDDI
    2010-09-28 22:44 | Wordsworth
    不好意思,剛才錯誤復制錯了,下面是錯誤內容

    *********** Running SaveBusinessExample ***********
    Exception in thread "main" java.lang.NullPointerException
    at org.uddi4j.client.UDDIProxy.setConfiguration(UDDIProxy.java:234)
    at org.uddi4j.client.UDDIProxy.<init>(UDDIProxy.java:129)
    at SaveBusinessExample.run(SaveBusinessExample.java:60)
    at SaveBusinessExample.main(SaveBusinessExample.java:50)
      回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 在线免费观看a级片| 亚洲国产中文字幕在线观看| 亚洲日韩精品国产3区| 国产伦一区二区三区免费 | 自拍日韩亚洲一区在线| 国产午夜影视大全免费观看| 男女拍拍拍免费视频网站| 亚洲沟沟美女亚洲沟沟| 全亚洲最新黄色特级网站 | 亚洲中久无码不卡永久在线观看| 免费无码成人AV在线播放不卡| 亚洲AV无码专区国产乱码不卡| 久久亚洲AV午夜福利精品一区| 天天看免费高清影视| baoyu777永久免费视频 | 日本妇人成熟免费中文字幕| 美女无遮挡免费视频网站| 亚洲经典在线中文字幕| 亚洲成年看片在线观看| 大地资源在线观看免费高清| 免费看黄的成人APP| 国产AV无码专区亚洲AV琪琪| 亚洲国产精品专区| 亚洲精品无码久久久久去q| 国产又黄又爽又刺激的免费网址 | 福利免费在线观看| 亚洲视频在线不卡| 亚洲毛片网址在线观看中文字幕 | 亚洲福利电影在线观看| 精品亚洲成α人无码成α在线观看 | 你懂的免费在线观看| 亚洲国产精品无码久久九九大片| 亚洲国产精品久久久久| 中文字幕不卡亚洲| 国产成人aaa在线视频免费观看| 亚洲一级毛片免费看| 男人的天堂网免费网站| 成人免费乱码大片A毛片| 免费国产va视频永久在线观看| 中日韩亚洲人成无码网站| 亚洲狠狠狠一区二区三区|