cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP lookup using SOAP HTTP ( AXIS ) ?

Former Member
0 Kudos

Can Soap Lookup also be performed with SOAP HTTP ( AXIS ) Commincation channel ?

Reason of using this communication channel is before performing lookup in UDF , I need to set a Session ID in HTTP Header [ Parameter Name : Cookie = > JSESSIONID = xxxx.xxxxxx.xxxxx.xxxxx ]

and this cannot be done with simple SOAP HTTP Channel .

Now My Question , This Scenario Looks Feasible to you gurus or not ? Please Suggest ? Can this be achive in lookup UDF ?

Any body perform lookup with SOAP HTTP ( AXIS ) Adapter /CC

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Answers (1)

Answers (1)

Former Member
0 Kudos

Some more help over "Performing SOAP lookup in Java Mapping" would be very much appreciated.

Can I Use following mentioned classes and Methods in Java Mapping too as we use them in SOAP LOOKUP UDF ?


Channel channel = LookupService.getChannel("BuisnessSystem_SF","CommunicationChannel_SF");

SystemAccessor accessor = null;

accessor = LookupService.getSystemAccessor(channel);

Guide me in the matter , How can i perform lookup in Java Mapping Instead of UDF?

Regards

P.S.

Former Member
0 Kudos

Beena ,

Thanks for you all reply .  I am briefing you my scenario. At least give a look if you can help .

After reading all Please tell me ...What do you think ?  Do you think can it be achievable ??

My Scenario is from Third-Party to to web service of SAP Success factor API ( Synchronous ).

WSDL URL : https://salesdemo4.successfactors.com/sfapi/v1/soap?wsdl

Now Let me brief you about Success factor API .

First Process is to get Authentication from SAP Success factor.

Authentication is established through the Login Operation of SF API.

A successful login will return a session ID as an HTTP Cookie.

Then this cookie must be passed back to all subsequent HTTP Requests that invoke SF API operations in order to authenticate.

So when later we call Query and QueryMore Operation it requires this Session ID to come in HTTP header with each call .

1.      Request Message => Login Operation => Response Message ( Session ID).

2.     Set this Session ID in Parameter Cookie for Next API Call.

3.     | Cookie | JSESSIONID = xxxx.xxxx.xxxx.xxxxxx.xxxx |

4.     Now Send actual Data Request Message => Query operation => Response Message Data ( Limited to 800 record at a time, so there is a one more operation to fetch rest/left record.)

5.     Request Message  => QueryMore Opeartion = > Response Message Data ( balance record , again limited to 800 , so for left out record we need to call this QueryMore Operation in Loop until record finishes i.e hasMore=false).

And remember with Step 4 and Step 5 Cookie/Session ID needs to be set in HTTP Header along with SOAP Call.

So to Achive this scenario , I am Planning to build interface like this

Source Message Type (Request Data for Query Operation ) –> Message Mapping [ UDF1 –> UDF2 ] + Java mapping –> Target Data Type ( Response after combining all the xml into one received from Query and Query More Operations.)

Message Mapping would be one to one Mapping . whatever query request will come from Source  I will pass as it is to target( Java Mapping) Only thing is two UDF's will be called in between Message Mapping.

UDF 1 : is to get SESSIONID using JAVA Look Up . Lookup receiver channel would be simple SOAP HTTP Receiver Adapter-1 .

UDF2 : now it is to set this SESSIONID in Cookie Parameter of HTTP url. And will be later used in Module of SOAP HTTP ( AXIS ) Receiver Adapter-2

Java Mapping : is to fetch data from query and Query More Operation Using SOAP Lookup In Java Mapping and Channel would be SOAP HTTP Axis Adapter where session id was already set using Modules.

Message Mapping + Java Mapping under one Operation Mapping.

Former Member
0 Kudos

What should happen if the second batch of (up to) 800 fails? Restart from the first batch of 800?

former_member681981
Discoverer
0 Kudos

Hi,

How are you.

As you are sending the SESSION ID to call another API method SuccessFactors.

Got the ABAP code that I can share?

thanks

Former Member
0 Kudos

Hi Cristian ,

Thanks for your help .

But it is solved now .

Sorry My mistake . forgot to close it . will do it right now

Regards

Prabhat Sharma

former_member681981
Discoverer
0 Kudos

Actually I ask for help.

I have the same problem and how you solved it I wanted to ask if I can share your solution by

sending me your ABAP code.

My problem is that you send the SESSION ID after getting the SESSION ID WEBSERVICE of SuccesFactors calling to call a method on SAP ABAP.

thanks

Former Member
0 Kudos

Hi Prabhat Sharma,

Could you also share or send me your ABAP Code for this.

We are stuck here also!

Kind regards,

Vincent