XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Daniele ConcaSubject: EDI to XML conversion for UNOC format
Author: Daniele Conca
Date: 15 Jan 2007 10:15 AM
Originally Posted: 15 Jan 2007 07:00 AM
Hi all,

I just started using SS and I'm trying to convert an EDI file (UNOC syntax) into an XML. As far as I know, the only difference between UNOC and UNOA syntax is the definition of separators.
So I'm opening my .edi file using Convert to XML and giving the following parameters for the EDI type:

Segment separator: \x1C
Element separator: \x1E
Component value separator: \x1F

leaving the rest as default.
I get the error:
java.io.IOException: "70" (\u46) not valid as a component symbol {close}

Can anyone please explain me what is my mistake?

Thanks in advance,
Daniele

Postnext
Ivan PedruzziSubject: EDI to XML conversion for UNOC format
Author: Ivan Pedruzzi
Date: 15 Jan 2007 11:36 AM
Hi Daniele,

Did you try to use the built-in EDI adapter?
http://www.stylusstudio.com/edi/X12_translate.html

Could you please post a document sample?

Ivan Pedruzzi
Stylus Studio Team

Postnext
Daniele ConcaSubject: EDI to XML conversion for UNOC format
Author: Daniele Conca
Date: 15 Jan 2007 11:56 AM
Hi Ivan,

>Did you try to use the
>built-in EDI adapter?

that's exactly what I did, with the parameters which I posted. I'll attach an example edi document in the message, thank you for your help.

Daniele




Documentorder.edi
edi UNOC syntax

Postnext
Andrea QuartaSubject: EDI to XML conversion for UNOC format
Author: Andrea Quarta
Date: 11 Sep 2007 05:46 AM
Hi,

we still have the same problem on the same project with very large edifact file..

Is it possible to increase the error level to know in which line the error happened?

Thanks in advance,

Arianna2 Team

Postnext
Tony LavinioSubject: EDI to XML conversion for UNOC format
Author: Tony Lavinio
Date: 11 Sep 2007 08:45 AM
Since your file doesn't use the UNA header, you are correct in
manually specifying the separator characters.

However, since they are entered via the URI, you are getting
them double-escaped, so instead of \x1F you are seeing %5cx1f,
which it is then unescaping to turn into a 'F'.

The solution is to use the ASCII mnemonics for those positions,
like this:

segment=FS
element=RS
component=US

So the entire URI would be something like
converter:EDI:segment=FS:element=RS:component=US?file:///c:/temp/order.edi

This is simply a limitation of the GUI, and does not extend to using
the URI from the API level.

The whole list can be found at many places, including
http://www.unicode.org/charts/PDF/U0000.pdf

Postnext
Tony LavinioSubject: EDI to XML conversion for UNOC format
Author: Tony Lavinio
Date: 11 Sep 2007 08:47 AM
Since the problem was with the encoding (or rather, the decoder's
understanding of the encoding), there is no line number. Otherwise
one would have been reported.

If there are still any questions, please drop us a line.

Postnext
Andrea QuartaSubject: EDI to XML conversion for UNOC format
Author: Andrea Quarta
Date: 11 Sep 2007 10:53 AM
Hi Guys,
Unfortunately the error we posted was not exatcly the one really taking čplace on the server.
Now we now what the problem is, but not the solution, of course, for which your help is greatly appreciated.

Now we get this exception:

Caused by: org.xml.sax.SAXException: Can't encode 0x1c in text
at com.stylusstudio.adapter.io.XMLSerializer.write(XMLSerializer.java:720)
at com.stylusstudio.adapter.io.XMLSerializer.characters (XMLSerializer.java:516)
at com.stylusstudio.adapter.edi.EDI.emitSegment(EDI.java:830)
at com.stylusstudio.adapter.edi.EDI.toXML(EDI.java:571)
at com.stylusstudio.adapter.AdapterBase.toXML (AdapterBase.java:182)
at com.stylusstudio.converter.ConverterImpl$Job.startAdapter(ConverterImpl.java:911)
at com.stylusstudio.converter.ConverterImpl$Job.access$1800(ConverterImpl.java:464)
at com.stylusstudio.converter.ConverterImpl$Job$PullPush.go(ConverterImpl.java:558)
at com.stylusstudio.converter.ConverterImpl$Job.<init>(ConverterImpl.java:537)
at com.stylusstudio.converter.ConverterImpl$Job .<init>(ConverterImpl.java:464)
at com.stylusstudio.converter.ConverterImpl.convert(ConverterImpl.java:124)
at com.guarneri.helpers.EDIFACTtoXML.convert(EDIFACTtoXML.java:44)
at com.ie.sap.nw.xi.ae.modules.EDIFACTHandlerBean.process (EDIFACTHandlerBean.java:177)
at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0_0.process(ModuleLocalLocalObjectImpl0_0.java:103)
at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java :264)
at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0_0.process(ModuleProcessorLocalLocalObjectImpl0_0.java:103)
at com.sap.aii.adapter.file.File2XI.send(File2XI.java:3503)
at com.sap.aii.adapter.file.File2XI.processFileList(File2XI.java:1373)
at com.sap.aii.adapter.file.File2XI.invoke(File2XI.java:672)
at com.sap.aii.af.service.scheduler.JobBroker$Worker.run(JobBroker.java :475)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(AccessController.java:207)
at com.sap.engine.core.thread.impl3.SingleThread.execute (SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)


If you remember, \x1c is our segment terminator. So now it seems like the EDI file is correctly parsed to XML, but it stops at the time of serializing because of an extra \x1c that can't be encoded (we must use iso-8859-1, which is specified in the URI btw).

What can we do to understand the exact position of this char? The file is huge and evidently not correct, but we must be able to point it out accurately.

An extract of the "guilty" file is attached: the original one is about 2 Mb, but this small one presents exactly the same problem.

And the URI we use follows:
adapter:EDI:encoding=utf-8:val=no:decode=no:field=no:tbl=no:typ=no:count=no:eol=no:segment=%5cx1c:element=%5cx1e:component=%5cx1f

Thank you very much.

Regards,
Arianna 2 Team


Unknownerr_qua.pricat.split1MELI16960920374.edi
The Guilty File

Postnext
Andrea QuartaSubject: EDI to XML conversion for UNOC format
Author: Andrea Quarta
Date: 11 Sep 2007 10:55 AM
Sorry, this is the correct URI

adapter:EDI:encoding=iso-8859-1:val=no:decode=no:field=no:tbl=no:typ=no:count=no:eol=no:segment=%5cx1c:element=%5cx1e:component=%5cx1f

Postnext
Alex GuarneriSubject: EDI to XML conversion for UNOC format
Author: Alex Guarneri
Date: 11 Sep 2007 11:25 AM
Hi Ivan and Tony,
Maybe useless to say, but this is very urgent for us: we are supposed to go live on Thursday this week, and the client is questioning that we can really go live without exactly knowing what is going on in this specifc case.

Best regards,

Alessandro

Postnext
Tony LavinioSubject: EDI to XML conversion for UNOC format
Author: Tony Lavinio
Date: 11 Sep 2007 02:32 PM
The problem is that in your file you have a '?' followed by a 0x1C.
So this effectively escapes the end-of-segment character.

Since the data is pipelined, this doesn't show up until the XML is
serialized, at which point it doesn't know where in the source EDI
it came from.

If you redefine your release character to be something other than '?',
such as '~' or backslash, you should be okay.

Posttop
Andrea QuartaSubject: EDI to XML conversion for UNOC format
Author: Andrea Quarta
Date: 12 Sep 2007 06:21 AM
Thank you Tony,
we have resolved the problem putting "~" as the release character.

Regards,
Arianna2 Team

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.