Our company is attempting to use webMethods as a replacement for our existing EDI translator. One of the biggest problems I am encountering is the validation of incoming EDI data. wm.b2b.edi:envelopeProcess seems to
check some of the control numbers in the envelope, and makes use of the
pub.schema:validate service, but I am running into quite a few errors that
validate successfully through these services, but are, in fact, invalid EDI
documents. For example, a segment that is out of order within the document
seems to get automatically “moved” to an “interpreted correct” place, and an
undefined segment (like XX) seems to be ignored when the EDI string is
converted into a record for processing. Optional segments that become
required when other optional segments exist do not seem to be checked,
either. In all cases, the document passes the validation against the schema
A good EDI validation tool (like EDISim) catches these errors, while I
struggle to put together an inceasingly larger set of BRANCH statements to
catch each one as I stumble upon it. Since many of these issues are
transaction-dependent, I’m starting to wonder if I’m reaching a point of
Has anyone out there discovered a good way to catch these EDI exceptions on
an incoming document? How are you handling these kinds of errors? Any help
would be greatly appreciated.
Nancy A. Booterbaugh
I have just reported a similar problem with wm.b2b.edi:envelopeProcess service. I reported the following:
�I am submitting an UNEDIFACT document with multiple UNH segments to TN via �http://localhost:5555/invoke/wm.tn/receive�. The B2B server is receiving the EDI document and TN is splitting it into the transaction sets, which are being further submitted to the correct services via the processing rules set-up.
However, the EDI interchange envelope is not being automatically validated.
Any idea what is wrong or where should I be looking to isolate the problem?�
If you have not already, I would suggest you open a support call with web-Methods support, meanwhile, let me know what values you are setting when using the envelopeProcess? I have so far found the service works when used within a Flow.
The EDI validation Service that wM provided is not a complete one. It is based on schema therefore lacking the essessial validation normally provided by EDI translator. I think wM is working on improving that.
What we did at Apple was we developed our own validation Java Service which parses rules from the SEF file for validation. It’s been working just fine for almost 2 years, but it was a big development effort.
But I think webMethods have stopped supporting SEF files going forward…
So, without lack of SEF files, how will you validate incoming EDI??
Is there a way to convert, schema into SEF files??
You can make your own schemas with a schema creation tool like XML Spy. You can start out by either using an XML file or more prefereably, a DTD. Use the Create a W3C Schema and choose DTD or XML as source. Then, you will need to manually set the contraints since neither the XML or DTD will contain this information. If the record set(s) contain a common format, all of the other documents should reference the elements or complex types of the common schema. This will save 80-90% of the space that the schemas will take up in the b2b application space.
As far as converting schemas into sefs files, probably not the best idea. I have heard multiple comments that the schemas are not perfect. That is why I advised to make your own. At least you know everything about the schema since you created it. Otherwise, it’s pretty much a black box.
Hope this helps.