cancel
Showing results for 
Search instead for 
Did you mean: 

RFC as MultiMessage with envelope Messages/Message1/.. ?

former_member296836
Participant
0 Kudos
67

Dear all,

I received a RFC from SAP system. In my mapping I would like to do

a message split and set the occurence of target message to 0...unbounded.

The RFC get the envelope Messages/Message1 automatically.

I tested the mapping in repository and it works. But when sending a

RFC the adapter does not wrap the message with this envelope.

What to do?

Thanks

Chris

Accepted Solutions (1)

Accepted Solutions (1)

stefan_grube
Active Contributor
0 Kudos

This is done inside mapping, so the adapter need not care about this.

Works as designed.

former_member296836
Participant
0 Kudos

Hi Stefan,

in my case it is not done by itself.

As I wrote, I just sended an RFC and in SXMB_MONI I can see

that the payload ist not wraped with the envelope Messages/Message1.

And beacause of this, the mapping does not work because of not existing

XPath in source message.

Regards

Chris

Former Member
0 Kudos

Chris

Messages/Message1 are appended automatically in PI. We need not to maintain them at run time.

You can check for some other reasons of failures.

check whether you are maintaining the namespace in the payload if you have kept it in message type (target).

Or it would be better if you please paste the error message you are getting in traces.

Regards

Raj

stefan_grube
Active Contributor
0 Kudos

> As I wrote, I just sended an RFC and in SXMB_MONI I can see

> that the payload ist not wraped with the envelope Messages/Message1.

Of course not, as this is done only inside mapping. The Messages tags are removed after mapping

> And beacause of this, the mapping does not work because of not existing

> XPath in source message.

Becuse of this? Are because something else?

I winder where you use XPATH.

former_member296836
Participant
0 Kudos

Hi all,

ok, perhaps I expected the wrong result, but if I copy the incoming RFC payload:


  <?xml version="1.0" encoding="UTF-8" ?> 
 <rfc:CONTROL_RECIPE_DOWNLOAD xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
  <CLIENT>100</CLIENT> 
 <CRFT>
...

into the mapping envelope:


<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
   <ns0:Message1>
<rfc:CONTROL_RECIPE_DOWNLOAD xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
   <CLIENT>100</CLIENT>
   <CRFT>
...

everything works fine. So if the envelope is not the problem, what else do I have to check?

@Raj: Namespace seems to be ok. The mapping works fine, if the envelope is added in mapping test.

Regards

Chris

stefan_grube
Active Contributor
0 Kudos

Maybe you describe the issue.

"does not work" is not really helpful.

What is the trace telling?

former_member296836
Participant
0 Kudos

You are right.

If I send a RFC the result is:

<?xml version="1.0" encoding="UTF-8" ?>

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

<ns0:Message1 />

</ns0:Messages>

No target node will be created because he didn't find the suitable path

in source.

If I copy the source value into the envelope (messages/message1/..), the mapping is successfully.

So in every case I did not get any error description. He just do not create a

target node. I am not able to describe the error in detail, because there is

no error, except that he couldn't find the xpath defined in mapping.

So I really think that there is a problem with enveloping the message....

Regards

Chris

stefan_grube
Active Contributor
0 Kudos

> So I really think that there is a problem with enveloping the message....

I think you created a standard mapping before and used it for runtime. Later you changed the mapping.

So you either did not do the configuration correct, or it is a cache issue.

The XI runtimer interprets your mapping as sinlge mapping instead of a multiple mapping. The output of a multiple mapping would be without message tags.

former_member296836
Participant
0 Kudos

Hi Stefan,

cache problems seemed to be believable, but I just did a complete cache refresh in sxi_cache

and "Clear SLD Cache" in Repository without success.

Did I missed a cache?

Still same problem. But you are right, I used this mapping as single mapping before.

Any other hints??

Regards

Chris

stefan_grube
Active Contributor
0 Kudos

> Still same problem. But you are right, I used this mapping as single mapping before.

Did you change the interface determination to multiple mapping?

former_member296836
Participant
0 Kudos

Hi,

you have been a little bit faster than me.

I just wanted to post the solution. I recheck every single point of the scenario

and recheck the documentation.

I really forget to set the occurence in operation mapping. Now it works fine.

Thanks for your help and patience

Sometime you can't see the wood for the trees.

Thanks for your help. Points given.

Regards

Chris

Answers (0)