ABAP发布WEBSERVICE以及JAVA调用

ABAP发布WEBSERVICE以及JAVA调用


2024年5月5日发(作者:vivox5手机参数配置)

ABAP发布Webservice以及JAVA调用方式

ABAP发布Webservice

一、输入se37或者se80创建WEBSERVICE

二、Webservice创建成功后,输入事务代码SOAMANAGER

注意:WINDOWS 中需要配置host 文件

三、选择第二个也签中的第一个连接

单击

Open WSDL document for selected binding

连接弹出:WSDL的地址

location=":8000/sap/bc/srt/rfc/sap/zws_s

ervic/300/zws_servic/zws_servic" />

LOCATION 或者ACTION后的地址则是外部调用Webservice的地址

逻辑端口也用如此方法创建

JAVA调用ABAP发布的Webservice

1. 调用过程中存在问题及解决办法

1.1 无法利用AXIS2, CXF标准工具解析 ECC发布的地址。

解决: 利用IE访问Webservice地址,然后将其另存为*.xml文件

利用CXF工具,编译该*.xml 文件,生成JAVA类。

输入:wsdl2java -d src - client Webservice。。。。。。。

附加:wsdl2java用法:

wsdl2java -p com -d src -all

-p 指定其wsdl的命名空间,也就是要生成代码的包名:

-d 指定要产生代码所在目录

-client 生成客户端测试web service的代码

将文件拷贝到程序中。

注意问题: 1. 类文件中的 包名 需要修改,部分定义的-包.类-格式中的包也需要

修改.

2. 工具生成类的过程中,如果出现重名的情况(例如某类:TEST,但是有其他类

应该是 test,大小写不区分),一般只会保存一个类,需要手工添加缺少的类(可

从其他代码的报错信息看出)。

1.2 访问权限问题:

访问的权限体现在http的体系中

不同的调用方式,拥有不同的设置权限方法,以CXF为例:

需要在解析后的**client类中添加代码:

Client client = ent(port);

HTTPConduit http = (HTTPConduit) duit();

AuthorizationPolicy auth = new AuthorizationPolicy();

rName("");

sword("654321");

horization(auth);

1.3 访问地址:

ABAP会发布两种可以访问的WSDL地址;

第一种:

:8000/sap/bc/srt/rfc/sap/ytest_se

rvice/300/ytest_service/ytest_service

第二种:

:8000/sap/bc/srt/wsdl/bndg_DF511834C4CA61F18306002

21999201E/wsdl11/allinone/ws_policy/document?sap-client=300

JAVA解析及调用的是第二种地址;第一种发布出的Webservice服务,具体的方法

等信息在第二种体现,2中,也包含了1的地址:

location=":8000/sap/bc/srt/rfc/sap/ytest_

service/300/ytest_service/ytest_service" />

1.4 调用方法

根据生成的**client类,可以找到方法名,需要传入的参数等信息。

参数类型也会根据WEBSERVICE的发布,自动解析为某个类文件。

具体的方法需要具体分析。

1.4.1 MC例子

生成包mc_style

类:YTESTSERVICE.*.

类中包含:ABAP发布的方法,传入的参数等。

ervice(****);

2. 侯志宇提供的方法。

_ytestService_flag = "X";

如果flag设置为X,表示存储,如果是““,表示查询。

_ytestService_flagDelete = "";

如果delete=X,删除表中数据。

r _ytestService_sum = null;

如果sum = null,查询表中所有数据。

如果sum = 200,表示查询表中200条数据

_fZservice

_ytestService_yserviceVal = null;

传入的参数:具体类型和结构参照对应的类


发布者:admin,转转请注明出处:http://www.yc00.com/num/1714870747a2530512.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信