ABAP调用外部WebService

TCode:se80

选择 Package,输入我们自己的开发包,后回车

右击 开发包名称,选择菜单

出现创建向导窗体

选择”Service Consumer”,点击 继续

选择”external WSDL”,点击继续

选择”URL”,点击继续

输入WebService的WSDL地址,就是WebService地址的后面加上?wsdl这个參数。

点击继续

选择开发类和创建传输号,点击继续。

点击”Complete” ,出现WebServer代理类的创建窗体。

改动系统产生的代理类的名字,然后点保存,激活。到这一步,WebService代理就创建完毕了。

要想使用它,我们还要创建一个逻辑port。事务码:lpconfig。

在 代理类中选择、输入上面创建的代理类。在逻辑port中输入port号,PS port号能够随便字母和数字组合。输入描写叙述后。点创建。

在”URL”处,输入要訪问的WebService的地址,全局设置中的”状态管理”要勾上。

选择 WebService中的函数。并输入函数的SoapAction,点保存。逻辑port创建完毕。接下来就该Coding了。

01.*&———————————————————————*

02.*& Report  ZWEBSERVICETEST

03.*&

04.*&———————————————————————*

05.*&

06.*&

07.*&———————————————————————*

08.REPORT  zwebservicetest.

09.DATA:helloworld(200) TYPE c.

10.DATA:webservice TYPE REF TO zco_web_service1soap.      “WebService代理类

11.DATA:gt_input TYPE zhello_world_soap_in,               “输入參数

12.gt_output TYPE zhello_world_soap_out.             “输出參数

13.DATA:lo_sys_exception   TYPE REF TO cx_ai_system_fault,

14.lo_app_exception   TYPE REF TO cx_ai_application_fault.

15.START-OF-SELECTION.

16.TRY.

17.CREATE OBJECT webservice

18.EXPORTING

19.logical_port_name  = ‘LZP101′ .                 “为此WebService创建的逻辑端口。

20.CATCH cx_ai_system_fault .

21.MESSAGE ‘出错了’ TYPE ‘S’.

22.ENDTRY.

23.TRY.

24.CALL METHOD webservice->hello_world

25.EXPORTING

26.input  = gt_input

27.IMPORTING

28.output = gt_output.

29.CATCH cx_ai_system_fault INTO lo_sys_exception .

30.“message ‘出错了 systemai’ type ‘S’.

31.WRITE lo_sys_exception->errortext.

32.CATCH cx_ai_application_fault INTO lo_app_exception .

33.WRITE / .

34.WRITE lo_app_exception->textid.

35.ENDTRY.

36.WRITE gt_output-hello_world_result.

时间: 2024-10-12 07:17:22

ABAP调用外部WebService的相关文章

20170401 ABAP调用CIS webservice

问题: SAP  abap SRM java  调webservice 不通, CIS java  这边的webservice 可以通, WHY? key:请求头,系统框架的问题, LF:因为请求头的问题吧CX:请求头有什么差别?  LF:r3发出来的请求,header里面很复杂 ;大概不符合srm的要求, 这个最开始是 波哥调某个系统的时候出现的, 我搞不清楚为啥会出现,而且其他sap开发人员做接口不会出现这个问题吗,之前一直想找到原因,但还是因为不够执著,且能力也有欠缺未能成功find re

C# ASP.NET Webservice调用外部exe无效的解决方法

最近用asp.net做webservice,其中有个功能是调用执行外部的exe(类似cmd中执行),但执行Process.Start之后就没有结果,同样代码在winform下正常,折腾两天终于找到解决方法 本文参考了以下网页,十分感谢 http://bbs.csdn.net/topics/300053869 http://blog.163.com/[email protected]/blog/static/15737970200862331842368/ 环境:win7 sp1 64位 以及II

WebService自己创建服务或调用第三方webservice服务

一,自己创建webservice服务 首先创建一个项目,目录结构如下 HelloService.java 文件如下 package com.joydo.cn; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class HelloService {   public String getValue(String name){   return  "我的名字叫"+name;    

windows下调用外部exe程序 SHELLEXECUTEINFO

本文主要介绍两种在windows下调用外部exe程序的方法: 1.使用SHELLEXECUTEINFO 和 ShellExecuteEx SHELLEXECUTEINFO 结构体的定义如下: 1 typedef struct _SHELLEXECUTEINFO { 2 DWORD cbSize; 3 ULONG fMask; 4 HWND hwnd; 5 LPCTSTR lpVerb; 6 LPCTSTR lpFile; 7 LPCTSTR lpParameters; 8 LPCTSTR lpD

C#远程调用技术WebService葵花宝典

一.课程介绍 直接开门见山吧,在学习之前阿笨想问大家一句,关于WebService远程过程调用技术(RPC) 你真的会了吗?不要跟老夫扯什么WebService技术已经过时,如果你的内心有在偷偷告诉你其实我是真的不会WebService的话,那么恭喜你,因为你在这茫茫的IT编程世界里找到了这本<C#远程调用技术WebService葵花宝典>!曾经有一位不知名的讲师说过这么一句名言: 一门RPC技术不会,那么千万万门RPC技术将都不会! 本次阿笨的分享课包含以下知识点. 1.C# WebServ

webBrowser调用外部js文件和js函数(转载)

原文链接:http://fy5388.blog.163.com/blog/static/56499537201012594314130/ webBrowser调用外部js文件和js函数 '第一种方法:webbrowser动态调用html和js代码,都是动态的:代码示例: webBrowser1.Navigate("about:blank");webBrowser1.Document.OpenNew(True);webBrowser1.Document.Write("<H

python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为

1.参考 autopy (实践见最后一章节) 用Python制作游戏外挂(上) AutoPy Introduction and Tutorial autopy.mouse.smooth_move(1, 1) 可以实现平滑移动 autopy - API Reference pip install PyUserInput SavinaRoja/PyUserInput [python3.5][PyUserInput]模拟鼠标和键盘模拟 Python-模拟鼠标键盘动作 autoit selenium借助

Perl调用外部命令的方式和区别

主要的方式简述如下:1. system("command");使用该命令将开启一个子进程执行引号中的命令,父进程将等待子进程结束并继续执行下面的代码. 2. exec("command");效果同system命令类似,区别是不会开启子进程,而是取代父进程,因此执行完引号中的命令后进程即结束.一般和fork配合使用. 3. `command`;使用反引号调用外部命令能够捕获其标准输出,并按行返回且每行结束处附带一个回车.反引号中的变量在编译时会被内插为其值. 4. o

Matlab调用外部库函数方法和注意事项

在MATLAB环境下访问外部函数的共享库文件,必须首先把该库文件加载到内存中.一旦加载成功,就 能直接在MATLAB中直接请求关于函数的任何信息.而当不再需要该库时,就应当及时把库文件从内存 中卸载以节省内存开销. 加载库 加载库加载库 加载库 语法:loadlibrary('shrlib','hfile') 其中shrlib为加载的动态链接库文件名(filename.dll),hfile为头文件名,它包含函数原型.例如,当加载包 含MATLAB中mx程序的libmx库时,可以使用下列语句. h