iis5.1下练习Biztalk 2006 http adapter的500错误解决

折腾了近两天,这个500的问题终于解决了,我都快崩溃了,我的笔记本是xp sp2,vs2005 vsts,sql2005 dev,biztalk en r2 eval版,作了Adapter Useages的HTTPRequestResponse个例子,在http://localhost/RequestResponse/default.aspx中点击提交按钮,正常的应该是调用http adapter返回response 可是却报500的错误,网上关于这个问题的帖子很多,但是解决方案就是那么几种,转过来转过去的,没有什么帮助,并且大都是window 2003 iis6的解决,我在window 2003 iis6下测试没有问题。下面我把我的解决思路整理一下,问题到最后解决很简单,就那么一下子,但是我却走了不少弯路,希望以后碰到问题的时候能够尽快地定位到错误点。
1. 500 错误按照微软msdn的说法,是用户的权限不够,需要用户有能够访问Biztalk biztalkMgmtDb的权限,可我把IUSER_***和IWAM_***加入Biztalk Isolated User组,仍然有问题,后来我甚至把包括administrators,biztalk server administrators,sso administrators等重要组都加了进来,还是失败。
2.由于我在浏览器执行http://localhost/HttpReceive1/BTSHTTPReceive.dll也报500错误,而且在windows 2003 iis6安装了biztalk 2006后有btshttprecieve.dll这个isapi这个扩展,我的注意力又转移到btshttprecieve.dll的加载上,我怀疑是不是iis5.1没有加载btshttprecieve isapi 扩展(我对isapi一窍不通,所以只是猜测,最后证明和这个也没关系)我试着在iis 5.1的filter里面加入btshttprecieve.dll,但是总是加载不进来,状态总是红色箭头,由于我对Isapi只有简单的了解,导致我花了很长的时间在研究怎样把它变成红色的箭头,当然无功而返。直到后来我发现window 2003 iis6能够正确执行该例子而http://localhost/HttpReceive1/BTSHTTPReceive.dll也报500错误,我才发现好像问题不是这里。
3. 后来看到msdn的配置http receive location的做法How to Configure IIS for an HTTP Receive Location,把其中虚拟目录中用到的应用程序两种保护级别:高和中的相应步骤配置了好几遍,仍然不行,只是我找不到msdn提到的配置Access Permission为Read和Execute的这一步(原因是因为我这里没有重建虚拟目录,而是使用执行HTTPRequestResponse Samples中的setup.bat默认创建的HttpRequestResponseSample的虚拟目录,每次都是修改这个目录的配置),期间有一次删除了这个目录,发现了上面提到的那一步,可是我又重建了一个同名的HttpRequestResponseSample目录,问题依旧。
4.  最后当我删掉HttpRequestResponseSample,重建了一个HttpReceive1的虚拟目录,问题却解决了。
总结了一下
1.用户必须有Biztalk Isolated User组权限
2.虚拟目录中用到的应用程序两种保护级别:高和中的相应配置在开发阶段影响不是太大,都可以
3.怀疑setup.bat建立的虚拟目录由于权限的问题并不正确,只是不知为什么删掉重建同名的虚拟目录还是不行,难道是缓存?
4.不要担心浏览器执行http://localhost/HttpReceive1/BTSHTTPReceive.dll报的500错误,
5.搞biztalk还是用window2003比较好,网上的牛人好像都是用03,出了问题可以向他们咨询。
P.S. 今天是我生日,真的是lucky day阿,吼吼。

posted @ 2008-04-16 16:25 BAsil 阅读(1361) 评论(7)  编辑 收藏 网摘 所属分类: BizTalk

  回复  引用  查看    
#1楼2008-04-16 17:17 | 狼Robot      
顶一个,祝楼主happy birthday.
  回复  引用    
#2楼2008-04-16 19:37 | 苏州婚纱[未注册用户]
收藏了.谢谢楼主
  回复  引用  查看    
#3楼[楼主]2008-04-17 09:00 | BAsil      
谢谢各位了!
  回复  引用    
#4楼2008-04-17 10:04 | 盛夏里的严冬[未注册用户]
首先祝楼主生日快乐。
介于你说解决http500错误 我的解决方案很简单。我感觉你解决地方法跟我有很大不同。
1.500错误的由来 是因为服务器执行应用程序出现的错误被归纳为500错误,解决的第一步应该是:调整浏览器的友好http错误显示。操作步骤是ie》工具》internet选项》高级》在偏下的地方可以找到显示友好http错的勾选,去掉勾。

2.这样就你就能看到完整的错误信息了,然后根据错误信息进行调试iis或者程序。

  回复  引用  查看    
#5楼[楼主]2008-04-17 11:22 | BAsil      
@盛夏里的严冬
奇怪,我按照你说的方法试了一下,浏览器没有给出任何错误信息,是一个空白页,但是勾选显示友好http错误信息,仍然会报500错误,怎么回事?

  回复  引用    
#6楼2008-04-18 13:13 | 盛夏里的严冬[未注册用户]
不会吧 有的时候也有这种情况,可能是标签被镶套了。

你在IE上面右键查看源代码。有可能在最后一行看到错误代码。但是这种不是很常见。

  回复  引用  查看    
#7楼[楼主]2008-04-18 15:45 | BAsil      
@盛夏里的严冬
赫赫,是这样啊,真是谢谢你了,又学了一招。




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1156423




相关文章:

相关链接: