cancel
Showing results for 
Search instead for 
Did you mean: 

Using extra attributes in plain Http Adapter

Former Member
0 Kudos

Hi All,

I am using a Plain HTTP Adapter to send messages to XI. This is working fine but i'm facing a problem with HTTP variables.

I need to send a flag as an http variable that identifies the message as a new message or not. It's important for me that this variable is reachable in the Receiver Determination so i can create a routing rule based on that. I've read this help from sap (<a href="http://help.sap.com/saphelp_nw04/helpdata/en/43/64db4daf9f30b4e10000000a11466f/content.htm">Configuring the Sender Plain HTTP Adapter</a>), but i couldn't find a place to set the "Adapter-Specific Message Attributes".

Thanks a lot for any help.

Regards,

Leonardo Tayt-son

Accepted Solutions (1)

Accepted Solutions (1)

stefan_grube
Active Contributor
0 Kudos

Check the blog of Bill Li:

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

Regards

Stefan

Former Member
0 Kudos

Hi Stefan,

I'm looking for a way of doing that inside the Sender Http Communication Channel. This weblog teaches how to do it for the receiver cc.

Thanks for you help, anyway.

Regards,

Leonardo Tayt-son

henrique_pinto
Active Contributor
0 Kudos

Forget about sender/receiver adapter.

You want to read the attribute from the incoming message or write the attribute for a outgoing message?

Regards,

Henrique.

Former Member
0 Kudos

Read from the incoming message.

Leonardo

henrique_pinto
Active Contributor
0 Kudos

In your Sender HTTP Adapter, check out for "Adapter-Specific Message Attributes" section (usually, it's the last section). Mark the "Use Adapter-Specific Message Attributes" checkbox. Then, mark "Apply URL Parameters" checkbox and enter a name for Parameter 1 (for example, New).

Then, your incoming http URL shoud be something like http://<application_hostname>?New=true .

And in your receiver determination, go to condition editor for each Business System, and enter expression editor for left expression. Check "Context Object" and select "URLParamOne" parameter from "http://sap.com/xi/XI/System/HTTP" namespace. For the right expression, use the value you want.

Them you can use your condition like

If (URLParamOne = true) send to BS 1

If (URLParamOne = false) send to BS 2

Regards,

Henrique.

stefan_grube
Active Contributor
0 Kudos

In the sender channel the confuguration is the same.

When you do not have the check box 'Set adapter specific message attribute' you need to patch to SP16. This is a new development.

Regards

Stefan

Former Member
0 Kudos

Hi Stefan,

The problem is that i'm not using a communication channel. The application that sends the http request to XI is doing it directly by using the url http://<server>:<port>/sap/xi/adapter_plain.

Leonardo

henrique_pinto
Active Contributor
0 Kudos

To use <b>adapter</b>-specific attributes, I had implied that it was obvious that it's necessary to user an adapter.

Regards,

Henrique.

Former Member
0 Kudos

Do you have any material that teaches how to use this adapter?

When I try create a new Http Communication Channel the "Receiver" CheckBox appears automatically checked and the "Sender" option appears disabled.

Tks

Leonardo

henrique_pinto
Active Contributor
0 Kudos

Leonardo,

just refer to SAP Help Portal: http://help.sap.com/saphelp_nw2004s/helpdata/en/43/64db4daf9f30b4e10000000a11466f/frameset.htm .

For more info on plain HTTP Adapter, check note 839803.

Regards,

Henrique.

stefan_grube
Active Contributor
0 Kudos

When you want to use the adapter specific header fields, you need a communication channel.

Apply a sender cc and a sender agreement for the same service, interface and namespace that you apply in the URL.

Regards

Stefan

Answers (1)

Answers (1)

former_member206604
Active Contributor
0 Kudos

Hi,

Check if your working on SP14 or above.

Thanks,

Prakash

Former Member
0 Kudos

Hi Prakash,

I'm using PI 7.0 SP6 (the new XI name). This version is new, so i think it has all the resources SP14 have.

My problem is that i need to find a place to set this new variables in the Integration Directory so i can send it in the http url. The help link i mentioned in my last post says it is possible.

Tks,

Leonardo