none
Inbound MDN - requires a seperate IIS virtual directory? RRS feed

  • Question

  • When I try to use the same receive location that's being used for inbound AS2 messsage (in my case "/AS2/BTSHTTPReceive.dll") I get the following error:

     

    Address should be unique for Receive Location 'recvMDN_Location'.  Address '/AS2/BTSHTTPReceive.dll' is already present for Receive Location 'recvAS2_Location'.

     

    Why can you not receive any AS2 related message (including MDNs) on this same location? Just wondering...

     

    Thanks!

    Thursday, December 13, 2007 9:17 PM

Answers

  • You don't need to create any extra artifacts to receive messages or MDN's. Just make sure that your message is routed to the same URL where your AS2 Receive location is.

     

    Also, you cannot have 2 different receive locations with same URI because BizTalk will not know which one to use to process a message.

     

    Thank you,

    Yury

    Friday, December 14, 2007 12:55 AM
  • Yes, adding a parameter to URL will do the job.

     

    You don't even need to have 2 virtual directories to process MDN's and messages. You can use the same virtual directory and same receive location to process both messages and MDN's.

     

    So, for example you created receive location with http://myuri1. You now can receive AS2 messages on this location(http://myuri1), as well as MDN's. By routing I meant, that if your request asynchronous MDN, then you need to specify receipt-deivery-option header value to be equal to http://myuri1.

     

    Thank you,

    Yury

    Saturday, December 15, 2007 2:54 AM

All replies

  • You don't need to create any extra artifacts to receive messages or MDN's. Just make sure that your message is routed to the same URL where your AS2 Receive location is.

     

    Also, you cannot have 2 different receive locations with same URI because BizTalk will not know which one to use to process a message.

     

    Thank you,

    Yury

    Friday, December 14, 2007 12:55 AM
  • So... to clarify...

     

    Can you create a seperate virtual directory in IIS that points to the same local path - let's say for instance "C:\Program Files\Microsoft BizTalk Server 2006\HttpReceive" ?

     

    I am doing that, so I would suppose the answer is "Yes".  That's the confusion behind why I must create a new virtual directory versus using the same one (which, technically is what's being done anyway).  If this simply is because BizTalk will not understand where a message is coming from... then OK. 

     

    I wonder if you can just put something behind the .dll extention to make it "look" different to BizTalk - like this:

     

    /AS2/BTSHTTPReceive.dll?inbound=as2

     

    /AS2/BTSHTTPReceive.dll?inbound=mdn

     

    For now, I've just created two virtual directories ("AS2" and "MDN") that point to the BizTalk HttpReceive folder (see above).

     

    By  the way... I was not asking anything about creating extra "artifacts".  So, I'm not sure why you (Yury) replied that way.  Also, the receive location's URI is the location where the inbound AS2 messages will come in through, so again... I don't understand your reply or the point of it.  Route to where?

    Friday, December 14, 2007 8:01 PM
  • Yes, adding a parameter to URL will do the job.

     

    You don't even need to have 2 virtual directories to process MDN's and messages. You can use the same virtual directory and same receive location to process both messages and MDN's.

     

    So, for example you created receive location with http://myuri1. You now can receive AS2 messages on this location(http://myuri1), as well as MDN's. By routing I meant, that if your request asynchronous MDN, then you need to specify receipt-deivery-option header value to be equal to http://myuri1.

     

    Thank you,

    Yury

    Saturday, December 15, 2007 2:54 AM