zl程序教程

您现在的位置是:首页 >  前端

当前栏目

How to create and consume web service in CRM

Web to in and Service CRM How create
2023-09-14 09:02:50 时间

The following steps demonstrates how to expose a function module as a web service in CRM.

  1. create a FM to return product description by given product ID.
    Just use the following source code:
    SELECT SINGLE A~short_text INTO rv_text FROM COMM_PRSHTEXT AS A
    INNER JOIN comm_product AS B ON B~product_id = iv_prod_id AND B~product_guid = A~product_guid.
    Make sure the FM is marked as “Remote enabled”.

clipboard1

  1. start the web service creation wizard:
    clipboard2

Just follow the wizard to finish creation. Choose the appropriate authentication approach according to your use case.
clipboard3

  1. Once creation is finished, you would find your service definition as below:
    clipboard4

http://jerry:50056/sap/bc/srt/wsdl/flv_10002P111AD1/sdef_url/ZPRODUCTDESCRIPTION3?sap-client=001
click tab WSDL, write down your WSDL link:
clipboard5

  1. tcode SOAMANAGER, click Web Service Configuration
    clipboard6

you can find your service definition created just now:
clipboard7

click the hyperlink and create a new service:
clipboard8

Make sure you use SSL.
clipboard9

Otherwise, you will meet with the following error code in the runtime. This is simply because web service via HTTP protocal is set as forbidden in Suite landscape and all such communication will be redirected, as set up in SMICM.
clipboard10

click Finish button.
clipboard11

Now your web service is ready for consumer. click this icon:
clipboard12

write down this link for later usage:
clipboard13

How to consume web service in CRM

  1. tcode SE80, create a new service consumer:
    clipboard14

  2. Choose external WSDL:
    clipboard15

choose the url got from “how to create web service in CRM”, step3
clipboard16

activate your consumer proxy and write down the ABAP class name.
clipboard17

  1. go back to SOAMANAGER, find the consumer proxy created in step2:
    clipboard18

create a new logical point:
clipboard19

clipboard20

  1. Make sure you specify URL got from web service creation last step. If you just use the URL got from SE80 in tab “WSDL”, you will meet with below error.
    clipboard21

choose HTTPS:
clipboard22

  1. consume the web service in ABAP report:
data: lr_proxy TYPE REF TO CO_ZPRODUCTDESCRIPTION4,
      input TYPE ZGET_PROD_DESCRIPTION,
      output TYPE ZGET_PROD_DESCRIPTION_RESPONSE.
input-iv_prod_id = 'ARNO_TEST004'.
CREATE OBJECT lr_proxy
   EXPORTING
      LOGICAL_PORT_NAME = 'ZLP_JERRY1'.
CALL METHOD lr_proxy->ZGET_PROD_DESCRIPTION
   EXPORTING
       input      = input
   IMPORTING
       output     = output.

Now we get the web service execution result:
clipboard23

clipboard24

How to consume public web service in CRM

The steps to consume the public web service is almost exactly the same as consuming SAP internal web service.
Use the public web service http://www.webservicex.com/FinanceService.asmx?WSDL as example.
First it is necessary to verify whether this web service is working correctly for the time being - test it in soapUI:
clipboard25

Just test the consumer proxy class in class builder:
clipboard26

Specify request input just the same as in SoapUI:
clipboard27

Execution result is the same as what we get in SoapUI:
clipboard28

要获取更多Jerry的原创文章,请关注公众号"汪子熙":