文档章节

MyEclipse6.0 安装axis2插件, 调用加密的SAP webservice

苏文
 苏文
发布于 2013/06/06 09:41
字数 976
阅读 3.7K
收藏 7

      首先鄙视一下自己,还在用myeclipse,竟然还是6.0版本,没办法,用习惯了,而且自己的开发机配置不高,装过一些别的IDE,发现用的都不是很流畅。

       项目要用java调用sap的webservice接口,自己决定用axis2的wsdl2java根据wsdl文件生成java类然后调用接口。网上到处找资料,折腾了一天,终于把接口调通了。下面介绍一下安装调试的过程

首先参照的是这篇博文,资料和描述相当楚 http://blog.csdn.net/seven_zhao/article/details/6089747 

我对下面的下载地址做过改动,我下的插件是1_4_1这个目录下的,war包是1.5.x releases下面的

 

1.       下载Myeclipse Axis2插件

http://archive.apache.org/dist/ws/axis2/tools/1_4_1/

下载axis2-eclipse-codegen-wizard.zipaxis2-eclipse-service-archiver-wizard.zip

http://axis.apache.org/axis2/java/core/download.cgi

下载axis2-1.5-war.zip

2.解压插件($ECLIPSE_HOME表示你安装的myeclipse主目录)

       将上述两个插件都解压到$ECLIPSE_HOME/eclipse/plugins目录中;

Axis2_Codegen_Wizard_1.3.0 Axis2_Service_Archiver_1.3.0

 

3.       $ECLIPSE_HOME/eclipse/links目录下增加文件axis-eclipse-plugin.link

写入path= $ECLIPSE_HOME/eclipse/plugins (将$ECLIPSE_HOME替换为你的安装目录!!)

4.       重新启动myeclipse,在file->new->other中即可看到Axis2 Wizards,至此,axis2插件安装成功!!(GXGX)

5.       赶快试下用wsdl文件生成java源文件吧!是不是有错误出现?对~ 事情就是这样发展的。

6.       An error occurred while completing process-java.lang.reflect.InvocationTargetException的错误

解决方法如下:
step 1
、从AXIS2LIB库中复制"geronimo-stax-api_1.0_spec-1.0.1.jar"

"backport-util-concurrent-3.1.jar"文件到Axis2_Codegen_Wizard_1.3.0lib目录中,同时修改Axis2_Codegen_Wizard_1.3.0下的plugin.xml文件,<runtime>中添加

<library name="lib/geronimo-stax-api_1.0_spec-1.0.1.jar">

         <export name="*"/>

</library>

<library name="lib/backport-util-concurrent-3.1.jar">

        <export name="*"/>

</library>

plugin.xml文件中,保存!

step 2、将 $workspace位置/.metadata/.plugins下目录 Axis2_Codegen_Wizard 删除

step 3、在命令行下切换$ECLIPSE_HOME\eclipse目录,然后执行:

eclipse –clear 或者是 eclipse -clean,不太记得了

 

但是参照这个安装博文生成java类的时候仍然会出现 

An error occurred while completing process-java.lang.reflect.InvocationTargetException的错误     

按照博文的说法也改了,但是还是行。

又找到了别的更改方法。那就是重命名Axis2_Codegen_Wizard_1.3.0为Axis2_Codegen_Wizard_1.4.0

更改这个目录下的plugin.xml中的 version="1.4.0"

再重启Myeclipse,成功!!!

 

至此Axis2安装成功,下面用插件来生成java类吧,在myeclipse里flie--->new---->other 会出现

用code Generator吧

选择使用wsdl生成java,选择相应的wsdl文件点击下一步出现我选择custom

可以选择生成测试方法,客户端我选择生成的是sync style的,之后是选择生成的位置,注意包名,我试了几次才放对地方。

工程了还要引入相应的jar包,这些jar包在axis2-1.5-war\axis2\WEB-INF\lib里,但是jar包太多,我参照网上给出的列表筛选出了一些放入其中,下面就是我整理的axis2客户端所需要的jar包

在此还要给出缺失axis2 jar包引起的错误

 

 

各种类缺失对于的jar包:

org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder -->axis2-spring-1.6.1.jar
org.apache.axis2.transport.http.AxisServlet ------------------------->axis2-transport-http-1.6.1.jar
javax.wsdl.xml.WSDLLocator ------------------------------------------->wsdl4j-1.6.2.jar
org.apache.ws.commons.schema.resolver.URIResolver -------------->XmlSchema-1.4.7.jar
org.apache.axiom.om.OMNode ------------------------------------------>axiom-api-1.2.12.jar
org.apache.axiom.om.impl.llom.factory.OMLinkedListMetaFactory ------>axiom-impl-1.2.12.jar
org.apache.neethi.PolicyComponent ------------------------------------------>neethi-3.0.1.jar
org.apache.axis2.transport.local.LocalTransportSender--------------->axis2-transport-local-1.6.1.jar
org.apache.commons.httpclient.HttpException-------------------------->commons-httpclient-3.1.jar
javax.mail.internet.ParseException ----------------------------------------->mail-1.4.jar
org.apache.commons.fileupload.FileItemFactory ------------------------>commons-fileupload-1.2.jar
org.apache.woden.resolver.URIResolver -------------------------------------->woden-api-1.0M9.jar
org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher ------------>axis2-jaxws-1.6.1.jar
org.apache.commons.io.FileUtils ------------------------------------------------>commons-io-1.4.jar
org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver ----------------->axis2-adb-1.6.1.jar
org.apache.axis2.rpc.client.RPCServiceClient ------------------------------ -->axis2-adb-1.6.1.jar
org.apache.axis2.AxisFault? --------------------------------------------------->axis2-kernel-1.6.1.jar
org.apache.axis2.addressing.EndpointReference ------------------------ -->axis2-kernel-1.6.1.jar
org.apache.axis2.client.Options ----------------------------------------------->axis2-kernel-1.6.1.jar
org.apache.commons.logging.LogFactory ---------------------------------->commons-logging-1.1.1.jar
org.apache.axis2.transport.http.CommonsHTTPTransportSender ------>axis2-transport-http-1.6.1.jar
org.apache.http.HttpResponseFactory ---------------------------------->httpcore-4.0.jar
org.apache.commons.codec.DecoderException ------------------------- -->commons-codec-1.3.jar

 

到这里我生成了一个xxxxxxStub类,这个类就是接口类啦~但是Sap需要ws-security的认证,这个用户名和密码填写在哪里呢????

调用sap webservice的认证信息如下使用:

  ServiceStub serviceStub= new ServiceStub();
  HttpTransportProperties.Authenticator basicAuth = new HttpTransportProperties.Authenticator();  
   basicAuth.setUsername("userName");  
   basicAuth.setPassword("password");  
   serviceStub._getServiceClient().getOptions().setProperty(HTTPConstants.AUTHENTICATE, basicAuth);

 

最后大功告成~

 

© 著作权归作者所有

苏文
粉丝 5
博文 4
码字总数 2857
作品 0
丰台
程序员
私信 提问
加载中

评论(0)

Java 使用Axis实现WebService实例

版权声明:本文为博主原创文章,转载请标明出处!博客地址:http://blog.csdn.net/qazwsxpcm https://blog.csdn.net/qazwsxpcm/article/details/78003905 在上一篇WebService实例中,基于jdk...

虚无境
2017/09/16
0
0
使用axis2发布web service

Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。这些都将在后面的...

NotFoundException
2013/03/13
696
0
axis helloworld

Axis2创建WebService实例 博客分类: Java综合 WebServiceTomcatApacheWebXML 一、Axis2的下载和安装 1.可从http://ws.apache.org/axis2/ 下载Axis2的最新版本: 可以下载如下两个zip包: ax...

itwriter
2014/08/22
122
0
Eclipse中开发webservice

eclipse开发webservie 1.下载axis2相关架包----war,bin是必须的; axis2的eclipse插件(2个)-http://apache.dataguru.cn/axis/axis2/java/core/org.apache.axis2.eclipse.codegen.plugin0.0......

绿林小子
2015/11/04
191
0
Axis2创建WebService实例

一、Axis2的下载和安装 1.可从http://ws.apache.org/axis2/ 下载Axis2的最新版本: 可以下载如下两个zip包: axis2-1.5.4-bin.zip axis2-1.5.4-war.zip 其中 axis2-1.5.4-bin.zip文件中包含了...

玄空
2014/02/18
1.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

定时器Timer和TimerTask

为什么要使用定时器呢? 比如说一个web应用,如果这个应用规模很大,那它的日志数据是不是很多。如果一直存下来服务器的存储量怕是不行吧,需要隔一段时间删除,那么就需要一个线程每隔一段时...

南柯好萌
25分钟前
5
0
深圳创服机构创成汇投融资对接指南

深圳创服机构创成汇投融资对接指南 一线城市一直是许多创业者创业热土,深圳也不例外,作为发达城市,科技是深圳的标志,也是许多科技创业者向往之地,科技创业者在创业前期面临许多难题,其...

cchlin
38分钟前
17
0
egg学习笔记第六天:使用中间件屏蔽可疑用户

站点有时候想屏蔽一些特定频繁抓取服务器数据的用户,可以放在中间件中去做,用户在指定Ip数组内,则屏蔽,如果不在,则匹配路由规则执行controller。 中间件的概念: 匹配路由前,匹配路由完...

一生懸命吧
42分钟前
34
0
005-其他技巧

css精灵图(css雪碧)sprites 减少服务器接收和发送请求的次数,提高页面加载速度 原理:将网页中的一些小背景图整合到一张大图中 使用background-position移动背景图位置-x/y坐标 字体图标ico...

沉默的懒猫
47分钟前
15
0
YouTube视频下载:Airy for mac

想在YouTube下载视频?借助适用于Mac的AIry YouTube下载程序,您可以获得一个简单而高效的下载程序,可以在瞬间处理来自YouTube的任何曲目或播放列表。只需找到您要下载的视频,选择格式和分...

MacW软件分享
57分钟前
38
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部