Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
如何使WCF与此web服务对话?_Wcf_Web Services_Wsdl_Svcutil.exe - Fatal编程技术网

如何使WCF与此web服务对话?

如何使WCF与此web服务对话?,wcf,web-services,wsdl,svcutil.exe,Wcf,Web Services,Wsdl,Svcutil.exe,这是我们的后续行动 正如所建议的,我现在尝试为我的wsdl添加一个服务引用(而不是web引用)。以下是相关wsdl的url: 问题在于Visual Studio生成了一个空代码文件: //------------------------------------------------------------------------------ // <auto-generated> // This code was generated by a tool. // R

这是我们的后续行动

正如所建议的,我现在尝试为我的wsdl添加一个服务引用(而不是web引用)。以下是相关wsdl的url:

问题在于Visual Studio生成了一个空代码文件:

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.3603
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace test.ServiceReference1 {

}
//------------------------------------------------------------------------------
//)

我猜wsdl有问题,但我找不到确切的问题


由于这是一个已经被其他人使用的第三方服务,我认为他们不会愿意更改他们的服务,所以是否有任何解决办法让.NET与该web服务对话?

WSDL中有一个bug。
dduAbortRequest
消息的最后一部分在名称末尾有一个空格。那可能只是个bug。告诉他们,他们会解决的,他们会感谢你告诉他们

WSDL完全是无效的

<message name="dduAbortRequest">
    <part name="Ticket" type="xsd:string"/>
    <part name="ServiceId" type="xsd:string"/>
    <part name="LoginId" type="xsd:string"/>
    <part name="DocId " type="xsd:string"/> <!-- Should be "DocId" -->
</message>

免责声明:这可能不是对您问题的直接回答,但我只是浪费了3个小时试图修复相同的错误消息,所以我也想在这里发布


警告:未生成任何代码
错误消息也可能因缺少对
C:\Windows\Temp
目录(是的!)上的应用程序池用户的权限而触发

如果您遇到此错误,我首先建议您在尝试使用“添加服务引用”对话框时切换到命令行。在为服务URL打开Fiddler的情况下运行此命令

 svcutil.exe https://dev.example.com/ShoppingCartWS/WCF/ShoppingCartWCF.svc?wsdl
如果您看到任何请求返回为500(红色)和以下响应:

ReadResponse() failed: The server did not return a response for this request.                                                                            
然后检查
C:\Windows\Temp
,只需添加您的应用程序池正在运行的任何用户即可获得权限


.

奇怪。在该WSDL上表现完美。我的猜测是某个地方反对该标记?如果你仔细查看(查看源代码),带有额外空间的消息会显示该空间。该死,我一直在文件中查找类似的内容,但找不到,谢谢!消息“dduRollbackRequest”也存在一个问题。如果您直接用IE打开端点,您将不会看到这个问题。是的,确实,我保存了文件并删除了空格,现在svcutil可以很好地生成代码。我明天必须在工作中检查这是否能解决另一个问题(dduLogin方法==>)。我会通知你的;-)在我实现了自己的定制TextMessageEncoder(显然,服务的编码是ISO-8859-1)之后,我让它开始工作。仍然对我的另一个问题()的解决方案感兴趣。
ReadResponse() failed: The server did not return a response for this request.