Hi,
The issue is about AS2.
I am facing a strange issue with wm.EDIINT:receive service, where the test is carried out using the WmEDI submit test EDI data web page. Is this the right way of posting EDI data to wm.EDIINT:receive ? The service is invoked but does not have the “protocol” value as “http”, and other parameters such as, content type, message id and AS2 from and AS2 to variables do not have any values in them. Due to this the service is unable to submit the EDI document to the Trading Networks.
This is a simple test I have performed without using any certificates. Any help is much appreciated?
Basic question, for AS2 solution, what is the partner profile external id vaules should be, I have configured only EDIINT AS2 alone at the moment for both partner and Enterprise.
Thanks in advance !
NK
Try using the pub.client:http service and there you can set loadAs (stream) and map stream object and also set headers/args Content-Type:application/edi-x12 …
I dont think this will also work…because it needs AS2 identifiers along with payload…
If not try creating a custom service which has EDIINT:send set the required inputs and route it from another IS to target IS…
HTH,
RMG
If possible, try to run the wm.EDIINT:send from another server to do a http post to wm.EDIINT:receive on your server.
Also to answer your question, a profile cannot be created with just the EDIINT AS2 id, it should be associated with an DUNS id which will act as a username for that partner on the IS. When you send an AS2 message using the EDIINT:send service, the service automatically adds the EDIINT header section which includes AS2 To: AS2 From: Content-Type: Content-Disposition Message ID:
All these fields are required for AS2 processing. TN recognises the sender/reciever based on the above values. So in the input file if you are not specifying the headers please do that, else TN cannot recognise sender.receiver
Regards,
Pradeep
Hi RMG/Pradeep
Thanks for the responses. I am on the right tract now.
One specific question. I am currently using TRADACOMS, so what should be the content-type application/edi-tradacoms??
Thanks
NK
Thanks Pradeep.
I have tried to send the edidata as a string, but does not work. The Send service expects the java.io.InputStream in the stream field. Is there any built-in service which converts the string variable to the java.io.InputStream ? Should I have to write a java service to convert and map it to the stream field?
Thanks again.
NK.
You could use these 2 public services:
pub.string:stringToBytes
pub.io:bytesToStream
Also yes content-type:application/edi-tradacoms for TRADACOMS should work…
HTH
RMG
Thanks RMG.
I made a progress on this. I am able to send the edi data to EDIINT module, but it throws a DeliveryException as below,
Task m1ijis003f0vju2b000000ar failed with no more retries available. Reason for failure - Error invoking service EDIINT SimpleDelivery - message: com.wm.app.tn.delivery.DeliveryException: Unable to create service data for partner m1ijis00372cs6k00000002q - Receiver of document cannot be self
- stacktrace: com.wm.app.tn.delivery.DeliveryException: Unable to create service data for partner m1ijis00372cs6k00000002q - Receiver of document cannot be self
at com.wm.app.tn.delivery.DeliveryUtils.invokeService(DeliveryUtils.java:502)
at com.wm.app.tn.delivery.GuaranteedJob.invoke(GuaranteedJob.java:222)
at com.wm.app.tn.delivery.JobMgr$JobExecutor.run(JobMgr.java:1194)
at com.wm.util.pool.PooledThread.run(PooledThread.java:118)
at java.lang.Thread.run(Thread.java:595)
Is this a known issue? Is this because I have defined the following external IDs with the same numbers?
DUNS = 1234
EDIINT AS2 = 1234
Tradacomscode = 1234
Thanks
NK
The error indicates the sender and receiver has the same AS2 id’s or you are using sender and receiver as the same.
Regards,
Pradeep
Try changing with diff DUNS of sender/receiver and re-test it.DUNS should be unique wrt partners…
HTH,
RMG