我的应用程序正在访问托管在服务器上的 WCF 服务。当我尝试使用 [WebInvoke] 属性调用方法时,返回的响应始终是“错误”。具有 [WebGet] 属性的所有其他方法都可以正常工作。
reference.cs 中的接口是
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(ConfigurationName="SyncService.IService")]
public interface IService
{
[WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest)]
[System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="")]
[System.ServiceModel.FaultContractAttribute(typeof(DataSynchronization.SyncService.WebExceptionDetail), Action="Update", Name="WebExceptionDetail", Namespace="http://schemas.datacontract.org/xxx.WebServices")]
string Update(string mode, string data);
}
每当我尝试使用代码调用服务的更新方法时
string response = objClient.Update("manual", string data);
获得的响应是“错误”。日志显示
错误-“System.Xml.Schema.XmlSchemaValidationException:元素'providers'不能包含文本。预期的可能元素列表:'provider'”。在调用更新
该服务托管在我也无法调试的远程服务器中。