Skip to Content
0

Already working iFlow started failing with Mapping Exception

Apr 12 at 11:54 AM

75

avatar image
Former Member

Dear All,

I had a scenario working fine with basic mapping where I was fetching some information from IoT in HCI/CPI and then mapped it to IDoc. It was working absolutely fine but when I checked today, it gave me an error. Basically I was configuring another scenario of SOAP to IDoc and I got the error there.

com.sap.xi.mapping.camel.XiMappingException: com.sap.aii.mappingtool.tf7.IllegalInstanceException: Cannot produce target element /ZIDOC/IDOC/ZSEGMENT. Queue has not enougth values in context. Target xsd requires a value for this element, but target field mapping does not produce one. Probably the xml-instance is not valid to the source xsd, or the target field mapping does not fulfill the requirement of the target xsd., cause: com.sap.aii.mappingtool.tf7.IllegalInstanceException: Cannot produce target element /ZIDOC/IDOC/ZIDOC. Queue has not enougth values in context. Target xsd requires a value for this element, but target field mapping does not produce one. Probably the xml-instance is not valid to the source xsd, or the target field mapping does not fulfill the requirement of the target xsd.

Please suggest what has changed in HCI/CPI in terms mapping validations which has stopped a working iFlow.

Regards

Amitabh

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Best Answer
Praveen Tirumareddy
Apr 12 at 12:20 PM
0

Hi Amitabh,

could you please log what data is coming from the IoT. Might be there are in-sufficient values in the source side or might be there no value that is being sent from the system.

And both the fields must be a mandatory fields in the structure and it must have a value mapped from the source value.

Could you please share the source message and the target message structure's as well.

thanks and regards,

Praveen T

Show 5 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hi Praveen,

I pointed this out in the message that this iFlow was working fine. The last successful run was on 31st march.

The only difference between these dates are SAP Passport validity used in HCI as a certificate. Which I have renewed.

Now when I tried to a mapping in the same way for another iFlow, I am getting the same error which I am getting in the iFlow which was already running.

I am attaching the source and target(IDoc) structures.

I am also sharing screen shot of the mapping where the error comes. Basically if I hard code the segment name the IDoc is processed but with empty data records. When I map the sender header node with the segment I am getting this error. In my previous iFlow this worked fine.

What do you think might have changed in mapping validations which is causing this failure.

Thanks for your help in advance.

Regards

Amitabh

cui7z.png (7.1 kB)
ihs64.png (29.1 kB)
0
Former Member

truesense-idoc-receiver.txt mtype-truesense-sender.txt

Sorry forgot to attach the files.

Regards

Amitabh

0

Hi Amitabh,

The error message points to the error in the message mapping. If you could put a logger/datastore and try to capture what data is coming from the IoT device. So that we can understand if there is any discrepancy in message structure. I understand the interface was working in the previous occasion but atleast the error message doesn't give much information so have to start with the debugging with what data is received on the CPI end. Might be that there is no data being pushed from the device.

please try to fetch the message received on the CPI end and share it.

thanks and regards,

Praveen T

0
Former Member

Hi Praveen,

The structures I shared are from my new interface for SOAP to IDoc. The interface from IoT was working absolutely fine and numerous successful IDocs are posted. It just started behaving abnormally since last few days with these mapping exceptions. I wonder what are the new patches/validations SAP has applied in last 10 days which is causing this error. I thinks that's wgere we should look into. Because OData adpater is fethcing the same values it used to do previously. You can help.

One Pointer: When I am connecting the root node of sender XSD to receiver Segment(which was working fine)..It throws an error. But when I hardcode the the segment name and do not connect the sender Node to segment...it posts the IDoc in ECC with only control record(no ata record).

Regards

Amitabh

0
Former Member

Thanks a lot Paveen for your suggestions. The Data Store idea worked. The issue was with XML structure I was passing from my application. It is reolved now and I am able to post the IDocs successfully.

Regards

Amitabh

1