cancel
Showing results for 
Search instead for 
Did you mean: 

Web service scenario - Missing or Invalid Receiver Agreement

Dimitri
Active Contributor
0 Kudos

Dear,

We are on SAP PI 7.11 SP11 and facing a problem with a synchronous scenario SOAP <-> SAP PI <-> ABAP proxy.

The Service Interfaces contain multiple operations and operation/message mappings are in place.

Also, configuration on the ID side is done.

The WSDL is retrieved from the sender agreement and imported into soapUI.

All seems there and the cache is ok, but still we face the error Missing or Invalid Receiver Agreement in the message monitor.

I already found OSS note 1739173, describing the problem, but that seems to be for asynchronous messages only with QoS EO and EOIO.

Or do we need that anyway?

Any leads what could solve this strange problem?

thanks a lot.

Dimitri

Accepted Solutions (0)

Answers (4)

Answers (4)

Dimitri
Active Contributor
0 Kudos

Anyone an idea?

For a single-operation scenario it works fine.

For a service interface containing multiple operations, it fails.

Thanks a lot

Dimitri

iaki_vila
Active Contributor
0 Kudos

Hi Dimitri,

Do you get the same exception in you test your service from WSNavigator?

Have you tried to change the receiver adapter only for testing purposes?, for example to use a RFC, in this way you can check if the problem is because you use a server proxy as endpoint.

Regards.

Dimitri
Active Contributor
0 Kudos

Hi,

My Message Type, attached to the outbound service interface contains only 1 field.

My input is a structure like this:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ns0="namespace">

   <soapenv:Header>

      <UserId>Dimitri</UserId>

   </soapenv:Header>

   <soapenv:Body>

      <ns0:MessageType>

         <ns0:Use1Field>field value</ns0:Use1Field>

      </ns0:MessageType>

   </soapenv:Body>

</soapenv:Envelope>

My XSLT mapping expects this structure and when I test the operation mapping separately, it looks good.

Testing in WSNavigator fails because I cannot provide the complete structure. Only the 1 field.

Kind regards,

Dimitri

Dimitri
Active Contributor
0 Kudos

UPDATE

Some more result:

Seems like the interface determination and the operation mapping is not found?

UPDATE 2

I tested the exact same interface using service interfaces with only 1 operation.This was successful!

So, there is something with multiple operations within 1 service interface.

Mistake in the configuration or a little bug?

Kind regards,

Dimitri

Dimitri
Active Contributor
0 Kudos

Hi,

My multiple operation service interfaces have interface pattern Stateless.

When I change that to Stateless (XI 30-compatible), I get this popup

When I want to activate, I get this error message: Only exactly one operation is permitted for the selected interface pattern

Kind regards,

Dimitri

iaki_vila
Active Contributor
0 Kudos

Hi Dimitri,

You are right, i reminded that and i deleted my previous message.

Have you got an inbound service interface multi-operation or a single-operation?

Could you share your configuration?

Regards,

Dimitri
Active Contributor
0 Kudos

Hi,

Both outbound and inbound service interface have multiple operations.

The configuration:

ESR

Outbound and inbound service interfaces containing 5 operations each.

All synchronous, interface pattern stateless.

Outbound service interface is linked to an external message.

The Inbound service interface is linked to a message type.

For every operation, a operation mapping and message mapping is available.

Integration Directory

seperate configuration objects. No ICO is used.

Sender Agreement

  • no validation
  • Software Component Version of Sender Interface is pointing to the SWCV, containing the outbound service interface
  • sender SOAP communication channel
    • HTTP
    • SOAP 1.1
    • Do not use SOAP envelope enabled
    • QoS is best effort

Receiver Determination

  • software component version left blank. So, no operation-specifics mentioned.
  • type of receiver determination is standard
  • receiver is the SAP back end system (business system)

Interface Determination

  • Software Component Version of Sender Interface is pointing to the SWCV, containing the outbound service interface
  • for each operation, a operation mapping, inbound service interface and namespace is indicated

Receiver Agreement

  • receiver XI adapter
    • HTTP 1.0
    • XI 3.0
    • HTTP destination to the SAP back end
    • Transfer hop list enabled
  • Software Component Version of receiver Interface is pointing to the SWCV, containing the inbound service interface

Please note

  • the message mapping is a XSLT mapping
  • tests with single-operation service interfaces are successful.

Kind regards,

Dimitri

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

seams that you configured all objects properly.

as we cannot see the system y recommend you two things .

Delete all the configuration done and create it again,

when you do this, create the Receiver Determination first all and save it. then go to Configuration Overview tab (in the Receiver Determination), display the Sender System to reach the service name (in red) double click and the create the Interface Determination from there (Right click--> new specific)

save the Interface Determination and close it.

Refresh the configuration overview tab, you will notice that the inbound service appears now.

Righ click on sender agreement and receiver agreement--> new specific

active all changes, and test.

let me know

regards

Rodrigo

Dimitri
Active Contributor
0 Kudos

Hi Rodrigo,

Apologies for the delay...

I did what you suggested. Within the Interface Determination, I had to indicate the Software Component Version of Sender Interface to indicate specific operation mappings for my different operations in the Service Interface. I guess that is correct?

I also played around with the SWCV in the Sender and Receiver Agreement.

Result: it does not work and my mapping does not seems to be executed.

I tested again using a single operation and that works fine. Strange.

Sure it is not a bug or something?

Thanks a lot.

Dimitri

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

please, go to Receiver determination step in the integration directory--> Configuration overview tab and display the entry to check whether all objects are configured rigth also the Interface Determination

also go to SXI_MONITOR--> check if the receiver determination  and Interface Determination Pipeline trace match the configuration provided in the ID.

I assume you miss when configured the receiver agreement (if you configured it manually) y recomend also to delete all the receiver agreemens configured and create them in the Receiver Determination step--> Configuration Overview--> Rigth Click on Receiver Agreement (NEW SPECIFIC).

Best Regards

Dimitri
Active Contributor
0 Kudos

Hi Ridrigo,

My service interfaces contain multiple operations and OSS note 1739173 is still on my mind.

The configuration looks good, all objects are there.

Within the Interface Determination, I had to indicate the software component version of sender interface.

If not, I could not indicate the operation mapping for each interface.

Kind regards,

Dimitri

former_member190624
Active Contributor
0 Kudos

Hi Dimitri,

Please do a test from receiver determination (Test button at top of RD object)? This step will give you better idea , whether message passes through all pipeline steps or not.

Thanks

Hari.

Dimitri
Active Contributor
0 Kudos

Hi Harikumar,

I tested the configuration in the Integration Directory and the result is the same.

Very strange that the error says: Problem occurred in receiver agreement for sender - xxxxx to receiver -xxxxx,<namespace>.<outbound service interface>: No standard agreement found for , xxxxx, , xxxxx, <namespace>, <outbound service interface>

I clearly see the inbound service interface being used in the Interface Determination and Receiver Agreement step. That's why I keep thinking of OSS note 1739173.

Kind regards,

Dimitri