`
llyzq
  • 浏览: 585294 次
  • 性别: 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
分享到:
评论

相关推荐

    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....

    Axis WebService开发

    此类可通过Axis框架转换为WebService,实现远程调用和数据交互。 ##### 2.4 Axis生成工具与服务部署 ###### 2.4.1 服务器定义 使用Axis工具定义服务端点,指定服务类及其方法,确保WebService能够被远程客户端...

    axis2客户端调用axis1服务接口

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

    基于Axis2的Web Service 快速开发.ppt

    目前市场上存在多种Web Service引擎,例如Axis、XFire、JBoss、WebLogic、WebSphere以及Microsoft .Net等。其中,Axis2是由Apache推出的下一代Web Service框架,它是一个基于Servlet的模型,可以在任何Servlet容器上...

    四种方式调用webservice

    - **实现过程**:在.NET Framework中,可以使用.NET的SoapHttpClientProtocol类或现代的HttpClient类来调用WebService。创建一个新的WebService客户端实例,指定WebService的URL,然后调用相应的服务方法。对于.NET...

    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 开发

    - 学习如何将Axis的功能无缝地融入到自己的Web应用中,实现更高级别的定制和控制。 #### 故障排除 - 当遇到问题时,学会分析异常堆栈信息,识别并解决常见错误,如NullPointerException。 - 理解类加载机制,避免...

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

    使用Java客户端调用WebService服务时,可以通过JAX-RPC或JAX-WS API实现。 - **JAX-RPC**:较早的标准,用于SOAP 1.1协议的服务。 - **JAX-WS**:更新的标准,用于SOAP 1.2协议的服务。 示例代码如下: ```java /...

    WebService开发实例

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

    WebService_CXF学习

    在 Java 领域,有多种 WebService 框架可供选择,如 AXIS、XFire 和 CXF 等。 - **Apache CXF**:本部分重点介绍 Apache CXF。它是由 ObjectWeb Celtix 和 Codehaus XFire 合并而成的一个项目。其中,ObjectWeb ...

    四种方式调用webservice.doc

    本文档主要介绍了四种不同的方法来调用Web Service,这四种方式分别是VB调用、.NET调用、Axis2调用以及WebLogic调用。这些调用方法适用于不同开发环境和语言,帮助开发者根据项目需求选择合适的集成方式。 1.1. ...

Global site tag (gtag.js) - Google Analytics