`
llyzq
  • 浏览: 579930 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Weblogic+Axis实现webservice

 
阅读更多
转自http://blog.csdn.net/xsailer/article/details/1763153

前面讲了用tomcat+axis来实现webservice,而网上对于weblogic+axis实现webservice却不多,按照网上说的做却总是报错,不成功,所以我经过不停的试验,终于配置成功了weblogic+axis

首先我们下载一个weblogic8.1.3,jdk和axis的下载参照Tomcat+axis那片文章里的下载安装和设置

下载好后我们安装weblogic,一直按下一步即可

安装完成后运行Configuration Wizard来新建域配置,一直按下一步,直到输入UserName,Password and Description(我们这里都设置成weblogic),然后在按下一步直到完成

然后我们将下载的axis压缩包下的webapp目录下的axis目录拷贝到C:/bea/user_projects/domains/mydomain/applications下面

由于axis中的一些jar包和weblogic中的有冲突,所以要修改C:/bea/user_projects/domains/mydomain/startWebLogic.cmd文件,优先使用axis的jar,将其中的
set CLASSPATH=%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%/jre/lib/rt.jar;%CLASSPATH%;%WL_HOME%/server/lib/webservices.jar
改成
set CLASSPATH=%AXISCLASSPATH%;%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%/jre/lib/rt.jar;%WL_HOME%/server/lib/webservices.jar

set CLASSPATH=%CLASSPATH%;%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%/jre/lib/rt.jar;%WL_HOME%/server/lib/webservices.jar(这里必须保证将AXISCLASSPATH加入了CLASSPATH环境变量中)
保存运行这个文件启动weblogic控制台,如下图


启动好之后打开ie,在url中输入http://localhost:7001/console,输入用户名和密码进入Weblogic Server Console


点击展开部署节点--点击WEB应用程序模块--然后点击旁边的部署新的新的应用程序模块,会出现选择web应用的窗口,如下图


选择相应目录下的web应用程序,我们选择axis,如下图


点击目标模块按钮,接着在出现的窗口中点击部署即可(这里我发现如果不在环境变量CLASSPATH中设置%AXISCLASSPATH%时,部署将报错)完成后如下图


这是我们可以点击测试选项中的链接,也可以在ie中输入http://localhost:7001/axis/,如果出现以下界面,说明配置成功


这时我们就可以按照tomcat+axis那篇文章所说的发布web服务了

遇到的问题
weblogic+axis的最大问题是2者间jar包的冲突,客户端调用web服务时会报NullPointerException错误,网上都说是axis的saaj.jar和weblogic的webservices.jar冲突,须将saaj.jar加在webservices.jar前面,我按网上这么加了也没用,后来我把整个AXISCLASSPATH都加到了最前面,就如我上面所说的那样,嘿,他就好了,我晕俄,网上的人也不知道是怎么成功的

还有一种说法就是在web-inf目录下加weblogic.xml,网上的人也没说要加到哪个web-inf下,我想想只有我的axis目录下有web-inf吧,就加他下面了,weblogic.xml的内容如下
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
<container-descriptor>
  <prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
这样也可以解决客户端调用web服务时会报NullPointerException的错误,但是我发现这样做的后果是点击axis的service的wsdl时出现无法显示页面。所以经过我不断的调试,只有像我前面说的那样修改startWebLogic.cmd中的set CLASSPATH项应该算是最完美的方法了,配这个东西的时候网上查了好久,都是千篇一律,说得没头没尾,所以说还是得自己去实践阿(实践是检验真理的唯一标准嘛)

注:在部署好的web应用程序的web-inf中加入weblogic.xml需要重新部署web应用程序
        修改了startWebLogic.cmd需重新执行startWebLogic.cmd,以便修改起作用

我在一个干净的winxp sp2,JDK1.4.2.05,weblogic8.1.3的环境下部署了axis1.4,和同事在家远程调用获得成功

相关程序安装目录
JDK        C:/j2sdk1.4.2_05
weblogic  C:/bea
axis1.4     C:/axis14(lib下有一些jar需另外当,老实说我也不知道哪些起了作用,只是把网上所说得涉及到的jar都找来了,嘿嘿)

相关环境变量设置
AXIS_HOME=C:/axis14
AXIS_LIB=%AXIS_HOME%/lib
AXISCLASSPATH=%AXIS_LIB%/axis.jar;%AXIS_LIB%/commons-discovery-0.2.jar;%AXIS_LIB%/commons-logging-1.0.4.jar;%AXIS_LIB%/jaxrpc.jar;%AXIS_LIB%/saaj.jar;%AXIS_LIB%/log4j-1.2.8.jar;%AXIS_LIB%/xml-apis.jar;%AXIS_LIB%/xercesImpl.jar;%AXIS_LIB%/wsdl4j-1.5.1.jar;%AXIS_LIB%/activation.jar;%AXIS_LIB%/xmlrpc-2.0.jar

JAVA_HOME=C:/j2sdk1.4.2_05
CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;%AXISCLASSPATH%;

Path前加了%JAVA_HOME%/bin
分享到:
评论

相关推荐

    weblogic8.1+axis1.4+ibatis2.3开发webservice服务.doc

    weblogic8.1+axis1.4+ibatis2.3开发webservice服务,并通过生成的客户端调用服务

    Weblogic10.3及tomacat6.0下使用axis发布webService

    详细描述了如何在tomacat6.0下发布webService,并以此为基础,进一步重点描述了如何在Weblogic10.3下发布webService。网上多半描述的是Weblogic8.1版本,而很少有关Weblogic10版本下发布webService。据本人了解,这...

    精通soa基于服务总线的struts+ejb+webservice整合应用开发

    精通soa基于服务总线的struts+ejb+webservice整合应用开发 作者:梁爱虎 书中光盘内容:org.eclipse.jdt.ui_3.1.2.jar weblogic91.server axis

    将应用部署在weblogic中于axis2冲突的问题及解决方案

    在Weblogic Server 10.3中,Axis2的StAX API实现会与Weblogic Server的XML Input Factory冲突。 结论 将应用部署在Weblogic Server 10.3中与Axis2冲突的问题可以通过删除项目WEB-INF\lib目录下的wstx-asl-3.2.4....

    axis2客户端调用axis1服务接口

    axis2客户端调用axis1服务接口 调用方式 使用RPC方式调用WebService,为了防止冲突可以增加 // 与weblogic的lib冲突配置 System.setProperty("javax.xml.stream.XMLInputFactory", ...

    webservice

    而"JB与中文Weblogic8的集成"和"JB开发Tomcat下的WebService+Weblogic客户"则涉及了如何在WebLogic环境中集成和使用由JBoss开发的Web服务,这通常涉及到服务的迁移、兼容性问题和性能优化。 在"WebService技术"文...

    maximo6-JAVA调用WEBSERVICE

    使用Apache Axis工具(或者在MAXIMO6环境下,使用weblogic8自带的axis1.1版本)将WSDL文件转换为JAVA客户端代码。在命令行中,指定classpath包括必要的库文件,如axis.jar、axis-ant.jar等,并执行`wsdl2java`命令...

    WebService_CXF范例.

    在Java领域,有许多用于实现WebService的框架,如AXIS、XFire以及CXF。其中,CXF因其高性能、可扩展性和用户友好性而受到广泛关注。 Apache CXF是由ObjectWeb Celtix和CodeHaus XFire合并而成的项目,这两个开源...

    MyEclipse生成webservice手册

    在这个界面,你可以添加或配置用于运行Webservice的服务器环境,比如Tomcat、JBoss或WebLogic等。确保你已经安装了相应的服务器,并在列表中正确配置它们,以便MyEclipse可以识别并支持Webservice的运行。 接下来,...

    WebService开发实例

    WebService可以部署在各种应用服务器上,如Tomcat、JBoss或WebLogic。部署后,服务可以通过URL访问,且该URL通常在WSDL文件中给出。 8. WebService安全 考虑到安全性,可以采用HTTPS协议加密通信,使用WS-...

    EOS5.x 的 WebService 服务配置及使用说明

    3 配置 EOS的 WebService服务....................................................................................................3 3.1 配置 WebService 声明.................................................

    ActiveMQ应用与实例1

    7. 集成了WebService框架CXF和Axis。 8. 提供RESTful API,便于API设计和调用。 9. 支持Message Groups、Virtual Destinations和Wildcards等高级特性。 10. 提供持久化机制,包括日志和数据库存储选项,如Derby、...

    (完整版)Java系统架构师面试题 (2).docx

    前端可以使用MVC模式,Axis、Ext、JQuery、Flex等框架来实现;后端可以使用Ejb、Spring、IOC、AOP、JMS、JNDI、RMI等技术来实现。 4. 什么是SOA、ROA?谈谈两种技术的原理及合用场景 SOA(Service-Oriented ...

    jbuilder 9.0教程

    5. **Web服务**:更新了Web服务相关的工具,如Apache Axis和SOAP toolkit,WebLogic toolkit提供了Web Services Console和Asynchronous WebService wizard。 6. **生产力提升**:编码和文档工具得到加强,如JavaDoc...

Global site tag (gtag.js) - Google Analytics