WebService取不到数据

xxhkill 2018-10-23 11:03:57
客户端他们发送过来的数据是这样的:

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:http="http://schemas.xmlsoap.org/soap/http">
<soapenv:Header/>
<soapenv:Body>
<http:post>
<!--Optional:-->
<data>aaaaaaaaaaaaaaa</data>
</http:post>
</soapenv:Body>
</soapenv:Envelope>

我在服务端代码是这么些的:

[WebService(Namespace = "http://schemas.xmlsoap.org/soap/http")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class WebService : System.Web.Services.WebService
{

[WebMethod]
public String post(String data)
{
××××××
}
}


但是,我每次取到的 "data" 都是null

客户端的数据我改不了,我只能改服务端代码,不知道应该怎么写?
...全文
342 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxhkill 2018-10-25
  • 打赏
  • 举报
回复
引用 7 楼 sp1234 的回复:
应该说,你们作为服务端,当初选择技术选型出了问题。你们不知道不同平台对于 webservice 是不兼容的。 作为服务端,应该提供普通的 http post 服务。而什么 webservice/WCF 只是其次或者可以废弃。
你说的很对,但是,你看连客户端的代码我都不能要求他们改,你觉得我有权利做技术选型吗? 现实的业务场景有一定的特殊性 谢谢各位,我结贴了
  • 打赏
  • 举报
回复
一个普通的 http post 服务,那么调用它时在 http 消息体中只要是用 & 分隔的参数值列表编码,或者只是一个清晰的 json 文本。没有复杂的一大堆封装。没有什么 xml 命令空间之类的东西。没有技术门槛。用浏览器网页 js/jquery 也能简单编程访问。用 .net 的 ashx 非常简单地实现服务。
  • 打赏
  • 举报
回复
应该说,你们作为服务端,当初选择技术选型出了问题。你们不知道不同平台对于 webservice 是不兼容的。 作为服务端,应该提供普通的 http post 服务。而什么 webservice/WCF 只是其次或者可以废弃。
xxhkill 2018-10-24
  • 打赏
  • 举报
回复
昨天在晚上微软的网站上找了个办法,在头上加个特性: [SoapDocumentService(Use=SoapBindingUse.Encoded,ParameterStyle=SoapParameterStyle.Wrapped)] 我不知道这个的具体原理,但是问题好像真的解决了,今天继续做下测试
xxhkill 2018-10-24
  • 打赏
  • 举报
回复
引用 4 楼 starfd 的回复:
你是服务商,你居然让使用方牵着走?到底是先有服务还是先有客户?
呵呵,兄弟别激动,实际业务场景千差万别,这个我们不讨论。我们在这只讨论技术问题……
xxhkill 2018-10-23
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
看你的ws报文是什么样子的,然后跟客户发的对比下就知道了哪里有差异了 ws可以预览1.1和1.2分别是什么报文
ws报文和客户端的区别在这行: ws报文: <post xmlns="http://schemas.xmlsoap.org/soap/http"> <data>string</data> 客户端发送来的数据: <http:post> <data>string</data> 客户端的数据改不了,服务端的程序不知道怎么改,能教我一下吗?
  • 打赏
  • 举报
回复
看你的ws报文是什么样子的,然后跟客户发的对比下就知道了哪里有差异了 ws可以预览1.1和1.2分别是什么报文
  • 打赏
  • 举报
回复
你是服务商,你居然让使用方牵着走?到底是先有服务还是先有客户?
qq_3958 2018-10-23
  • 打赏
  • 举报
回复
config已经有如下?
<webServices>
<protocols>
<add name="HttpPost"/>
</protocols>
</webServices>

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧