cancel
Showing results for 
Search instead for 
Did you mean: 

Invokation of Webservices using HTTP

Former Member
0 Kudos

Can I invoke webservices in SAP using HTTP instead of SOAP? If so How?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Vijay,

yes we can do it with HTTP

Configuring the Receiver Plain HTTP Adapter

Use

The plain HTTP outbound channel is a service provided by the Integration Engine. The system is addressed when technical routing determines a corresponding communication channel for the logical receiver from logical routing. The system sends the payload of the message to an HTTP address using HTTP, without being enhanced with an envelope.

Integration

You configure the adapter on the Parameters tab page during the definition of a communication channel in the Integration Server.

Activities

The plain HTTP adapter gives the receiver system the following specifications:

Transport Protocol

HTTP 1.0

Message Protocol

XI payload in HTTP body

Adapter Engine

Integration Server

Addressing Type

URL Address

HTTP Destination

Specify the target host, service number, and path prefix including query string:

http://<hostname:port>/<path>?<query-string>;

You can identify the target host (HTTP port) of a SAP Web Application Server using the ICM monitor.

Host and port of the HTTP proxy (optional if there is a firewall between the plain HTTP adapter and the receiver system)

Authentication data for the receiver system, see also: transaction Display and Maintain RFC Destinations (SM59)

Specify the RFC destination.

Parameters from the Communication Channel for Technical Routing

● Content type (the entry text/XML is expected as default)

Specifies the content format (payload) that the message should have.

● (Optional) header fields for the receiver-specific protocol

● Select Additional Query String Attributes:

○ Sender party

○ Sender service

○ Receiver interface

○ Message ID

○ Quality of service

○ Queue ID

The queue ID is only required if the quality of service is EOIO.

● Specifications for payload manipulation

○ XML code (default UTF-8)

Specifies the character set.

○ URL escaping

Presents the XML in a URL-enabled format.

Special characters that could be interpreted as control characters are replaced with escape characters (masked).

○ Prolog

Enhances the payload for particular servers (optional, see below).

○ Epilog

Enhances the payload for particular servers (optional, see below).

Adapter-Specific Message Attributes

● To evaluate adapter attributes in the message header of the XI message, select Set Adapter-Specific Message Attributes.

● If you want missing message attributes to trigger an error message, select Fail If Adapter-Specific Message Attributes Missing.

If the indicator is set and the header for adapter-specific message attributes or one of the set attributes is missing from the message, this leads to a system error (red flag).

If you do not set the indicator, and message attributes are missing, the adapter accesses information from the adapter configuration.

● If you want to use an HTTP destination or URL set by the mapping, select URL orHTTP Destination.

(The indicator displayed depends on the Addressing Type you selected above). If you set the indicator, the URL or HTTP destination set dynamically is called by HTTP.

If the message header does not contain the URL or the HTTP destination, and you have set the Fail If Adapter-Specific Message Attributes Missingindicator, the XI message is set to status System Error.

If you do not set the indicator, the URL or HTTP destination defined statically in the communication channel is used.

The technical names of the fields are:

○ URL: TargetURL

○ HTTP Destination: HTTPDest

● If you want to use HTTP header fields, select Apply HTTP Header Fields and enter the fields in Field 1 to Field 6.

The fields are embedded in the HTTP request under the names you enter here.

The technical names of the fields are HeaderFieldOne, .... HeaderFieldSix.

● If you want to use URL parameters, select Apply URL Parameters and enter the parameters in the fields Parameter 1 to Parameter 6.

The parameters are included in the HTTP request under the names specified here.

The technical names of the fields are URLParamOne, u2026, URLParamSix.

● If you want to save HTTP header fields from the synchronous response in the XI message header, choose HTTP Header Fields (Synchronous Response) and enter the fields in the fields Field 1 to Field 6.

The fields must have the same names as the fields that are also to be sent in the HTTP response.

The technical names of the fields are HeaderFieldOne,...,HeaderFieldSix.

● The attribute namespace for the adapter is http://sap.com/xi/XI/System/HTTP.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Vijay,

SOAP is XML + HTTP,

it's data format is in XML form and the transport protocol is http. So in essence you send your request through http only, just the data going through as a request should be in XML having some standard SOAP/XML tags.

Thanks,

Varun

Former Member
0 Kudos

Thanks for the reply Varun!

I am happy with you answer, but this answers my question 75%.

Can I establish a direct HTTP connection without SOAP?. You may be wondering Why do I need this is? SOAP requires J2EE engine for administration. I want to by pass this step and expose the webservices of theobjects directly. Can I do this?

Former Member
0 Kudos

Hi,

YES, we can use the HTTP call directly to talk with the Intagration Server in case of Webservice also

by this way you can by pass the Adapter

http://help.sap.com/saphelp_nw04/helpdata/en/43/64dbb0af9f30b4e10000000a11466f/content.htm

/people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping

/people/community.user/blog/2006/12/12/http-to-rfc--a-starter-kit

Regards

Seshagiri