weblogic8.1下配置xfire開發webservice環境

配置步驟:

一、             工具準備:

Eclipse3.2

Myeclipse5.0

Weblogic8.1

開發環境:

windows XP

 jdk1.3
         eclipse3.2.1 + myeclipse5.0
         weblogic 8.1 sp2
(獨自運行jdk1.4

 

二、類包準備

Qname.jar 下載地址:http://docs.codehaus.org/download/attachments/27836/qname.jar?version=1

  

三、             Weblogic8部署注意地方

A、 WebLogic 8 支持的是 J2EE 1.3,也就是 Servlet 2.3 規範。若在 MyEclipse 中建立 Web Project 時選擇了 J2EE 1.4[default],在部署的時候就會出現異常,提示部署描述符 web.xml 是畸形的,也就是未通過 DTD 檢驗。因爲 J2EE 1.4 使用的是 Servlet 2.4 規範,這直接體現在 web.xml 部署描述符的頭部引用中。這就是有些朋友遇到的,部署在 Tomcat JBoss 中能夠運行的 JSP 程序,部署到 WebLogic 8 就無法運行的原因之一。如下圖:

 

Servlet 2.3 規範生成的 web.xml 頭部:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3/  /EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"
>
<web-app>
...
</web-app>

 

Servlet 2.4 規範生成的 web.xml 頭部:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi
=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

...
</web-app>

 

B、 解決這個問題,需要將 WebLogic 升級到 9.2 版本;或者使用 J2EE 1.3

C、 如果使用繼續使用weblogic8.1的,則需要對weblogic自帶的weblogic.jar包的xml命名包替換成:Qname.jar。否則web啓動時會報錯。服務啓動不了。

D、若在上一個問題選擇了 J2EE 1.3 進行開發後,在部署時會出現另外的異常,提示Unsupported major.minor version 49.0—— 又是版本問題,這次是由於 JDK 版本不支持造成的。WebLogic 8 不支持 JDK 1.5,由 JDK 1.5 編譯的程序無法部署到只支持 JDK 1.4 的服務器上運行。解決的辦法也有兩個:用 JDK 1.4 重新編譯;或者換用支持 JDK 1.5 的服務器,也就是升級到 WebLogic 9.2

 

四、             開始配置:

1、  建立webservice項目時,需要選擇J2EE1.3,不能選擇J2EE1.3[default]  

2、  默認下一步。

3、  進入Project Library Configuration頁面,默認選擇MyEclipse Libraries類包。

下面提供的選擇項中,在原來的基礎上,把Xfire1.1 HTTP Client Libraries也選上。

4、  單擊“Finish”按鈕

5、  單擊“New Web Service”按鈕。建立新web服務端。

6、  進入接口定義頁面。

 

填完。點擊“Finish”按鈕。

 

    

     7、則可以查看到“WebRoot->WEB-INF”目錄下存在web.xml文件,樣式如下

    <?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

  <servlet>

    <servlet-name>XFireServlet</servlet-name>    <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>

    <load-on-startup>0</load-on-startup>

  </servlet>

  <servlet-mapping>

    <servlet-name>XFireServlet</servlet-name>

    <url-pattern>/servlet/XFireServlet/*</url-pattern>

  </servlet-mapping>

  <servlet-mapping>

    <servlet-name>XFireServlet</servlet-name>

    <url-pattern>/services/*</url-pattern>

  </servlet-mapping>

  </web-app>

7、  進入根目錄下“Web Services”存在“webservice.xml”文件。其內容:

      <beans xmlns="http://xfire.codehaus.org/config/1.0">

        <service>

         <name>xxx</name>

       <serviceClass>xxxx</serviceClass>

<implementationClass>xxxx</implementationClass>

       <style>xx</style>

       <use>xx</use>

       <scope>xxx</scope>

    </service></beans>

 

8、  在“WebRoot>WEBINF>lib”目錄加入包:Qname.jar

9、  weblogic啓動命名文件:startWeblogic.xml文件中加上該包的執行路徑。

……….

set CLASSPATH=D:/qname.jar;

…….

 

 

    

 

     12、部署工程。

 

       13、配置完成後選擇“OK”。部署成功。

       14、啓動服務器器。可以在對應的IE頁面地址欄輸入:

           http://loaclhost:7001/services/testservice?wsdl

           如有現時xml格式的內容,則表明成功,否則需要檢查上述步驟是否出正常。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章