2009-07-23 69 views
1

是否有工具可以查看发送给IIS服务器上托管的webservice的消息?我有一个用.Net编写的web服务,我们的ColdFusion人员在构建“复杂”参数时遇到了问题。使用.Net网络服务监视Coldfusion互操作性的最佳工具

adobe forum question

它运行从.NET客户端调用时:这个问题是从一个ColdFusion的角度上说明。虽然我们的局域网内的服务器上承载的,我把它拿出来在公共服务器上,因此WSDL可以看作: please take a quick look at this WSDL here

当CF开发商跑她的代码,她得到:

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

...我想知道是否有一个工具可以在承载我的web服务的服务器上运行,以查看它是否进入WS或被CF使用的Java代码拒绝并且是不是真的甚至到我的web服务。

回答

0

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

+0

谢谢。我只运行ASMX,因为我的webservice必须调用需要WSE 3.0的供应商的ASMX webservice。我非常确定,无论使用哪种Java代理,ColdFusion都会以某种方式看到不匹配,并且我的web服务代码甚至从未被击中。 – 2009-07-23 21:04:54

+0

WCF与WSE可以完成的几乎所有功能都兼容。少数例外之一是不支持DIME。对于其他任何事情,WCF应该“只是工作”。我希望你的供应商了解WSE的地位。 “过时”是它的礼貌用语。 – 2009-07-23 21:09:10

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大师

0

我不能看WSDL(和我意识到这个问题现在已经过去了几个月),但我会说我使用Coldfusion来使用类似的问题来使用.net webservices,它使用复杂的对象参数。我认为问题源于.NET和序列化对象之间的不兼容问题。

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

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

1

我知道这是一个较老的问题,但过去我已经处理了很多这些问题,所以我发布这个以防万一任何人仍在寻求帮助。

CF中包含2个很棒的工具,可以帮助您找出在针对Web服务进行开发时不起作用的问题。它们都在\ ColdFusionXXX \ runtime \ bin中。

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

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