温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在SAP CRM里创建和消费Web service

发布时间:2020-08-07 22:17:03 来源:ITPUB博客 阅读:159 作者:i042416 栏目:编程语言

Created by Wang, Jerry, last modified on Dec 19, 2014

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".


如何在SAP CRM里创建和消费Web service

  1. start the web service creation wizard:


    如何在SAP CRM里创建和消费Web service

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


如何在SAP CRM里创建和消费Web service

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


    如何在SAP CRM里创建和消费Web service

click tab WSDL, write down your WSDL link:

如何在SAP CRM里创建和消费Web service

  1. tcode SOAMANAGER, click Web Service Configuration


    如何在SAP CRM里创建和消费Web service

you can find your service definition created just now:


如何在SAP CRM里创建和消费Web service

click the hyperlink and create a new service:


如何在SAP CRM里创建和消费Web service

Make sure you use SSL.


如何在SAP CRM里创建和消费Web service

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.


如何在SAP CRM里创建和消费Web service

click Finish button.


如何在SAP CRM里创建和消费Web service

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


如何在SAP CRM里创建和消费Web service

write down this link for later usage:


如何在SAP CRM里创建和消费Web service

How to consume web service in CRM

  1. tcode SE80, create a new service consumer:


    如何在SAP CRM里创建和消费Web service

  1. Choose external WSDL:


    如何在SAP CRM里创建和消费Web service

choose the url got from "how to create web service in CRM", step3


如何在SAP CRM里创建和消费Web service

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


如何在SAP CRM里创建和消费Web service

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


    如何在SAP CRM里创建和消费Web service

create a new logical point:


如何在SAP CRM里创建和消费Web service

如何在SAP CRM里创建和消费Web service

  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.


    如何在SAP CRM里创建和消费Web service

choose HTTPS:


如何在SAP CRM里创建和消费Web service

  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:

如何在SAP CRM里创建和消费Web service

如何在SAP CRM里创建和消费Web service

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:

如何在SAP CRM里创建和消费Web service

Just test the consumer proxy class in class builder:


如何在SAP CRM里创建和消费Web service

Specify request input just the same as in SoapUI:


如何在SAP CRM里创建和消费Web service

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


如何在SAP CRM里创建和消费Web service

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI