ABAP消费外部Webservice

首先需要获取外部Web service的URL

这里我们以:http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl为例

该服务通过输入QQ号码(String)检测QQ在线状态。返回数据(String)Y= 在线;N = 离线 ;E = QQ号码错误......

 

TCODE-SE80下创建proxy

 

输入URL

 

 

 

激活后proxy创建完成

接下来要配置逻辑端口,我们可以使用一款名为WebServiceStudio的软件

 

 

 

填如对应的服务

 

 

 

找到<soap:operation soapAction="http://WebXml.com.cn/qqCheckOnline"style="document" />

对应的操作

TCODE-LPCONFIG下配置逻辑端口

 

填入URL

 

填入操作

保存激活后逻辑端口配置完毕

回到se80测试一下代理类

 

 

服务调用成功

在程序中的使用可参考以下代码:

DATA: go_proxy     TYPE REF TO zco_qq_online_web_service_soap,
      gs_input     TYPE zqq_check_online_soap_in,
      gs_output    TYPE zqq_check_online_soap_out,
      go_exception TYPE REF TO cx_ai_system_fault.

TRY.
    CREATE OBJECT go_proxy.
    gs_input-qq_code = '*********'.
    go_proxy->qq_check_online(
      EXPORTING
        input = gs_input
      IMPORTING
        output = gs_output ).

    WRITE gs_output-qq_check_online_result.

  CATCH cx_ai_system_fault INTO go_exception.
    WRITE go_exception->errortext.
ENDTRY.

 

 

 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP是一种编程语言,用于SAP系统的开发,可以通过WebService(Web服务)与外部系统进行交互。 在ABAP中调用外部WebService,需要通过调用SOAP(简单对象访问协议)或REST(表述性状态传递)协议来与WebService进行通信。 首先,需要在ABAP中创建一个代表外部WebService的客户端代理。可以使用SAP提供的工具例如SOAMANAGER或SE80等来创建代理。这些工具可以根据WebService的WSDL文件自动生成代理代码。WSDL(Web服务描述语言)是一种描述WebService接口的XML文件。 在创建代理之后,可以使用ABAP代码调用外部WebService。根据WebService的具体接口定义,调用不同的方法,传递相应的参数。ABAP提供了一些函数模块或类来进行WebService的调用,例如CALL FUNCTION或CREATE OBJECT等。 在调用WebService方法时,将传递参数并获取返回值。ABAP代码可以处理WebService返回的结果,根据需要进行后续的逻辑处理。 在调用过程中,还需要设置通信所需的协议和认证信息。ABAP提供了相关函数模块或类来设置和处理这些通信和认证信息,例如SET HANDLER或SET PROPERTY等。 在调用WebService之前,还需要确保网络连接的可用性,以及外部WebService的可访问性。可以通过网络配置或者与网络管理员进行沟通来解决相关问题。 总之,ABAP调用外部WebService的过程可以归纳为以下几个步骤:创建WebService客户端代理、调用WebService方法、处理返回结果、设置通信和认证信息、确保网络连接的可用性。这样,就可以在ABAP程序中方便地与外部系统进行数据交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值