abap 调用外部web service 使用小结

abap调用外部 web service 时,大致分为以下三个步骤

1,se80,选择package,点击创建enterprise service/web service-proxy client

2,  lpconfig,创建逻辑端口

3,编程调用刚才创建的代理类。

备注:此实例需为ecc 版本

一:创建代理类

      a,按照选择package,点击创建enterprise service/web service-proxy client,点击继续选择

      service consumer

      b,url/http destination,点击继续

      c,选择url,输入wsdl地址,若为local host的,需更改为本机的地址

      d,点击继续,输入选择包,前缀。

      没有错误的话,会根据wsdl文件,产生代理类,激活

 

二,创建逻辑端口lpconfig或者SOAMANAGER

      输入代理类,逻辑端口名称,可以设为默认端口

     a, 一般设置里,运行环境选择 web 服务基础结构

      调用参数:  url文本框里输入web service地址

      操作:        为每个具体的方法, 在soap 操作里输入wsdl里定义的soapAction

     b,应用程序里特定设置

          全局设置里,够选消息标记,状态管理

 

    保存激活

 

三,对特定的需要编码。

 

      REPORT ztest.

DATA:obj_certif TYPE REF TO ytcertifco_certificate_request,
     obj_output TYPE ytcertifhello_world_soap_out,
     obj_input  TYPE ytcertifhello_world_soap_in,
     wa_obj_input LIKE prxctrl,
     erro_msg   TYPE string,
     obj_exception TYPE REF TO cx_ai_system_fault.

TRY.

    CREATE OBJECT obj_certif
      EXPORTING
        logical_port_name = 'LP01'.

  CATCH cx_ai_system_fault INTO obj_exception .

    CALL METHOD obj_exception->get_text
      RECEIVING
        result = erro_msg.
    WRITE /1 erro_msg.

ENDTRY.

*wa_obj_input-field = 'head world'.
*wa_obj_input-value = '1'.
*APPEND wa_obj_input TO obj_input-controller.

TRY.
    CALL METHOD obj_certif->hello_world
      EXPORTING
        input  = obj_input
      IMPORTING
        output = obj_output.
    WRITE:obj_output-hello_world_result.
  CATCH cx_ai_system_fault INTO obj_exception .

    CALL METHOD obj_exception->get_text
      RECEIVING
        result = erro_msg.
    WRITE /1 erro_msg.
ENDTRY.

你可能感兴趣的:(webservice,abap,abap,WebServices,调用外部)