0% found this document useful (0 votes)
16 views

Consuming a web service in ABAP

Uploaded by

amir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Consuming a web service in ABAP

Uploaded by

amir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Consuming a web service in

ABAP
July 21, 2017

Let’s start:

In this exercise, we will look at how we can consume a web service using a client proxy

using ABAP.

Why do we need a Web service Client Proxy:

1. Webservice Client Proxy acts as a transfer program.

2. It is used to connect to Server of the required Web Service

3. Creation of Valid SOAP messages and evaluation of received responses is taken care by
the proxy.

So a developer can concentrate on the Business Application without bothering about the

technical aspects that is how the SOAP messages are exchanged.

Step 1: To start the Service Wizard again, from SE80 right click and choose Create-

>Enterprise Service.
Step 2 : This time in the Object Type step of the Service Wizard, choose Service

Consumer.

as we are at the consumer site.


Step 3:

For the source of the Service Consumer, you can choose between the Enterprise Service

Repository, a URL to a WSDL or the local file location of a WSDL, a UDDI, and the

Service Registry. Please choose URL/HTTP Destination.

Step 4: Enter the URL of WSDL file which we had created in an earlier exercise.

http://sapignite.com/create-a-web-service-in-10-minutes/
Fill in the necessary details in the wizard.
On the final step, you can press Complete to start the Proxy object generation.
You will be promoted for your logon User name and Password.

The generated proxy class is now displayed. Click on save and activate.
Go back to transaction SOAMANAGER and in order to setup a Logical Port for our new

Service Provider.

Logical Ports are used to configure runtime features of a web service.

We can create a logical port by either tcode LPCONFIG(obsolete) or Soamanager as

shown below.

Why do we need a Logical port?

A consumer proxy never stores any details regarding the URl server which are specific

to one system.

These details need to be configured through logical ports and endpoints.

Go back to transaction SOAMANAGER and in order to setup a Logical Port for our new

Service Provider.

We will navigate to the same location as the last exercise – the Service

Administration tab and then click the link named Single Service Administration.

This time when you search in the Web Service Administration, choose to Search

by Consumer Proxy. Don’t forget to press the Apply Selection button after highlighting
your proxy.

From the Configurations tab, choose to Create Logical Port.

From the Popup screen that is generated, you will have to fill in several parameters.

First you will need to name your logical port and set it as the Default. Next we need to

use WSDL Based Configuration. This way the application will read all the necessary

security settings for calling this service directly from the WSDL definition. Finally, you

will again need to supply the WSDL URL for the services you are call (hopefully you still

left that browser window open). You also must supply your system User name and

Password to access the WSDL.


If successful, you will be returned to the Configuration for Logical Port screen. From

here you can further define the settings for this logical port. For now, we need to embed

user credentials for calling this Enterprise Service. So once again input your User name

and Password and then Save the Logical Port.

You can now return to the ABAP workbench in the package ZPROXIES and the

definition of your Service Consumer and test it.


On the Test Service Consumer options dialog , choose ZSQRT

Method Name. Finally execute the test.

Switch to the XML Editor and replace the number value with 16. You can go ahead and

execute the request call.


The response should show the XML version of the squareroot

Now what, If you want to consume web service using ABAP.

Goto SE80 and create a new report program ZPW_WEBSERVICE.

Drag and Drop the proxy class ZCO_ZWS_SQRT and you get the template for

consuming. This looks like as shown below.


Modify the template for invoking the web service with the below code.

REPORT zpw_webservice.

DATA: proxy TYPE REF TO zco_zws_sqrt .

DATA : output TYPE zzsqrt_response .

DATA : input TYPE zzsqrt .


input–number = ‘1212’.
TRY.
CREATE OBJECT proxy
EXPORTING
logical_port_name = ‘ZP00’.
CATCH cx_ai_system_fault .
ENDTRY.
TRY.
CALL METHOD proxy->zsqrt
EXPORTING
input = input
IMPORTING
output = output.
CATCH cx_ai_system_fault .
CATCH zcx_zsqrt_exception .
CATCH cx_ai_application_fault .
ENDTRY.
WRITE : ‘Square root is’ , output-result.

Now it’s ready for execution. Here we go.

Obviously, it’s not the best kind of report to build, but I hope the basics fundamentals

for consuming a web service would be clear by now.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy