文档章节

Java通过Axis2调用SAP的Webservice

zkool
 zkool
发布于 2016/11/23 14:22
字数 768
阅读 227
收藏 1

1、设置环境变量 AXIS2_HOME = D:\JAVA\axis2\axis2-1.6.2 2、下载工具:(1.6.2生成的代理类存在BUG,建议用1.5.1版本) Eclipse:http://www.eclipse.org/downloads/ Tomcat:http://tomcat.apache.org/ Axis:http://axis.apache.org/axis2/java/core/download.cgi axis2-war:http://axis.apache.org/axis2/java/core/tools/index.html axis2-eclipse-codegen-plugin:http://axis.apache.org/axis2/java/core/tools/index.html axis2-eclipse-service-plugin:http://axis.apache.org/axis2/java/core/tools/index.html 安装JDK不用多说了吧。 3、安装Eclipse插件: axis2-eclipse-codegen-plugin和axis2-eclipse-service-plugin是Eclipse的插件,分别解压在Eclipse的根目录就可以了。 注意:Axis2 1.6.2有个BUG,需要添加两个额外的Jar放在eclipse\dropins目录下: org.apache.axis2.eclipse.codegen.plugin_0.0.0.SNAPSHOT.jar org.apache.axis2.eclipse.service.plugin_0.0.0.SNAPSHOT.jar 下载地址: https://repository.apache.org/content/groups/snapshots/org/apache/axis2/axis2.eclipse.service.plugin/SNAPSHOT/ https://repository.apache.org/content/groups/snapshots/org/apache/axis2/axis2.eclipse.codegen.plugin/SNAPSHOT/

4、在SAP端发布Webservice(之前我写过相关文档,发布Web服务的细节这里就不在赘述了)

5、得到WSDL文件的地址,并保存为本地文件以wsdl作为文件扩展名 http://r3ids01:8000/sap/bc/srt/wsdl/bndg_534F90D9B51D4480E10080000A3F001C/wsdl11/allinone/ws_policy/document?sap-client=800

6、在eclispe 的package Explorer 中点击右键,在菜单中选择新建--->other--->Axis2 Code Generator

7、点击next,进入下一个页面,选择从wsdl文件来产生java文件。

8、点击next,然后选择wsdl文件,注意此处选之前保存到本地的WSDL地址

9、点击next,进入设置页面,这里我们就用默认的设置。

10、点击next,选择输出文件的路径。

11、点击finish,如果看到这个页面,恭喜你已经生成代码成功。

注意:有时候SAP发布的Web服务的WSDL文件中Policy节点无法识别,此时在WSDl文件中将其注释即可:

12、已经生成代理类源码

13、在Eclipse中新建项目,将生成的这两个加载源码里,你会惊喜的发现,著名的小红叉一个接一个的,这是因为没有axis2的类包。我们可以在下载的axis2-1.6.2-bin中找到lib包,把其中的jar都加入我们的工程中。有可能还是少Jar包,就在www.findjar.com 找吧。然后重新编译一下工程,这时我们发现SimpleServerStub还是有几个小红叉。这个是因为这个插件有个小bug。生成的代码没有实现序列化方法。我们可以自己来加上,在小红叉上点一下,弹出一个小菜单,选择Add unimplemented methods。

14、编写调用的代码

运行并返回结果

大功告成

测试类代码

package mc_style.functions.soap.sap.document.sap_com;

import java.rmi.RemoteException;

import org.apache.axis2.Constants.Configuration; import org.apache.axis2.transport.http.HTTPConstants; import org.apache.axis2.transport.http.HttpTransportProperties;

public class ServiceTest {

//用axis2-eclipse-codegen-wizard生成Java代码,不能解析WSDl文件的Policy节点,需要手工删掉Policy节点
public static void main(String[] args) throws RemoteException {
	ServiceStub stub = new ServiceStub();
	//设置用户名密码
	HttpTransportProperties.Authenticator basicAuth = new HttpTransportProperties.Authenticator();
	basicAuth.setUsername("hh_zhaowei");
	basicAuth.setPassword("zhaowei");
	stub._getServiceClient().getOptions().setProperty(HTTPConstants.AUTHENTICATE, basicAuth);
	stub._getServiceClient().getOptions().setProperty(Configuration.CHARACTER_SET_ENCODING, "GBK");
	stub._getServiceClient().getOptions().setTimeOutInMilliSeconds(300 * 1000);
	stub._getServiceClient().getOptions().setProperty(Configuration.HTTP_METHOD, HTTPConstants.HTTP_METHOD_POST);

	ServiceStub.ZwfmTest01 in = new ServiceStub.ZwfmTest01();//输入
	ServiceStub.ZwfmTest01Response out = new ServiceStub.ZwfmTest01Response();//输出

	in.setInput("zhaow");//设置输入数据
	out = stub.zwfmTest01(in);//调用
	System.out.println(out.getOutput());//接收返回结果
}

}

本文转载自:http://download.csdn.net/detail/zhaowei0315/7303189

共有 人打赏支持
zkool

zkool

粉丝 48
博文 62
码字总数 17604
作品 0
海淀
程序员
MyEclipse6.0 安装axis2插件, 调用加密的SAP webservice

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

苏文
2013/06/06
0
0
axis helloworld

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

itwriter
2014/08/22
0
0
使用axis2发布web service

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

NotFoundException
2013/03/13
0
0
WebService框架JWS、Axis2、XFire、CXF的区别

1、JWS是Java语言对WebService服务的一种实现,用来开发和发布服务。而从服务本身的角度来看JWS服务是没有语言界限的。但是Java语言为Java开发者提供便捷发布和调用WebService服务的一种途径...

liangyx
2012/12/15
0
1
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
0
0

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
5
0
现场看路演了!

HiBlock
昨天
16
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
9
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
19
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部