转自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
分享到:
相关推荐
详细描述了如何在tomacat6.0下发布webService,并以此为基础,进一步重点描述了如何在Weblogic10.3下发布webService。网上多半描述的是Weblogic8.1版本,而很少有关Weblogic10版本下发布webService。据本人了解,这...
精通soa基于服务总线的struts+ejb+webservice整合应用开发 作者:梁爱虎 书中光盘内容:org.eclipse.jdt.ui_3.1.2.jar weblogic91.server axis
在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,实现远程调用和数据交互。 ##### 2.4 Axis生成工具与服务部署 ###### 2.4.1 服务器定义 使用Axis工具定义服务端点,指定服务类及其方法,确保WebService能够被远程客户端...
axis2客户端调用axis1服务接口 调用方式 使用RPC方式调用WebService,为了防止冲突可以增加 // 与weblogic的lib冲突配置 System.setProperty("javax.xml.stream.XMLInputFactory", ...
目前市场上存在多种Web Service引擎,例如Axis、XFire、JBoss、WebLogic、WebSphere以及Microsoft .Net等。其中,Axis2是由Apache推出的下一代Web Service框架,它是一个基于Servlet的模型,可以在任何Servlet容器上...
- **实现过程**:在.NET Framework中,可以使用.NET的SoapHttpClientProtocol类或现代的HttpClient类来调用WebService。创建一个新的WebService客户端实例,指定WebService的URL,然后调用相应的服务方法。对于.NET...
而"JB与中文Weblogic8的集成"和"JB开发Tomcat下的WebService+Weblogic客户"则涉及了如何在WebLogic环境中集成和使用由JBoss开发的Web服务,这通常涉及到服务的迁移、兼容性问题和性能优化。 在"WebService技术"文...
使用Apache Axis工具(或者在MAXIMO6环境下,使用weblogic8自带的axis1.1版本)将WSDL文件转换为JAVA客户端代码。在命令行中,指定classpath包括必要的库文件,如axis.jar、axis-ant.jar等,并执行`wsdl2java`命令...
在Java领域,有许多用于实现WebService的框架,如AXIS、XFire以及CXF。其中,CXF因其高性能、可扩展性和用户友好性而受到广泛关注。 Apache CXF是由ObjectWeb Celtix和CodeHaus XFire合并而成的项目,这两个开源...
在这个界面,你可以添加或配置用于运行Webservice的服务器环境,比如Tomcat、JBoss或WebLogic等。确保你已经安装了相应的服务器,并在列表中正确配置它们,以便MyEclipse可以识别并支持Webservice的运行。 接下来,...
- 学习如何将Axis的功能无缝地融入到自己的Web应用中,实现更高级别的定制和控制。 #### 故障排除 - 当遇到问题时,学会分析异常堆栈信息,识别并解决常见错误,如NullPointerException。 - 理解类加载机制,避免...
使用Java客户端调用WebService服务时,可以通过JAX-RPC或JAX-WS API实现。 - **JAX-RPC**:较早的标准,用于SOAP 1.1协议的服务。 - **JAX-WS**:更新的标准,用于SOAP 1.2协议的服务。 示例代码如下: ```java /...
WebService可以部署在各种应用服务器上,如Tomcat、JBoss或WebLogic。部署后,服务可以通过URL访问,且该URL通常在WSDL文件中给出。 8. WebService安全 考虑到安全性,可以采用HTTPS协议加密通信,使用WS-...
在 Java 领域,有多种 WebService 框架可供选择,如 AXIS、XFire 和 CXF 等。 - **Apache CXF**:本部分重点介绍 Apache CXF。它是由 ObjectWeb Celtix 和 Codehaus XFire 合并而成的一个项目。其中,ObjectWeb ...
本文档主要介绍了四种不同的方法来调用Web Service,这四种方式分别是VB调用、.NET调用、Axis2调用以及WebLogic调用。这些调用方法适用于不同开发环境和语言,帮助开发者根据项目需求选择合适的集成方式。 1.1. ...