October 13th, 2009
Perhaps you are going to have system integration with potentially large XML message via HTTP secure BizTalk adapter together with client certificate authentication. If your BizTalk server does as receiving point then you are mostly required to change an IIS parameter to handle large message. Otherwise you would experience following error at the client side:
- HTTP server code 413 reason Request Entity Too Large.
- HTTP client code 110 reason.
For detail information can be found in following URL: http://forums.asp.net/p/1330260/2685561.aspx#2685561.
- The parameter that need to set is uploadreadaheadsize , which is under IIScscript command line: adsutil.vbs set w3svc/[webside ID]/uploadreadaheadsize [Number].
The Microsoft technical information can be found in this: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/48900606-4881-4a93-a4c1-0e0ac622fee6.mspx?mfr=true
Pro and Cons
Despite of the security risk, BizTalk is transparent to goes with any client authentication. You might choose to go with basic or digest authentication, but sometime a policy is not allows reveal the user id and password to your partner system. Thus your options fall into client certificate authentication. One thing for sure, normally for BizTalk integration with HTTP receiving point enabled, the local IIS reside in DMZ together with BizTalk system and network firewall plays a part to secure the server. This is to weight the judgement for either pro or cons with client certificate authentication.
What is the right Size.
Based on my test, above parameter need to set at minimum size around 2 times bigger than the xml message size. However, always be remember that there are other consideration than just in the IIS. There are others component such MSDTC, BizTalk or Navision and with the adapters need your attention to see how much memory they need and is there any limitation or such configuration to adjust.
So far I have been successfully receive a message with size of half mega bytes from internet system until Navision end. As it is for test purposes the speed to complete the process not sluggish yet until volume transaction come to play. Hope this article give you benefit and wish you good luck.