跨应用程序调用WebService发生错误的解决办法之一
简要说明一下状况:有两个应用程序A和B,其中A中有几个WebService,而B则调用了A的WebService,以前都是部署在机器C上,现在要转移到机器D上面来,将两个应用程序部署到机器D上后,A运行正常,B在没有调用A的WebService的情况下也一切正常,但是当调用A的WebService时,就发生了以下的错误了,请看下列错误信息 ===================================================================================== The request failed with the error message: --. Exception Details: System.Net.WebException: The request failed with the error message: --. Source Error: Line 334:??????? TransactionDetails.Transactions tt = new TransactionDetails.Transactions();
===================================================================================== 左思右想,用了N中方法了,可就是没有解决。 1、怀疑是权限不够,将IIS用户的权限放大到管理员的权限,但是只能在D服务器上正常调用WebService,到了其它机器上就不行了。 2、以为是程序A在D机器上的配置不对,于是将程序A切换到C机器上,但是仍然出现以上的的问题。 3、在A应用程序的web.config里修改身份验证配置,但是依然出现上述问题。 4、网上也有说是两个应用程序所在的机器系统时间不同步,于是我也改成了同步时间了,但是依然出现上述问题。 ? 唉,两天时间在网上找了很多资料,国内程序员貌似很少遇到这个问题,在国外的网站上到是看到了不少类似的帖子,但是大部分是求救的帖子,即使少数网站有解决方法的在我这里也无效。 昨晚上躺在床上想了一晚上,想到了一个办法:将所有WebService调用全部写成从域名来调用(因为系统里都是直接通过localhost来调用WebService的,那么在两台机器上B调用A这样子出问题是在所难免的,但是当时因为将两个应用程序全部移植到D机器上都有错误发生,所以没有意识到这个问题。) 哈哈,今天一大早来到公司,打开电脑就直接按照昨晚想的去做,果然,困扰了两天的问题解决了。 哈哈哈 忙了两天啊,这两天我是茶不思、饭不想,可终于把问题解决了。虽然这种方法不可能解决所有类似的问题,但是至少可以给众位同行们一个参考意见了。如果有帮到某些同行,可一定要记得来回帖哦!!!!!! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |