cancel
Showing results for 
Search instead for 
Did you mean: 

CIDX Adapter - cannot even handle normal XML files

Steven_UM
Contributor
0 Kudos

Hi folks,

We are very busy with getting the CIDX adapter up and running and we found out something which I simply cannot understand or believe ...

It seems that the CIDX adapter is NOT capable of dealing with any XML content that is laid out over multiple lines ... it doesn't even likes spaces between tags ... your XML content needs to be on 1 line ...

simply unbelievable ...

If you do provide an XML message on multiple lines then the thing crashes ...

We are exchanging XML messages for years now with partners all over the world but I haven't seen anybody exchanging XML content on 1 line ...

When the adapter generates a message then the 3 XML messages within the CIDX enveloppe are indeed all on 1 line ... Very helpfull and readable when you are looking at your message log files ...

Seriously ... this has to be a joke right ?

Steven

Accepted Solutions (0)

Answers (2)

Answers (2)

bhagyesh_hede
Explorer
0 Kudos

Hello Steven,

It seems to me that you have a problem that is not related to the "multiple line" Issue.

SAP CIDX Adapter is already live with elemica marketplace and is already works with multiple line payloads with Microsoft Biztalk adapter. Atlest for us here.

There could be possible issues involving in terms of memory configuration and payload sizes.

We have also seen that the messages "generated" by the adapter are indeed on a single line. This is a monitoring problem that definitely needs attention.

-Bhagyesh

Steven_UM
Contributor
0 Kudos

Hi Bhagyesh,

You are right ... the CIDX adapter does not seem to have a multi-line issue ...

Well it obviously did with my content but I suspect something went wrong in my copy-paste action.

I used a production message from Elemecia and extracted the 3 payloads but somehow I got non-visible non-allowed characters in my xml message.

I retried again with another payload and that worked fine ( as far as this issue concerns - I got an even more interesting issue but that is not in topic of this post )

So to make it clear - multi-line are supported by the CIDX adapter ... no issue here ...

Only the message logging is terrible ...

Bye,

Steven

Former Member
0 Kudos

Hi Steven,

You are right! Have a look at this link

http://help.sap.com/saphelp_nw04/helpdata/en/6b/f53741162f8839e10000000a1550b0/content.htm

<i>Requesting Message: This value is obtained from the Chem eStandards Business Transaction name. However, no spaces must be added into this value when creating within XI.</i>

Since the requesting message is not transformed, u can encode to base64 and send it to xi and then decode it back at the receiver since base64 doesn't have new lines chars or spaces..

Regards,

Felix

Steven_UM
Contributor
0 Kudos

Hi Felix,

Thanks for your swift response ... I am not completely following though on the link towards the CIDX adapter documentation - that page is simply telling us that the business process identifier should not have space in between ... for example "Order Create" should be "OrderCreate".

I am actually talking about the whole XML message ( the whole structure ) ... all tags need to be on 1 line whithout any spaces between the tags ... otherwise the adapter dumps ...

Regards,

Steven

Former Member
0 Kudos

Hi Steven,

What I can understand is..

instead of xml file being like this..

<xml>

<mytag/>

</xml>

it has to be like for CIDX

<xml><mytag/></xml>

You can use a simple module to remove all the new lines and pass it to Adapter Engine. You can look at my blogs which is mostly related to modules.

I think my assumption is right. Correct me if i am wrong!

Best Regards,

Felix

Steven_UM
Contributor
0 Kudos

Hi Felix,

Your assumptions are correct

If I follow your thougts then we can either

1) enforce that our partners send us XML content which is base64 encoded ...

2) write our own module that will transform the payload of the CIDX enveloppe using base64 encoding ... but that would require us to unwrap the CDIX enveloppe to extract the content ... then we are actually writing our own CIDX adapter ... then we are way off the original idea of using a standard solution ...

I had a look at your blog about file copy ... I didn't had a look yet at the other adapters but can I conclude then that all adapters use base64 encoded content ?

Regards,

Steven

Former Member
0 Kudos

Hi Steven,

<i> >>can I conclude then that all adapters use base64 encoded content ?</i>

No! it is not all modules use base64. It is an idea for avoiding binary content in datas in our moudles.

But I can give you a suggestion to avoid developing modules. In file adapter, there is a section called 'Os command' related text box. use this to run a program to remove all the newline chars in the xml before the file adapter fetches it and connect the file adapter receiver to CIDX sender through BPM. It's actually a better idea to avoid developing modules in your case.

best of luck!

Felix