肥皂 – CF Web Service严重间歇性错误

肥皂 – CF Web Service严重间歇性错误,第1张

概述我们编写和维护的基于CF Web服务的API具有令人难以置信的令人沮丧的局面.我们有一个API已经存在了多年,稳定和工作愉快与 Ruby, PHP和ColdFusion客户端.然后,今年一个.NET客户端来了,我们发现,由于我们广泛使用结构体,我们的Web服务不能与静态类型的语言互 *** 作. 我们最终意识到我们必须重新编写没有结构体的API,我们已经这样做了.它现在使用缩放器值,数组和CFC(它们被转 我们编写和维护的基于CF Web服务的API具有令人难以置信的令人沮丧的局面.我们有一个API已经存在了多年,稳定和工作愉快与 Ruby,PHP和ColdFusion客户端.然后,今年一个.NET客户端来了,我们发现,由于我们广泛使用结构体,我们的Web服务不能与静态类型的语言互 *** 作.

我们最终意识到我们必须重新编写没有结构体的API,我们已经这样做了.它现在使用缩放器值,数组和CFC(它们被转换为SOAP complexTypes). .NET客户端很高兴,我们以约6种不同的语言编写了概念验证客户端,以确保我们可以互 *** 作.

令我们非常失望的是,我们的ColdFusion 7服务器似乎无法可靠地提供新的API.重新启动后,它工作大约一天左右,然后客户端就会收到以下错误

错误:coldfusion.xml.rpc.CFCInvocationException
[java.lang.classNotFoundException:tafkan.remote_API.pfAPI.v.trunk.rsp_pf_survey_status_array]

java.lang.NoClassDefFoundError:tafkan / remote_API / pfAPI / v / trunk / pf_unit

重新启动CF实例是使问题消失的唯一方法.大量的时间和金钱被重建了API,所以每个人都真的在这个机智上结束了.

我们注意到,我们的CF实例的WEB-INF / cfc-skeleton目录最终似乎拥有API使用的每个CFC的两个副本.例如:

-rw-r--r--  Feb 17 09:15 remote_API.pfAPI.v.trunk.pf_datum.class-rw-r--r--  Feb  3 12:20 tafkan.remote_API.pfAPI.v.trunk.pf_datum.class

似乎错误来自命名空间或类搜索路径问题,所以我们尝试将所有CFC引用切换为完全限定(从映射开始的点符号),而不是仅仅对当前目录中的CFC的简单引用.这似乎是有希望的,但问题在24小时内回来了.

环境:

> ColdFusion 7,2,142559 with hf702-70523,2-instance cluster
> Sun Java 1.4.2_13
> Apache 2.0.52
> Centos 4.5 32位

也许升级这些可贵的软件之一将有所帮助?也许只是升级AXIS?

Adobe支持似乎不是一个选择,因为CF7已经被Eol’E和延长的支持(仅仅几天).

更新:

感谢所有参加此次讨论的人!这是一个关于现在的事情的更新.

这项服务今天刚刚被淘汰.其中一个集群实例仍然能够生成WSDL,而另一个实例则说:

AXIS errorSorry,something seems to have gone wrong... here are the details:Exception - java.lang.NoClassDefFoundError: tafkan/remote_API/pfAPI/v/trunk/rsp_pf_numeric_array

两个cfc-skeleton目录都包含一个名为tafkan.remote_API.pfAPI.v.trunk.rsp_pf_numeric_array.class的文件,并没有包含我们有时看到的其他命名的文件(remote_API.pfAPI.v.trunk.rsp_pf_numeric_array).类).自从服务器昨天开始以来,cfc-skeleton中的文件似乎没有被修改.

两个实例的正常运行时间约为21.5小时.我没有JIT(-Xint)运行.

我现在重新启动了两个实例.他们现在正在Sun Java 1.4.2_19(而不是_13)上运行,并且JIT已被重新启用,因为它显然不会导致此错误,如果没有它,速度会更慢.我也清除了“保存类文件”复选框.

现在我们再等一下

更新2
问题依然存在我不知道还有什么要尝试的.精氨酸!

FYI,这是交叉发布在http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:60922

解决方法 我读过这个线程,和CFTalk线程.关于解决方法的初步想法似乎已经由Mark Kruger和Dave Watts建议.我唯一的其他解决方案的想法是抓住错误,并使用服务工厂方法刷新Webservice存根. (在CF8-9中有一个admin API方法来执行此 *** 作,不清楚CF7).

研究错误我缩小了与以下可能的匹配:

http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:144821
这是一场比赛,但尚未解决

http://blog.coldfusionpowered.com/?p=28
这是一个非常相似的错误,通过“确定案件问题”解决所有氟氯化碳和调用.

ColdFusion Google Adwords Business Component Error
通过重写代码和删除cfcomments来解决(我怀疑其他因素实际上负责在这里解决)

http://forums.crystaltech.com/index.php?topic=22364.0
我们现在越来越近了决议涉及错误地有两个文件根源

http://qaix.com/coldfusion/313-410-web-service-on-cfmx-6-1-jrun-suddenly-not-working-read.shtml错误信息的精确匹配.将CFC映射到doc根的完全匹配.决议只有1个映射指向docroot,只是“/”.这可能是解决方案.在MX 6 / 6.1和7中,对于指向docroot的“/”有一个默认映射.如果有另一个映射指向docroot,那么我可以看到这个问题可能会如何出现.检查物理路径的映射,并在此处尝试解决方案,仅使用“/”映射.

总结

以上是内存溢出为你收集整理的肥皂 – CF Web Service严重间歇性错误全部内容,希望文章能够帮你解决肥皂 – CF Web Service严重间歇性错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1094078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存