【问题标题】:Access wrapped request web method from web service in asp.net从 asp.net 中的 Web 服务访问包装的请求 Web 方法
【发布时间】:2011-07-04 08:54:44
【问题描述】:

我有一个采用多个参数的 Web 服务方法。 因此设置了 BodyStyle = WebMessageBodyStyle.Wrapped。 我想从 Web 服务客户端访问此方法,因此我确实将服务方法的 url 添加到 Reference->Add Services 并收到以下错误。

“下载‘http://localhost:8080/Api/StoreI’时出错。

请求失败,HTTP 状态为 405:方法不允许。

元数据包含无法解析的引用:'http://localhost:8080/Api/StoreI'。

响应消息的内容类型application/json与绑定的内容类型(application/soap+xml;charset=utf-8)不匹配。

如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法。

响应的前 323 个字节是:'{"ErrorCode":110,"ErrorDetails":null,"Message":"传入的消息具有意外的消息格式 'Raw'。操作的预期消息格式是'Xml','Json'。

这可能是因为尚未在绑定上配置 WebContentTypeMapper。有关详细信息,请参阅 WebContentTypeMapper 的文档。"}'。

远程服务器返回错误:(500) 内部服务器错误。 如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。"

我应该怎么做才能解决这个错误? 从客户端访问安全 Web 服务的步骤是什么? 我是 Web 服务的新手。 将不胜感激。 谢谢。

【问题讨论】:

    标签: asp.net xml web-services json


    【解决方案1】:

    我不是专家,但要改变 BodyStyle = WebMessageBodyStyle.Wrapped 到 BodyStyle = WebMessageBodyStyle.Bare

    操作描述上wrapped的使用并没有给消息体增加一层安全性。它只是将请求(或响应)包装在 XML 元素中

    【讨论】:

    • 但是对于采用多个参数的 Web 服务方法,应该将 BodyStyle 提及为已包装,否则服务会出错。
    猜你喜欢
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多