浏览 2497 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-08-21 关键字: weblogic xfire
配置步骤:
一、 工具准备: 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->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格式的内容,则表明成功,否则需要检查上述步骤是否出正常。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2007-09-11
楼主好,我看了你发了好几篇关于Xfire的文章,感觉很好。自己刚开始接触WebService,心理有个疑问:XFire在webService的开发中他出现的必要性是什么啊,没有他似乎也可以很方便的开发(我用Jbuilder开发觉得还是很简单的)。
|
|
| 返回顶楼 | |
|
时间:2007-09-18
VerRan 写道 楼主好,我看了你发了好几篇关于Xfire的文章,感觉很好。自己刚开始接触WebService,心理有个疑问:XFire在webService的开发中他出现的必要性是什么啊,没有他似乎也可以很方便的开发(我用Jbuilder开发觉得还是很简单的)。 如果你要做用Java做Web Services的开发,就需要完成下面几件事情。一个是 Java Class到WSDL以及WSDL到Java Class的映射。 另一个是如何把SOAP消息转换成为Java Object以及把Java Object转换成为SOAP消息。 Xfire就是帮你做了上面这些事情。 BTW, 现在XFire已经升级到CXF了,你可以从CXF开始学习。 升级移植文档: http://cwiki.apache.org/CXF20DOC/xfire-migration-guide.html 中文论坛: http://groups.google.com/group/cxf-zh |
|
| 返回顶楼 | |
|
时间:2008-03-27
楼主客户端怎么搞?
|
|
| 返回顶楼 | |
|
时间:2008-03-27
还有你的服务端xfire是用的哪个版本,我用xfire1.2.6在weblogic706里还是报jdk版本问题,在eclipse里已经编译1.4兼容了啊。没办法,客户一直用weblogic706,郁闷啊,楼主有办法吗?
|
|
| 返回顶楼 | |





