配置步骤:
一、 工具准备:
Eclipse3.2
Myeclipse5.0
Weblogic8.1
开发环境:
windows XP
jdk1.3
eclipse 3.2.1 + myeclipse5.0
weblogic 8.1 sp2(独自运行jdk1.4)
二、类包准备:
Qname.jar 下载地址:h tt p://docs.codehaus.org/download/a tt achmen ts /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"
"h tt p://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="h tt p://java.sun.com/xml/ns/j2ee"
xmlns:xsi=h tt p://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="h tt p://java.sun.com/xml/ns/j2ee
h tt p://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 H TT P 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" "h tt p://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.h tt p.XFireConfigurableServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pa tt ern>/servlet/XFireServlet/*</url-pa tt ern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pa tt ern>/services/*</url-pa tt ern>
</servlet-mapping>
</web-app>
7、 进入根目录下“Web Services”存在“webservice.xml”文件。其内容:
<beans xmlns="h tt p://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->WEB-INF->lib”目录加入包:Qname.jar
9、 在weblogic启动命名文件:startWeblogic.xml文件中加上该包的执行路径。
……….
set CLASSPATH=D:/qname.jar;
…….
12、部署工程。
13、配置完成后选择“OK”。部署成功。
14、启动服务器器。可以在对应的IE页面地址栏输入:
http://loaclhost:7001/services/testservice?wsdl
如有现时xml格式的内容,则表明成功,否则需要检查上述步骤是否出正常。