今天做技术支持的时候,有个客户的整合出现一个很怪异的情况:
动网、动易、博客三方整合,其它所有的都很成功,唯独一点,就是在动易首页注销的时候就出现服务器无响应。
我直接访问/User/User_Logout.asp退出没有问题,那就是Ajax部分的问题了,于是我访问/User/User_Logout.asp?action=xml,结果发现返回的xml数据包是空的,没有必要的用户名和密钥等信息。
检查用户的/User/User_Logout.asp,发现和最新版本的文件一致。再检查用户的/JS/checklogin.js文件,除了显示风格的html代码部分有修改,其它的也和最新版本一致。这就奇怪了。
我让客户把动易的整合暂时禁用,再测试发现一切正常。肯定是/User/User_Logout.asp文件处理xml请求的部分出错了,但是文件本身没错,难道接口有问题?
我让他把动易的/API/API_Config.asp发给我,结果发现这个文件是旧版本的,他告诉我是4月22日下载的。换成SP3的文件(该文件是在SP2的时候更新的)后,问题解决。
SP2以前的API/API_Config.asp文件和SP2以后的文件比较如下:
旧文件
Dim arrAPIUrls
arrAPIUrls = Split(API_Urls,"|")
arrAPIUrls = Split(API_Urls,"|")
新文件
Dim arrAPIUrls, arrUrlsSP2
arrUrlsSP2 = "blank"
arrAPIUrls = Split(API_Urls,"|")
Dim tempIndex,tempAPIPath
For tempIndex = 0 To UBound(arrAPIUrls)
tempAPIPath = Split(arrAPIUrls(tempIndex),"@@")
arrUrlsSP2 = arrUrlsSP2 & "|" & tempAPIPath(1)
Next
arrUrlsSP2 = Replace(arrUrlsSP2,"blank|","")
arrUrlsSP2 = Split(arrUrlsSP2,"|")
arrUrlsSP2 = "blank"
arrAPIUrls = Split(API_Urls,"|")
Dim tempIndex,tempAPIPath
For tempIndex = 0 To UBound(arrAPIUrls)
tempAPIPath = Split(arrAPIUrls(tempIndex),"@@")
arrUrlsSP2 = arrUrlsSP2 & "|" & tempAPIPath(1)
Next
arrUrlsSP2 = Replace(arrUrlsSP2,"blank|","")
arrUrlsSP2 = Split(arrUrlsSP2,"|")
结论:用户在每次升级动易系统以后,不需要单独下载额外的整合接口(除非我在官方论坛单独发布补丁并说明什么情况下需要使用),因为动易的最新整合接口会包含在每次发布的新版本中。也就是动易不需要单独的整合接口文件。
作者:小李刀刀
原文链接:解决整合问题的一个特殊案例
裁纸刀下版权所有,允许非商业用途转载,转载时请原样转载并标明来源、作者,保留原文链接。
大哥,我把动网的注册选项作了修改,之后就可以在论坛上同步注册了,但从动网这边还是不能同步登陆和注销,没有什么错误提示,请问大哥这该怎么解决啊?多谢!
[quote=刻度网络]大哥,我按照你说的修改了动网conn.asp中的代码,动易这边都正常了,但动网那边不能同时登陆和注销,注册时出现如下错误:
您在"访问论坛"的时候发生错误,共有1项,下面是错误的详细信息
您提交的参数错误
请仔细阅读论坛帮助文件,确保您有相应的操作权限。
<< 返回上一页 麻烦大哥在帮帮忙[/quote] 用管理员身份登陆论坛,设置注册策略。不管要不要使用都要设置一下。
大哥,我按照你说的修改了动网conn.asp中的代码,动易这边都正常了,但动网那边不能同时登陆和注销,注册时出现如下错误:
您在"访问论坛"的时候发生错误,共有1项,下面是错误的详细信息
您提交的参数错误
请仔细阅读论坛帮助文件,确保您有相应的操作权限。
<< 返回上一页 麻烦大哥在帮帮忙
[quote=刻度网络]大哥,我猜想这次整合不成功可能是因为动易需要的xmlhttp端口被关闭了,因为从动网注册`登陆`注销都没有问题,只有在动易注册会出现错误,所以可能是端口问题,可惜我不懂端口知识,还请大哥指教[/quote]
这个错误提示是动网论坛运行时错误,不能正常返回xml数据包。还不好说跟整合有没有关系,不管有没有关系,解决这个问题肯定是要从动网下手。因为不是在动易这边出了问题。而是论坛的程序不能继续运行下去。
你打开你的 bbs/Conn.asp,改一下:
Const EnabledSession= True
改成:
Const EnabledSession= False
大哥,我猜想这次整合不成功可能是因为动易需要的xmlhttp端口被关闭了,因为从动网注册`登陆`注销都没有问题,只有在动易注册会出现错误,所以可能是端口问题,可惜我不懂端口知识,还请大哥指教
Const API_Enable = true
Const API_Key = "qingjianshuai"
Const API_Urls = "论坛@@http://www.kedu.net.cn/bbs/dv_dpo.asp"
Const API_Timeout = 10000
'以下请勿修改
Dim arrAPIUrls, arrUrlsSP2
arrUrlsSP2 = "blank"
arrAPIUrls = Split(API_Urls,"|")
Dim tempIndex,tempAPIPath
For tempIndex = 0 To UBound(arrAPIUrls)
tempAPIPath = Split(arrAPIUrls(tempIndex),"@@")
arrUrlsSP2 = arrUrlsSP2 & "|" & tempAPIPath(1)
Next
arrUrlsSP2 = Replace(arrUrlsSP2,"blank|","")
arrUrlsSP2 = Split(arrUrlsSP2,"|")
%>
我的动易API文件代码如下:
<% '****************************************************** '文件名: API_Config.asp '描 述: 动易系统DPO远程接口配置文件 '版 本: 动易2006正式版及更高版本适用 'Copyright 2006 PowerEasy Inc. All Rights Reserved. 'Code Writer: EricWu (小李刀刀) '****************************************************** '****************************************************** '通行接口开关:API_Enable = True(启用) 或者 False(禁用) '安 全 密 钥 :API_Key 用户自定义的字符串,整合系统中所 ' 有程序的密钥必须一致。 '远程系统配置:每个远程系统均包含两个部分,第一部分是该 ' 系统的名称,第二部分为接口文件的URL;名称 ' 和URL之间用"@@"分隔,多个远程系统之间用 ' "|"分隔。 '超 时 设 置 :超时时间用于远程请求,这里的超时时间只是 ' 一个基数,并非实际等待时间。默认设置为10 ' 秒,表示DNS解析和建立连接超时时间10秒、 ' 发送和接收数据超时时间为20秒。用户可以根 ' 据自己的情况设定。通常在同一服务器可以设 ' 置短一些,跨域名跨服务器设置长一些。 '****************************************************** 再请您继续看下条
大哥帮忙,我急,我用动易2006SP4(从SP3升级)和动网论坛7.1.0SP1(用过升级包)整合,出现这样问题,两边可以同时登陆,也能同时注销,在动网可以成功注册并在动易同时登陆,但在动易注册发生错误,下面是错误描述:(我的网址是:http://www.kedu.net.cn,bbs.kedu.net.cn,QQ:309467770)
由于以下的原因不能注册用户!
Dvbbs0
Microsoft VBScript 运行时错误 错误 '800a01a8'
缺少对象: 'UserSession'
/bbs/inc/Dv_ClsMain.asp,行 95
【返 回】
继续看下条评论
你的论坛和动易的地址是什么?
请问大哥,我整和动易2006SP4(是从SP3升级的)和动网7.1.0SP1(也是用过升级包的),但整合后出现不能同时登陆和注销的错误,没有什么提示,但可以同时注册,请问可能的原因是什么?我该如何解决?非常感谢!