The following steps demonstrates how to expose a function module as a web service in CRM.web
Just use the following source code:app
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". ui
Just follow the wizard to finish creation. Choose the appropriate authentication approach according to your use case. this
click tab WSDL, write down your WSDL link:url
you can find your service definition created just now: 3d
click the hyperlink and create a new service: code
Make sure you use SSL. blog
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. ip
click Finish button. ci
Now your web service is ready for consumer. click this icon:
write down this link for later usage:
tcode SE80, create a new service consumer:
Choose external WSDL:
choose the url got from "how to create web service in CRM", step3
activate your consumer proxy and write down the ABAP class name.
create a new logical point:
choose HTTPS:
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:
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:
Just test the consumer proxy class in class builder:
Specify request input just the same as in SoapUI:
Execution result is the same as what we get in SoapUI:
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":