当我只想要字符串

|时,WCF反序列化试图将xml参数转换为对象。 我正在编写WCF服务存根以“模仿”现有的现有VB6服务。存根需要接受一个参数,它是一个字符串,执行一些逻辑并返回一个字符串。 服务合同上给出以下方法给我解决的问题
[OperationContract]
[WebInvoke(Method = \"POST\",
    UriTemplate = \"lookup\")]
string LookupItem(string requestXml);
当我在提琴手中发布消息时出现错误   服务器遇到错误   处理请求。例外   消息是\'无法反序列化XML   根名称为\'XmlRoot \'的主体,以及   根名称空间\'\'(用于操作   \'LookupItem \'和合同   (\'IServiceStub \',   \'http://tempuri.org/ \'))使用   DataContractSerializer。确保这件事   XML对应的类型是   添加到的已知类型集合   服务。\'。 即使我不希望WCF尝试将XML反序列化为对象?字符串以text / xml格式发送,因为它模仿的服务必须以text / xml格式接收POST。有什么我想念的吗?     
已邀请:
通过以下方法克服了这个问题:
public Stream LookupItem(Message requestXml)
    {
        WebOperationContext.Current.OutgoingResponse.ContentType = \"text/xml\";
        string responseXml = \"<whatever />\";
        return new MemoryStream(Encoding.UTF8.GetBytes(responseXml ));
    }
    

要回复问题请先登录注册