I’m working on an AS2 project at the moment.
I specified the wm.EDIINT:receive service as the delivery method in both my profile and my partner’s profile.
In that case, wm.EDIINT:receive service should be called when there’s an incoming EDIINT/EDIINT MDN message.
However, it looks like this service wasn’t called at all.
I tried to put a debugLog in order to notify me if the service is called, but the message wasn’t printed at all.
That means the receive service wasn’t called at all. But even the wm.EDIINT:receive service wasn’t called, the TN could receive the message and invoked the corresponding service specified in the processing rules.
Is this the expected behavior? because so far, I understand that the service specified in the profile’s delivery method (i.e. wm.EDIINT:receive) will be called to submit the message to the TN when there’s an incoming message to that server.
Debbie,
Like RMG, am also little confused about your question. Is you partner also using webMethods? If yes then wm.EDIINT.receive() in partner profile is correct if not then ask the partner for the exact/correct service to send EDIINT. Btw, EDIINT MDN URL could be different than EDIINT delivery and is specified under Extended/EDIINT/AS1-AS2MDN-URL.
Secondaly, MDN’s are optional, it may be that the partner is not requesting an MDN for transmission and in that case there would be no MDN sent/received.
~tS
Tahira is absolutely right,so did you set Extended/EDIINT/AS1-AS2MDN-URL?and since MDN’s are optional did you request for MDN in the AS2 transmission from the partner?If so are they sending back to same URL.
Yes, both I and my partner requested for the MDNs.
When I received EDIINT MDN inbound, the MDN processing rule was kicked off but I couldn’t see the wm.EDIINT:receive service, which was specified in the partner’s profile delivery method, was invoked.
So in this case, it looks like there’s another service that submits the inbound MDN message to the TN.
I put a debug message in my wm.EDIINT:receive so that I should be able to see whether the receive service was called or not.
And from what I saw on the server logs, my debug message was not printed when I received the inbound MDN message.
I didn’t set the Extended/EDIINT/AS1-AS2MDN-URL. But what happens if I don’t set them?
Actually If you are requesting sync MDN then it will be returned using the same http connection as a response to TN.if async then TP will delivers the MDN to EDIINT:receive as a seperate transaction.But either ways inbound message should hit receive service.but i am still not sure y it is not happening in your case with out MDN URL being not in place.
Is the same thing happening when I use HTTPS protocol?
If I requested for a sync MDN and I didn’t define the AS2 MDN URL, will the inbound MDN be sent back using the same https connection?
Debbie,
you said
>>> I didn’t set the Extended/EDIINT/AS1-AS2MDN-URL.
>>> But what happens if don’t set them?
If you don’t set the MDN URL then regardless of MDN being requested sync/asynch, HTTP/S, you have not specified any service/URL for MDN to be processed and hence the wm.EDIINT.receive() will not be called for MDN’s processing.
Please add the MDN URL.
~tS
I have specified the wm.EDIINT:receive service in both my profile and my partner profile AS2 MDN URLs but the problem wasn’t solved yet.
The debug message I put in wm.EDIINT:receive wasn’t printed at all.
Do you know what I am missing here?
Debbie,
I still don’t quite understand the exact problem you are facing. Are you concerned that wm.EDIINT.receive is not being called or you are not able to receive/process MDN’s?
I am able to receive and process the MDN. However, when I received the MDN, the wm.EDIINT:receive wasn’t called.
Is this the behavior expected? Because when the inbound EDIINT message was received, the receive service was always called.
And from what RMG said on previous post:
“Actually If you are requesting sync MDN then it will be returned using the same http connection as a response to TN.if async then TP will delivers the MDN to EDIINT:receive as a seperate transaction.But either ways inbound message should hit receive service”
So, should the wm.EDIINT:receive service be hit when the inbound MDN is received or not?
Tahira says,
If you don’t set the MDN URL then regardless of MDN being requested sync/asynch, HTTP/S, you have not specified any service/URL for MDN to be processed and hence the wm.EDIINT.receive() will not be called for MDN’s processing.