监控Coldfusion与.Net Web服务互操作性的最佳工具

时间:2009-07-23 17:44:09

标签: .net xml web-services logging coldfusion

是否有工具可以查看发送到IIS服务器上托管的webservice的消息?我有一个用.Net编写的web服务,我们的ColdFusion人员在构建“复杂”参数时遇到了麻烦。从ColdFusion的角度描述了这个问题:

adobe forum question

从.net客户端调用时运行。托管在我们局域网内的服务器上时,我将其放在公共服务器上,以便查看WSDL: please take a quick look at this WSDL here

当CF开发人员运行她的代码时,她得到:

java.lang.IllegalArgumentException:参数类型不匹配

...我想知道是否有一个工具可以在托管我的webservice的服务器上运行,看看它是否进入了WS,或者被CF使用的Java代码拒绝了,甚至还没有得到到我的网络服务。

4 个答案:

答案 0 :(得分:1)

我知道这是一个较老的问题,但我过去曾经处理过很多这些问题,所以如果有人还在寻求帮助,我会张贴这个问题。

CF中包含两个很棒的工具,可以帮助您弄清楚在开发Web服务时哪些方法无效。它们都位于\ ColdFusionXXX \ runtime \ bin。

首先是“wsdl2java”。它接受一个wsdl并自动生成等价的java类。您可以打开它生成的源,以更好地了解Web服务所期望的结构。通常,java对象结构几乎可以从1对1转换为CF代码。

第二个工具是“嗅探器”。 Sniffer允许您设置本地代理。因此,您可以设置代理以侦听本地IP和端口,并转发到承载Web服务的服务器。然后,您只需使用本地IP和端口而不是远程IP服务器来调用Web服务。可以在嗅探器中查看请求和响应。

答案 1 :(得分:0)

如果您正在运行WCF,则可以启用跟踪。就目前而言,没有什么可以做的。

答案 2 :(得分:0)

我在Adobe论坛的帖子中注意到你有几行验证:

ws = CreateObject("webservice",  "http://64.8.203.115/fileservice.asmx");
ws.setUsername("ourdomain\someuser");
ws.setPassword("password");

您是否可以在没有身份验证的情况下尝试?

此外,您是否可以尝试使用CF8或CF9测试版?可能有AXIS升级可能有所帮助。

如果你还没有看到它,我还会指出你的博客文章:Passing an Array to a .NET Webservice - 马克克鲁格是一位绝对的CF大师

答案 3 :(得分:0)

我无法查看WSDL(并且我意识到这个问题现在已经有几个月了),但我会说使用Coldfusion来消耗使用复杂对象参数的.net webservices时遇到了类似的问题。我认为问题源于.net和Axis序列化对象之间的不兼容性。

我偶尔用来解决这类问题的一件事是用来使用web服务并手工构建请求,而不是使用CreateObject(“webservice”)功能。显然这是次优的,但它偶尔会有所帮助。

我很好奇你是否能够解决问题以及如何解决问题。