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

MyEclipse6.0 安装axis2插件, 调用加密的SAP webservice
6人收藏此文章, 我要收藏 发表于1个月前(2013-06-06 09:41) , 已有116次阅读 ,共0个评论

      首先鄙视一下自己,还在用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.zip和axis2-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、从AXIS2的LIB库中复制"geronimo-stax-api_1.0_spec-1.0.1.jar"和

"backport-util-concurrent-3.1.jar"文件到Axis2_Codegen_Wizard_1.3.0的lib目录中,同时修改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);

最后大功告成~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Eclipse中要导出jar包中引用了第三方jar包怎么办

Eclipse中要导出jar包中引用了第三方jar包怎么办 (2009-07-20 15:28:44) 转载▼标签&#xff1a; it 分类&#xff1a; Eclipse 今天做个小的java程序&#xff0c;想要先将其导出成一个可执行的jar包&#xff01;向往常一样&#xff0c;单击菜单栏中的 File -> export,弹出…

枚举类型定义

enum orientation:byte { north 1, south 2, east 3, west4 } 注意&#xff1a;声明在代码的主体之外 转载于:https://www.cnblogs.com/judes/p/9042426.html

拖动滑块拼图背景图没显示_计划B? 那是计划N…没什么。 拼图于2015年问世

拖动滑块拼图背景图没显示真是一天 当典型的欧洲人逐渐破产时&#xff0c;美国的人们开始喝咖啡。 这就是为什么我在Mark Reinhold最近的新闻中睡个好觉的原因。 他在题为“ Project Jigsaw&#xff1a;火车晚点 ”的帖子中建议将Project Jigsaw推迟到下一个版本Java 9。 在最近…

vi 常用命令行

vi 常用命令行 vi 常用命令行 1.vi 模式   a) 一般模式&#xff1a; vi 处理文件时&#xff0c;一进入该文件&#xff0c;就是一般模式了.   b) 编辑模式&#xff1a;在一般模式下可以进行删除&#xff0c;复制&#xff0c;粘贴等操作&#xff0c;却无法进行编辑操作。等…

java keytool证书工具使用小结

Keytool 是一个Java数据证书的管理工具 ,Keytool将密钥&#xff08;key&#xff09;和证书&#xff08;certificates&#xff09;存在一个称为keystore的文件中在keystore里&#xff0c;包含两种数据:密钥实体&#xff08;Key entity&#xff09;-密钥&#xff08;secret key&a…

在Kafka中发布订阅模型

这是第四个柱中的一系列关于同步客户端集成与异步系统&#xff08; 1&#xff0c; 2&#xff0c; 3 &#xff09;。 在这里&#xff0c;我们将尝试了解Kafka的工作方式&#xff0c;以便正确利用其发布-订阅实现。 卡夫卡概念 根据官方文件 &#xff1a; Kafka是一种分布式的&…

深入理解C++中的mutable关键字

2006-12-16 05:00 来源&#xff1a;BLOG 作者&#xff1a;寒星轩 责任编辑&#xff1a;方舟yesky 评论(32)推荐&#xff1a;经典教程专区mutalbe的中文意思是“可变的&#xff0c;易变的”&#xff0c;跟constant&#xff08;既C中的const&#xff09;是反义词。在C中&…

my.ini优化mysql数据库性能的十个参数(推荐)

(1)、max_connections&#xff1a;允许的同时客户的数量。增加该值增加 mysqld 要求的文件描述符的数量。这个数字应该增加&#xff0c;否则&#xff0c;你将经常看到 too many connections 错误。 默认数值是100&#xff0c;我把它改为1024 。(2)、record_buffer&#xff1a;每…

sizeof(string)

2012-07-14 00:38:54| 分类&#xff1a; C | 标签&#xff1a; |字号大中小 订阅 今天看《程序员面试宝典》一书&#xff08;为了应付将要到来的微软笔试&#xff09;&#xff0c;看到了sizeof(string)这个问题。在Dev C上测试的结果是4&#xff0c;很不明白。上网搜了一下…

实现userdetails_Spring Security使用Hibernate实现自定义UserDetails

实现userdetails大多数时候&#xff0c;我们将要在Web应用程序中配置我们自己的安全访问角色。 这在Spring Security中很容易实现。 在本文中&#xff0c;我们将看到最简单的方法。 首先&#xff0c;我们将在数据库中需要以下表格&#xff1a; CREATE TABLE IF NOT EXISTS myd…

C++类内存结构布局

分类&#xff1a;C 2011-01-16 09:40 阅读(379)评论(0)编辑删除 一、没有虚函数&#xff0c;没有继承的类内存结构&#xff1a;1.如下定义一个类&#xff1a;class A{public:void seta(int x) {a x;}; void setb(int x) {b x;};int sum() {return ab;};private:int a;int b;…

使用Boxfuse为您的REST API设置https

在我的上 一篇 文章中&#xff0c;我展示了在Boxfuse的帮助下&#xff0c;基于Spring Boot框架建立REST API并在AWS上运行非常容易 。 下一步是利用SSL与API进行通信。 通过使用SSL&#xff0c;我们确保在REST API服务器和API客户端之间的传输过程中保存了数据 。 要为Spring B…

Python类与对象实验

一、任务描述 本实验任务主要对Python类与对象进行一些基本操作&#xff0c;通过完成本实验任务&#xff0c;要求学生熟练掌握Python类与对象的关系&#xff0c;并对Python类与对象的基本操作进行整理并填写工作任务报告。 二、任务目标 1、掌握Python类的创建 2、掌握类对象 三…

c++类的内存布局

by andydeng • 2011 年 4 月 3 日 • C • 1 Comment 本文基本上是对于Stanley B.Lippman的Inside The C Object Model一书第一章第三章的概括,描述了c类的内存布局情况. c的类的内存布局有如下规则: 1. Nonstatic data member 存放在Class Object中; 2. Static data membe…

matlab 五点三次平滑算法

(2012-04-23 21:01:31) 转载▼标签&#xff1a; 杂谈 分类&#xff1a; matlab http://www.ilovematlab.cn/thread-71818-1-1.html 这里提供一个函数mean5_3(五点三次平滑算法)对数据进行平滑处理&#xff1a; load V1.mat subplot 211; plot(V1); ylim([2000 7000]); grid; y…

spring配置xml文件_XML配置文件中的Spring配置文件

spring配置xml文件我的上一个博客非常简单&#xff0c;因为它涵盖了我从Spring 3.0.x到Spring 3.1.x的轻松升级&#xff0c;最后我提到可以将Spring模式升级到3.1&#xff0c;以利用Spring的最新功能。 在今天的博客中&#xff0c;我将介绍这些功能中最酷的功能之一&#xff1a…

数组指针和指针数组的区别

数组指针&#xff08;也称行指针&#xff09; 定义 int (*p)[n]; ()优先级高&#xff0c;首先说明p是一个指针&#xff0c;指向一个整型的一维数组&#xff0c;这个一维数组的长度是n&#xff0c;也可以说是p的步长。也就是说执行p1时&#xff0c;p要跨过n个整型数据的长度。 如…

用JS写的取存款功能

console.log("请输入用户名&#xff1a;");let username readline.question(); // 接收用户输入的用户名console.log("请输入密码&#xff1a;");let password readline.question(); // 接收用户输入的密码let arr [["123", "123…

您在2016年OpenStack峰会上错过的事情

今年我第一次参加了4月25日至29日在德克萨斯州奥斯汀举行的OpenStack峰会。 今天结束了&#xff0c;我要回家了&#xff0c;我想回顾一下&#xff0c;从我的角度分享你错过的事情。 作为以应用程序开发人员为重点的技术传播者&#xff0c;转移到包含Red Hat产品组合的基础架构…

HDU1069 最长上升子序列

emm。。。。矩形嵌套 还记得吗。。。。就是它。。。 直接贴代码了。。。。 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Scanner;public class Main{final static int maxn 1000000;…