i have a businss process which generates an EDIFACT Document. It all works fine but when i want to send this edi file to TN (with wm.tn.receive) i get the following error message:
com.wm.app.tn.err.EXMLException: wm.tn.doc:recognize com.wm.app.tn.doc.BizDocTypeException An error occured during document processing. The service wm.b2b.editn:getICDetail failed [EDIFTN.000010.000208] (0) com.wm.util.BasisRuntimeException: [BAC.0001.0060] RuntimeException: cannot insert null key (1) com.wm.util.BasisRuntimeException: [BAC.0001.0060] RuntimeException: cannot insert null key com.wm.util.BasisRuntimeException: [BAC.0001.0060] RuntimeException: cannot insert null key com.wm.util.BasisRuntimeException: [BAC.0001.0060] RuntimeException: cannot insert null key com.wm.util.BasisException: [BAC.0001.0060] RuntimeException: cannot insert null key at com.wm.util.BasisRuntimeException.(BasisRuntimeException.java:46) at com.wm.util.data.MemData$Cursor.insertAfter(MemData.java:498) at com.wm.data.ValuesEmulator.put(ValuesEmulator.java:178) at wm.b2b.editn.EDIdata.ICheader(EDIdata.java:308) at wm.b2b.editn.EDIdata.buildEnvelope(EDIdata.java:168) at wm.b2b.editn.getICDetail(editn.java:344) at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:287) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:554) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:221) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:194) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39) at com.wm.app.b2b.server.AuditLogManager
when i do this with an standalone service (input edidata) it works fine.
i turned on input validation in the stand alone service and i got the following error message:
(this service only contains wm.tn.receive)
com.wm.lang.flow.FlowException: [ISC.0049.9005] Input validation for service ‘wm.tn:receive’ failed: ‘/node VV-005 [ISC.0082.9034] Field is absent, field must exist’
Which version of IS/TN/EDIModule you are working on?
you can use either of these services to route the EDI document to TN
(wm.tn.doc.xml:routeXML,wm.tn:receive)services.I prefer always routeXML service,since tn:receive is a gateway service but you can use this in the flow either.
For both the services Input will be the Node object.
If you have made the EDIFACT document string wrapped with (UNB,UNH,UNT,UNZ)segments
So convert the final edi string to Node using (XMLStringToNode or StringToDocument)this gives output Node and this will map to input of routeXML or tn:receive service and routes it to TN.
(So now you will get rid of the above thrown /node absent error.)
Before pushing the EDIFACT document to TN,make sure in the TN whether the particular EDIFACT documentType is installed and enabled.
Note:Please use the keyword search functionality provided in this site,since lot of threads been discussed on the procedure of routing the EDI file to TN.you will suprise after seeing the results
Hi
I got a small question for the WMUsers over here… !
Myself new to web methods… I have a small task to finish up…
I have a service to send mails … But now i need some thing to parse an incoming mail and get some information frm it … how do we do that ?
DO WE ALREADY HAVE SOMETHING WHICH DOES THAT ???
or do we need to create one ?
My Requirement is to parse the mail message and check for something like for EG: SUP_ID=0099112312
how do we do that ?
Configure an Email Port using the ISAdminConsole/Ports section and specify your global receiving service that will be receive the email and extract the content(Stream)body of the email.use the pub.flow:getTransportInfo service that will give you the enough information of the Email transport check this in the pipeline.
Once you have the content stream in the pipeline then convert it pub.io:StreamTobytes and bytesToString and further down do a logic of checking the SUP_ID exists or not and proceed further.
For more information about parsing of incoming mail look into the ISAdministrator guide that will explain in detail