JCAPS EDI standard exchange format to Mule ESL format - mule

I have an EDI SEF (X12 835 template) file which we are using currently. I want to develop application using mule ESB. I have to use X12 connector to read and parse file but in mule i need to pass ".esl" file as schema to parse X12 instead SEF. Is there any way to read EDI (X12 835) and parse it using customized EDI implementation in Mule 3.7.

EDI SEF defines the structure of EDI message. So does Mule ESL. Mule B2B ships with all standard ESL's including the one for X12 835 (check the list here).
If you have customized the standard definitions then it is possible to extend default 835 ESL and create the new one. See here for how to overlay standard schemas.

Related

How to create an edifact file in data waever component of mule

I am receiving an xml file and my requirement is to create an edifact
file from that xml. But in the dataweaver component of mule, there is
not support for edifact file formats. So is there a way I can generate
an edifact in mule from dataweaver or any other component.
If you want to generate valid edi documents then you should use edifact-module in mule. It looks complicated but once you start it its really easy. You just need to understand EDI Schema Language (ESL) which is a predefined structure in Mule. You can use DataWeave with output type as application/java. Then pass this output to EDI Connector and it should be able to output EDI document.
I recently used X12 EDI connectors and was able to get it working once I understood ESL. Mule documents https://docs.mulesoft.com/anypoint-b2b/edifact-module should be the good place to start.
this component suits your needs ?
https://docs.mulesoft.com/anypoint-b2b/edifact-module

Mule Internationalization Support (Japanese)

I have requirement as below.
My Mule flow as to read the properties file (src/main/resources) where this property file contains the Japanese characters in Value place.When mule flow trying to read the property files all the values are printing in ???? mode. I have written custom java component with property file loading concept.Currently we are using mule 3.4 EE run time.
I have a question whether Mule 3.4 supports Internalization especially for Japanese characters.
What will be the best way to implement this scenario.
Regards
Vikram
you may want to use Resource Bundle Plugin which provides an editor for properties to be internationalized
Vikram ,
I tried using '#' in MuleProperties file , Mule gave an error . I had to replace # with %40 . Now , since you have Jap characters you need to change the Unicode pattern.
Unicode ranges for hiragana and katakana are:
Hiragana: Unicode: 3040-309F
Katakana: Unicode: 30A0–30FF
Change the above code and use the ASCII code

Mule APIKit and multiple RAMLs

It is possible using multiple RAML files in one APIKit Mule Project?
Let's say I have two functions /api/func1 and /api/func2.
Each of the functions is defined in its own raml - func1.raml and func2.raml.
I've generated a flow in Anypoint for the first function using the APIKit wizard. It's working ok.
Now, I'm trying generating a flow for the second function. The flow is generated with no errors. However, it just doesn't work. I've tried fixing the URLs, bindings, configurations and nothing really helps.
Note, that I don't wanna bind both the RAMLs into one file. The reason is that it's easier to develop/maintain the functions separately.
The only solution I can see is to define two separate projects. But this is not really what I'd like to do.
So, looking for an advice of how to deal with this situation.
Thanks,
Ok, actually, it's possible.
What you need to do is make the "Path"es different in the HTTP connectors for the flows generated.
The apikit wizard generates the default path that looks like this: "/api/*".
So, Mule generates an error when attempting to deploy the app. What you need to do is changing paths to "/api/func1/" and "/api/func2/"
You can continue having a single RAML file and make external references to simplify your raml, here is an example:
#%RAML 0.8
title: Eventlog API
version: 1.0
baseUri: http://eventlog.example.org/{version}
schemas:
- eventJson: !include eventSchema.json
eventListJson: !include eventlistSchema.json
Also going by strict REST design it is recommended to have a resource related details maintained in a single RAML file.
Optionally you may edit the url's to resolve any context related conflict.

Standardized ERP export format for invoices?

Does anybody know if there is an open/standardized file format for exporting invoices from ERP systems? I am not even sure if that is possible, but I'd like to know nonetheless.
Except for the vague SAP/ERP export file format? item I couldn't find much useful information.
Is perhaps EDI supported for such things?
SAP uses its Idoc format to export business docouments. Idocs are essentially flat files, containing different segments with any number of fields. For invoices the standard idoc type is INVOIC01. To export a document as an Idoc you setup a message (the default invoice message is RD00) with output mode "EDI" and configure your SAP system to for instance save it on the file system (other options are available too, e.g. sending the Idoc to a RFC Server).
You can take a look at the Idoc definition using transaction WE60. You can also extend Idoc types, adding your own segments and fields to it.
as an addition: EDI is mostly used to send messages between business partners, for instance to send an invoice to the payer. Most ERP systems seem to be able to export documents so that an EDI system can create EDI messages from them, but they mostly don't support EDI messages themselves. They usually need that EDI mapping system as a translator between sender and receiver (actually 2 EDI systems, one operated by the sender, the other by the receiver).

How can i use the Mule Studio data mapper for producing output generated from a complex XSD schema ?

I want to post a message to a SOAP webservice with MULE Enterprise edition.
For creating the Request object i am using a data mapper with the
input a POJO and for
the output i selected XML , and from example XML schema i added my own XSD.
Because there are a lot of elements in the xsd, i selected the root element from the list provided.
Then i am dragging the fields from input to the corresponding values i want in the output.
(i also tried to map just one field, to be sure that i keep the minimum the probability for error).
And now the problem:
when the flow is accessed, the following WARN is shown and the data-mapper fails
*[XML WRITER:EXT_XML_WRITER0] - Invalid mapping (With port binded to root element, result might contain multiple root elements. Such XML is not well-formed. To avoid that, set 'Records per file' or 'Max number of records' component attribute to '1'.)*
Where can i set this kind of options in the data mapper ?
And also i want the root element to be only one, i don't need a foreach for the root element, i just need to fill the contents of it. Can i specify this anywhere in the data mapper ?
Thanks.
Mule EE DataMapper uses CloverETL for data transformations, and this annoying warning concerns CloverETL settings. I don't know if you can advise CloverETL to use a specific configuration file in the context of Mule DataMapper, but you can always edit the mapping file generated by Mule with a text editor. Just find your root Node entry in the mapping file and add recordsPerFile="1" attribute.
The problem with this is that Mule may overwrite your manual edits if you use the graphical editor, though.
Check out the Anypoint Studio May 2014. Mule now includes a new Web Service Connector for posting messages to a SOAP web service using just a WSDL. Studio will read the XML Schema from the WSDL and automatically create the metadata for DataMapper for you. See http://www.mulesoft.org/documentation/display/current/Web+Service+Consumer for more details.