cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP lookup in mapping in PO7.31

masjo
Explorer
0 Kudos

Hi,

I am doing a SOAP lookup within a mapping on our single-stack 7.31 system.  I am getting the following error:

  • com.sap.aii.mapping.lookup.LookupException: Exception during processing the payload. Error when calling an adapter by using the communication channel login_test (Party: , Service: THIRDPARTY_DEV, Object ID: 7b5abfdae824311899e60f21b30d2fc4) XI AF API call failed. Module exception: 'com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn't retrieve outbound binding for the given P/S/A values: FP=;TP=;FS=Mapping;TS=THIRDPARTY_DEV;AN=;ANS=; in the current context [Unknown]. '. Cause Exception: 'Couldn't retrieve outbound binding for the given P/S/A values: FP=;TP=;FS=Mapping;TS=THIRDPARTY_DEV;AN=;ANS=; in the current context [Unknown]. '.
    com.sap.aii.mapping.lookup.LookupException: Error when calling an adapter by using the communication channel login_test (Party: , Service: THIRDPARTY_DEV, Object ID: 7b5abfdae824311899e60f21b30d2fc4) XI AF API call failed. Module exception: 'com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn't retrieve outbound binding for the given P/S/A values: FP=;TP=;FS=Mapping;TS=THIRDPARTY_DEV;AN=;ANS=; in the current context [Unknown]. '. Cause Exception: 'Couldn't retrieve outbound binding for the given P/S/A values: FP=;TP=;FS=Mapping;TS=THIRDPARTY_DEV;AN=;ANS=; in the current context [Unknown]. '.

So firstly, I am doing a lookup within a mapping so I thought no receiver agreement was required.  Also, we are running a single-stack 7.31 system, so I can't create a receiver agreement anyway - only Integration Configuration.

Also, I have done a full cache refresh and also recreated a new comm channel and still error is the same.

Please any advice would be greatly appreciated.

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

JM,

  • There was a bug on PI 7.3 where SOAP Lookups were failing. SAP Note:1737850  resolved this issue. But it took a lot of explaining to the developers at SAP to convince them of the bug.
  • Apparently, having a Receiver Agreement ( Dummy is Ok) is a mandatory requirement on PI 7.3 for SOAP Lookup API to work. The developers call it Binding and your error messages points to the same. I argued away on this topic but gave up and we decided to create those dummy  receiver agreements. Luckily we are on a Dual Stack Upgraded PI7.3 Environment.
  • In the case of Java Only Configurations, I am not sure how this would work. Best to contact SAP via OSS. You can refer to this note as well.
  • If nothing works, create a dummy ICO with this SOAP channel and then the look up should work. Will try and report back as well.

Keep us updated.

Regards,

Bhavesh

markangelo_dihiansan
Active Contributor
0 Kudos

Thanks Bhavesh for this info. No wonder his lookup is not working.

bhavesh_kantilal
Active Contributor
0 Kudos

Added the comment to my rather outdated blog as well. Will get around to updating it in its totality soon as well.

Former Member
0 Kudos

Hi All,

I am facing exactly the same issue from quite sometime now and have posted this query on sdn as well:

http://scn.sap.com/thread/3238475

I created the dummy service interface in IR and the receiver agreement in ID and included it in my java mapping but i am still getting the same exception.

The sap note asks to update the patch to sap_xiaf SP05 patch 26 but we are already on sap_xiaf05 patch 30.

We were also getting peer certificate rejected error on the soap channels which we were able to resolve with SAP's help.

Its wierd, but some how yesterday the scenario worked for 3-4 times, we were able to execute it end to end successfully (before implementing dummy interface code in java mapping) but then again it stopped working and is giving lookup exception. Not sure why this inconsistent behaviour happened.

Let me know if we can do anything else apart from the above or if anybody could share the code.

This is very important as our upgrade go live is planned in 2 weeks from now and this issue is impacting on the go live.

A quick help would be appreciated.

Thanks.

Pooja

masjo
Explorer
0 Kudos

Thank you Bhavesh.  I created a dummy Integrated Configuration and my scenario is now working.

bhavesh_kantilal
Active Contributor
0 Kudos

Tried this with a Integrated Configuration as well.

  • Deleted the Receiver Agreement, and then the Lookup Failed.
  • Recreated the Receiver Agreement and the lookup was successful.

In my case as I am on a Dual Stack PI 7.3, the Receiver Agreement is also reflected into the CPA Cache.

I assume in the case of a Java Only Installation, having a dummy ICO is the answer. Was that the result?

Regards,

Bhavesh    

masjo
Explorer
0 Kudos

Yes, as posted above, the dummy ICO resulted in a successful SOAP lookup for a Java only installation.  Thanks again for your help!

Former Member
0 Kudos

Hi J M,

can you please explain about dummy ICO. what are the contents of dummy ico.

i am also having the same issue with PO 7.31

thanks

Chandra

Former Member
0 Kudos

Can you please share How to create this Dummy ICO?

Whhat would be content for ICO ???

Please see my raised Query and error in Below URL.

http://scn.sap.com/thread/3359243

masjo
Explorer
0 Kudos

Hi Prabhat,

A dummy ICO is basically an integrated configuration that uses the SOAP lookup adapter in the Receiver tab.  All the other config in the ICO can be anything.  It doesn't matter as it is not used.  We only just need the binding between the lookup adapter and the Receiver.

So for me, I created a dummy sender adapter under the same Business component as the SOAP lookup adapter and used these as my sender.  I also created a dummy service interface to use in the ICO.

Hope that makes sense.

Former Member
0 Kudos

Hi,

I am on SAP PI 7.3 SP08.

Please see error lookup screenshot.

I have Created a dummy ICO , Receiver SOAP CC and Used it in Code. every thing looks fine Still I am facing error .

error log ----------------------------------------------------

Error occurred calling adapter

[EXCEPTION]

com.sap.aii.af.service.api.AFException: XI AF API call failed.

Module exception: 'com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn't retrieve outbound binding for the given P/S/A values:

FP=;

TP=;

FS=Mapping;

TS=BC_Successfactors_Two_D;

AN=Dummy_Inbound_Interface;

ANS=http://DemoSuccessfactors/SessionIDCreate/PS001; in the current context [Unknown]. '.

Cause Exception: 'Couldn't retrieve outbound binding for the given P/S/A values:

FP=;TP=;FS=Mapping;TS=BC_Successfactors_Two_D;AN=Dummy_Inbound_Interface;ANS=http://DemoSuccessfactors/SessionIDCreate/PS001; in the current context [Unknown]. '.

at com.sap.aii.af.service.api.AdapterAccess.sendMsg(AdapterAccess.java:214)

at com.sap.aii.af.service.api.AdapterAccess.call(AdapterAccess.java:100)

at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.process(AdapterProxyLocal.java:83)

at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.call(SystemAccessorInternal.java:55)

at com.sap.aii.mapping.lookup.SystemAccessor.call(SystemAccessor.java:115)

at com.sap.xi.tf._MessageMapping_SessionStatusfetch_UDF_.LookUP(_MessageMapping_SessionStatusfetch_UDF_.java:122)

Regards

PS

Former Member
0 Kudos

Hello Bhavesh,

We are using PI 7.3 and facing the same problem with SOAP lookup. However we already implemented the SAP Note:1737850 , also we have tried with dummy change,

Can you please suggest on this, i have created one SDN link for the same http://scn.sap.com/message/14105454#14105454

Regards

Ramesh

Answers (1)

Answers (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hello JM,

Can you paste your code for the SOAP Lookup? Are you following Bhavesh's blog

http://scn.sap.com/community/pi-and-soa-middleware/blog/2006/11/20/webservice-calls-from-a-user-defi...

As far as I know, you only need a business component and a SOAP  Receiver CC to do a lookup.

Hope this helps,

Mark

masjo
Explorer
0 Kudos

Hi Mark

See code below.  It is in a java mapping.  The exception is being thrown at line "SOAPOutPayload = accessor.call(payload);".  I did look at Bhavesh's blog and can't see that I am doing anything different.  Perhaps it's an issue with PO 7.31.

try {

            getTrace().addInfo("in getSessionIdFromSFDC");

            Channel channel = LookupService.getChannel("THIRDPARTY_DEV", "login_test");

           

            getTrace().addInfo("channel " + channel);

            SystemAccessor accessor = null;

            accessor = LookupService.getSystemAccessor(channel);

            String loginxml = "<login xmlns=\"urn:enterprise.soap.sforce.com\"> <username>"

                    + username

                    + "</username> <password>"

                    + password

                    + "</password> </login>";

            getTrace().addInfo("login xml: " + loginxml);

            InputStream inputStream = new ByteArrayInputStream(loginxml

                    .getBytes());

            Payload payload = LookupService.getXmlPayload(inputStream);

            Payload SOAPOutPayload = null;

            getTrace().addInfo("calling accessor");

            SOAPOutPayload = accessor.call(payload);

            getTrace().addInfo("called accessor");

            InputStream inp = SOAPOutPayload.getContent();


markangelo_dihiansan
Active Contributor
0 Kudos

Hello JM,

     The code looks okay. Can you check if your comm channel has an object ID of

7b5abfdae824311899e60f21b30d2fc4

Hope this helps,

Mark

masjo
Explorer
0 Kudos

Hi Mark,

Yes the comm channel object id is (copied from Integration Directory):

7b5abfdae824311899e60f21b30d2fc4