Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从C#类访问ColdFusion Web服务_C#_.net_Coldfusion - Fatal编程技术网

无法从C#类访问ColdFusion Web服务

无法从C#类访问ColdFusion Web服务,c#,.net,coldfusion,C#,.net,Coldfusion,我必须在我的项目中使用ColdFusion Web服务。我有 在我的项目中添加了服务引用,并已成功加载,但 在我的web应用程序中无法访问服务 我所做的就是假设我有一个urlhttp://www.server/service.cfc?wsdl-我添加了上述服务引用,并将服务引用名称命名为MyServiceReference 当我访问类文件中的MyServiceReference时,它是不可访问的。本周我在使用Coldfusion Web服务时遇到类似问题。要解决这个问题,我建议您可以: 1.使用

我必须在我的项目中使用ColdFusion Web服务。我有 在我的项目中添加了服务引用,并已成功加载,但 在我的web应用程序中无法访问服务

我所做的就是假设我有一个url
http://www.server/service.cfc?wsdl
-我添加了上述服务引用,并将服务引用名称命名为
MyServiceReference


当我访问类文件中的
MyServiceReference
时,它是不可访问的。

本周我在使用Coldfusion Web服务时遇到类似问题。要解决这个问题,我建议您可以:

1.使用旧的“添加Web引用”(如.NET 2.0)而不是“添加服务引用”来使用WS 在我的例子中,问题是webservice的方法是使用returnvoid生成的,它们没有参数,但是当我使用这种技术添加服务时,代理被正确生成。这对我有帮助

2.尝试使用Visual Studio Developer命令工具中的WSDL.exe查看服务描述是否存在错误 如果存在问题,您可能无法正确生成代理,您应该要求开发人员更正服务。
我提到的工具可以在“VS2012的开始菜单\Programs\Microsoft Visual Studio 2012\Visual Studio Tools\Developer命令提示符”(同样适用于VS2010)中找到。 在我的例子中,我看到了以下错误:

“此web引用不符合WS-I基本配置文件v1.1.R2706: 描述中的wsdl:binding必须对所有soapbind:body、soapbind:fault、soapbind:header和soapbind:headerfault元素中的use属性使用“literal”值


你想用什么技术来呼叫服务?您使用哪行代码调用您的服务?在浏览器中转到wsdl url时会发生什么?您的cfc中有什么代码?你需要在你的问题中提供更多的细节,否则你本质上是在问“一根绳子有多长?”斯蒂芬,谢谢你的关注。我正在使用ASP.net(c#)来调用此服务。我在帖子中提到,我将引用名称命名为“MyServiceReference”,因此,我在类文件中使用了相同的名称来访问服务。Net客户端不喜欢默认的ColdFusion WSDLs。您可能需要将cfcomponent标记的样式属性从rpc更改为document。您可能还需要编辑WSDL。从?WSDL url访问cfc并将其保存在某处。检查任何type=“any”属性并将其更改为type=“String”。然后使用cfcomponent的“wsdlfile”属性。如果您根本无法更改ColdFusion代码,那么您可以保存并调整wsdl,从本地wsdl生成类,然后将使用的端点更改为真正的ColdFusion one.added.net标记,以扩大访问范围@shanky正在使用.net访问cf webservice。shanky,您忽略了Stephen的大部分请求。张贴你正在使用的C代码;张贴您收到的确切错误消息;验证WSDL是否正确显示;这正是我的问题。第一点对我有效。添加服务引用将始终在代理中为我提供无参数方法。