cancel
Showing results for 
Search instead for 
Did you mean: 

Error Couldn't retrieve outbound binding for the given P/S/A values

0 Kudos

Dear all,

We get this error in our XI setup Proxy to SOAP.

This is the complete error text.

com.sap.aii.af.ra.ms.api.ConfigException: ConfigException in XI protocol handler. Failed to determine a receiver agreement for the given message. Root cause: com.sap.aii.af.service.cpa.impl.exception.CPALookupException: Couldn't retrieve outbound binding for the given P/S/A values: FP=;TP=;FS=SBX_111;TS=BSR_PROXY_TO_SOAP;AN=MIR_PROXY_TO_SOAP;ANS=http://proxy_to_soap

First I tought it was a problem with the receiver agreement but when I delete it and try it again, the error is

"Could not find a receiver agreement".

So, he finds the receiver agreement but still there is a problem with it.

I've searched SDN and tried to do a cache refresh as described in several threads but still no luck.

Also recreate the objects didn't solve it.

Anybody has another idea ?

Thanks for your help.

Regards, Michel

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

First Test Your configuration with the Test Tool

REgards

Seshagiri

Answers (11)

Answers (11)

Former Member
0 Kudos

I have a similiar issue, we are getting the same exact errors. However this error only occurs if we send a load of more than 5 soap messages, but if we're sending them individually they go thru successfully.

I've tried cache refresh, changing the maximum number of processing and connections, and nothing seem to work. This only happens to one of our environment.

Any info would be appreciated.

thanks in advance.

Former Member
0 Kudos

Hi,

If all configuration correct in Repository and Directory the problem should be cache. My problem was same an full CPACache refresh solved my problem. but you should be sure that all config correct.

http://<PI system host name>:<port>/CPACache/refresh?mode=full

Regards.

0 Kudos

Hi all,

Any other suggestions to solve this problem ?

Isn't there a table in SAP where you can see those outbound bindings ?

Thanks.

Regards

0 Kudos

my webservice has 1 input parameter "username"

am I correct to use it like this via internet explorer

http://host:server/sap/bc/srt/rfc/sap/zws_zbapi_get_user_detail2?sap-client=111?username=xisoap?pass...

this results in following error

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">

<soap-env:Body>

<soap-env:Fault>

<faultcode>soap-env:Server</faultcode>

<faultstring xml:lang="en">SOAP processing failure, error id = 112</faultstring>

</soap-env:Fault>

</soap-env:Body>

</soap-env:Envelope>

0 Kudos

@Prateek,

If I fill in the url I can see the wsdl description,

something like

- <wsdl:definitions targetNamespace="urn:sap-com:document:sap:rfc:functions" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:sap-com:document:sap:rfc:functions" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

- <wsdl:types>

- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions" elementFormDefault="unqualified" attributeFormDefault="qualified">

- <xsd:simpleType name="char1">

- <xsd:restriction base="xsd:string">

<xsd:maxLength value="1" />

</xsd:restriction>

</xsd:simpleType>

- <xsd:simpleType name="char10">

- <xsd:restriction base="xsd:string">

<xsd:maxLength value="10" />

</xsd:restriction>

</xsd:simpleType>

- <xsd:simpleType name="char12">

- <xsd:restriction base="xsd:string">

<xsd:maxLength value="12" />

</xsd:restriction>

</xsd:simpleType>

- <xsd:simpleType name="char20">

...

Or should I fill in the url with logon parameters ?

like this

http://host:port/sap/bc/srt/rfc/sap/zws_zbapi_get_user_detail2?sap-client=111&wsdl=1.1?username=xiso...

If I try this with Stylusstudio I can use the web service

Thanks for your help

Regards, Michel

0 Kudos

No more responses ?

Is there an SAP standard table where we can check the "outbound binding" ?

Thanks for your help.

0 Kudos

Anybody has some other idea's ?

Thanks.

0 Kudos

Hi,

I've got these settings in my receiver SOAP adapter

Transport protocol : HTTP

message protocol : SOAP 1.1

Adapter engine : Integration server

target url : http://host:port/sap/bc/srt/rfc/sap/zws_zbapi_get_user_detail1?sap-client=111&wsdl=1.1

no other flags

SOAP action zws_zbapi_get_user_detail1

does this seems correct to you ?

Regards, Michel

prateek
Active Contributor
0 Kudos

Make sure ur webservice url is correct. Paste the URL in browser and check if u can access the webservice.

Rest settings seems correct.

Regards,

Prateek

0 Kudos

No, we don't use conditional routing

Still no luck with getting it to work.

I've also tried to create the objects with the wizard but it has the same problem.

Where does the system looks for that "outbound binding" ? I suppose it's not in an abap table !

Any other idea's ?

former_member190389
Active Contributor
0 Kudos

Hi,

Please check if the receiver adapter is proper.

In outbound binding the the receiver adapter is determined.

0 Kudos

@ Prateek

I've also tried this before and this didn't solve it either.

So I did it once more with user PIDIRUSER and still no luck with getting it to work.

The only role that has been assigned to this user is SAP_XI_ID_SERV_USER

Is that ok ?

Thanks for your help.

Regards, Michel

prateek
Active Contributor
0 Kudos

Yes, the role SAP_XI_ID_SERV_USER should be sufficient. U must be getting the message that cache refresh complete in xxx millisecs.

U can also try making some dummy changes to agreement like changing the description and reactivating the objects.

Regards,

Prateek

Former Member
0 Kudos

OK do you have conditional routing?

I have seen this before with and without conditional routing and 9 times out of ten it is something with your configuration... a step you have missed etc.

I mentioned payload because if your payload doesn't have the correct type, namespace etc or incorrect values and you have conditional routing then this can cause similar errors.

but my advice is go from step one and look at each step of your config.

Sender agreemtent (if necessary)

Receiver Determintation

Interface Determintation

Receiver agreement

comm channels

And in each step it is important to note what you have put for both your sender, interface, namespace

Also if it is an option for you... maybe SMICM --> Send Hardshutdown with restart just to fluch everything.

0 Kudos

Dear all,

Thanks for the fast response but I've already tried to test the configuration and everything seems to be fine.

@ Alex,

What do you mean by "Please check your inbound payload and see if the conditions are there..." ?

The inbound payload looks ok for me.

Regards, Michel

prateek
Active Contributor
0 Kudos

Make a full CPACache refresh using the following url:

http://XIhost:port/CPACache/refresh?mode=full

Use username XIDIRUSER/PIDIRUSER or any user with similar roles.

Regards,

Prateek

Former Member
0 Kudos

Actually Binding is usually to do with your Agreements so you were correct in your first hunch.

What that error means is that PI could not find a relevant Receiver agreement for your confitions.

Please check your inbound payload and see if the conditions are there...