cancel
Showing results for 
Search instead for 
Did you mean: 

Custom EDI Parser snap output view not recognised by mapper snap

Ksivagurunathan
Contributor

EDI_CUSTOM_SNAPwe developed a custom snap to parse EDI 835 data on Java. puzzle is how to map Java object on mapper snap. when we add a mapper snap next to EDI parser, Input schema on mapper is blank. But when I add a copy snap in between EDI Parser custom snap and mapper, am able to see the input schema in mapper.

5 REPLIES 5

dmiller
Admin Admin
Admin

Did you ever figure out the issue?
Bumping up if not since there were no comments yet.


Diane Miller
Community Manager

robin
Former Employee

I helped out on this one. Yes, I believe the root cause was successfully identified.

A custom object was being used directly as the Document data and hence this behavior was experienced.

To ensure compatibility, an instance of SnapLogic’s Jackson ObjectMapper can be injected and then used to create a JSON-compatible version of your custom object:

@Inject
private ObjectMapper mapper;

Instead of:

outputViews.write(documentUtility.newDocument(edi835Message));

do this:

outputViews.write(documentUtility.newDocument(mapper.convertValue(edi835Messsage, Map.class));

This ensures that the Document written to the output view contains a Map, which the Mapper will then be able to introspect and display in its input schema.

ryagnik
New Contributor

Thank you for helping us out…

Thanks @dmiller and @robin for this! I was having a similar issue with some of my custom snaps.

@robin what do you import at the top? Right now I’m importing from: org.codehaus.jackson.map.ObjectMapper

Thanks!
Andrew