我有一个 wsdl 和 xsd,然后我从 wsdl 生成了一个 SVC 客户端代理,wsdl 托管在 Internet 上某处的 Windows Server 2003(本地域外)上。XSD 也位于同一位置。我可以在网络浏览器中看到它们,那里没有问题。
然后我做了一个简单的控制台应用程序客户端,当我运行客户端时,我在提琴手中看到正确的肥皂响应存在但在控制台应用程序响应为空,即 SVC 客户端无法反序列化它。
我确信 xsd + wsdl 是正确的并且也有响应(我在提琴手中看到)。
当我将 wsdl 和 xsd 放在本地域服务器(内联网)上时,一切都很好,我看到应用程序中的响应正确反序列化。
如果我比较提琴手的两种情况,我看不出原始响应有什么不同。
还有几点:我没有在 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;
................
....
..
}
如果http://testserver.xxxxx指向本地服务器,一切正常,如果指向互联网服务器,则响应为空