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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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 托管在远程服务器上的SVC客户端代理和WSDL_Wcf_Wsdl_Iis 6_Wcf Client_Svc - Fatal编程技术网

Wcf 托管在远程服务器上的SVC客户端代理和WSDL

Wcf 托管在远程服务器上的SVC客户端代理和WSDL,wcf,wsdl,iis-6,wcf-client,svc,Wcf,Wsdl,Iis 6,Wcf Client,Svc,我有一个wsdl和xsd,然后我从wsdl生成了一个SVC客户机代理,wsdl托管在windows server 2003上(本地域之外),在internet上的某个地方。XSD也位于同一位置。我可以在网络浏览器中看到它们,没有问题 然后我制作了一个简单的控制台应用程序客户端,当我运行客户端时,我在fiddler中看到正确的soap响应,但在控制台应用程序响应为null,即SVC客户端无法反序列化它 我确信xsd+wsdl是正确的,而且响应也是正确的(我在fiddler中看到) 当我将wsdl和

我有一个wsdl和xsd,然后我从wsdl生成了一个SVC客户机代理,wsdl托管在windows server 2003上(本地域之外),在internet上的某个地方。XSD也位于同一位置。我可以在网络浏览器中看到它们,没有问题

然后我制作了一个简单的控制台应用程序客户端,当我运行客户端时,我在fiddler中看到正确的soap响应,但在控制台应用程序响应为null,即SVC客户端无法反序列化它

我确信xsd+wsdl是正确的,而且响应也是正确的(我在fiddler中看到)

当我将wsdl和xsd放在本地域服务器(intranet)上时,一切都很好,我看到应用程序中的响应被正确地反序列化

如果我在fiddler中比较这两种情况,我看不到原始响应有任何差异

还有几点:我没有在IIS中托管WCF服务。我有一个远程运行的不同服务。如果我澄清了更多的事情,请告诉我

多谢各位

编辑/更新:已清理的帖子。问题似乎不是IIS6或IIS7,而是远程服务器在模式位置上造成了问题。在SVC代理客户端MessagContract命名空间中,若指向外部服务器,则问题会发生在运行正常的intranet服务器上

例如:

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
[System.ServiceModel.MessageContractAttribute(IsWrapped = false)]
public partial class responseTypeOfMethod1
{

[System.ServiceModel.MessageBodyMemberAttribute( Namespace = "http://testserver.xxxxx/yyyy.wsdl", Order = 0)]
public RAT_type RAT;
................
....
..

}

如果指向本地服务器,一切正常,如果指向internet服务器,响应为空

  • 未从远程服务器返回响应
  • 客户端无法反序列化响应
  • 使用wireshark或其他网络嗅探器查看返回时的响应


    如果问题是由于无法反序列化造成的,则可能是命名空间中存在差异。

    问题已解决。当然,这是名称空间问题,我们花了很长时间才找到服务器代码中的一个令人讨厌的地方,这是我们内部使用的工具。感谢所有回复您时间的人。

    感谢设拉子的回复,我检查了fiddler中的回复,SVC日志中也有回复,这是正确的回复。这是一个反序列化问题,但仅当wsdl在本地域之外打开时。架构位置在删除服务器上时出现问题。当我将名称空间指向本地服务器时,一切正常。我正在清理手术室。有人见过这样的小故障吗?我没有ideas.namspace url,本地服务器工作,外部服务器不工作。你能试着生成一个代理并在客户端使用它,看看反序列化是否可以正常工作吗。确保删除已添加的服务引用。