.net做的webservice_soap相关问题

mishixiaosenlin 2015-01-21 11:56:22
根据项目需求我用.net做了一个webservice服务,调用我服务的公司是用Java开发的.
现在有一个问题就是他们调用无参数的方法都是ok的,但是调用我有参数的就有问题了:
他们已经做好的服务识别我接口的时候,有参数的接口显示“无参数”,但是我接口确实定义了一个string类型的参数,然后他们跟我说他们指定了soap的版本,是1.1的,但是识别我的只有1.0和1.2的没有1.1。
我看了他们提供给我的好使WSDL的确比我多一个11,我就想问问各位大虾怎么添加soap的版本啊?是代码添加还是发布的时候配置以下啊?
下面是他们好使的WSDL:

这是我的WSDL:
...全文
617 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mishixiaosenlin 2015-02-13
  • 打赏
  • 举报
回复
mishixiaosenlin 2015-02-12
  • 打赏
  • 举报
回复
又沉了?
mishixiaosenlin 2015-02-05
  • 打赏
  • 举报
回复
引用 6 楼 BrightFireOfCy 的回复:
首先,2个wsdl以哪个为准? 一般WebService的开发流程是你先搞个Webservice,然后根据你建起来的webservice再建Client。 在你的情况里,个人认为,是java端的Client没按照你发布的Webservice来通信。 让他们照着你的wsdl来做client呗。 还有,一般而言,参数取不到和soap的版本没啥大关系,主要是和wsdl里面<wsdl:types>这块有关系。 你可以看看他们发给你的request里面的soap消息是不是和你预期的一致
他们已经写好了调用项目不能修改了,他们自己做了一个功能就是去我这边的方法名和参数名的功能,方法名能取过来,但是参数取不过来,这是什么情况,他们说他指定了soap版本必须是11才可以
BrightFireOfCy 2015-01-27
  • 打赏
  • 举报
回复
还有,.net默认设置做出来的webservice,soap1.0和1.1是一样的,1.1和1.2是有区别的 soap1.0和1.1的request大概是这样子的: HTTP Header ........ SOAPAction: "http://xxxx.com/dddd/cccccc" <?xml ......encoding="...."?> <soap:Envelop xmls:xsi="http://xxxx.com/dddd" ........xmlns:soap="http:......"> <soap:Body> <WebMethodName xmls="......"> <param1>abcd</param1> ....... </WebMethodName> </soap:Body> </soap:Envelop> Soap1.2的request大概是这样子的: HTTP Header ........ <?xml ......encoding="...."?> <soap12:Envelop xmlns:xsi="..." ............ xmlns:soap12="......"> <soap12:Body> <WebMethodName xmls="......"> <param1>abcd</param1> ....... </WebMethodName> </soap12:Body> </soap12
BrightFireOfCy 2015-01-27
  • 打赏
  • 举报
回复
首先,2个wsdl以哪个为准? 一般WebService的开发流程是你先搞个Webservice,然后根据你建起来的webservice再建Client。 在你的情况里,个人认为,是java端的Client没按照你发布的Webservice来通信。 让他们照着你的wsdl来做client呗。 还有,一般而言,参数取不到和soap的版本没啥大关系,主要是和wsdl里面<wsdl:types>这块有关系。 你可以看看他们发给你的request里面的soap消息是不是和你预期的一致
mishixiaosenlin 2015-01-27
  • 打赏
  • 举报
回复
不要沉啊,大侠加油啊
BrightFireOfCy 2015-01-27
  • 打赏
  • 举报
回复
估计java端发送给你的request是下面这样的 HTTP Header ........ SOAPAction: "http://xxxx.com/dddd/cccccc" <?xml ......encoding="...."?> <soap:Envelop xmls:xsi="http://xxxx.com/dddd" ........xmlns:soap="http:......"> <soap:Body> <WebMethodName xmls="......"> <arg0>abcd</arg0> ....... </WebMethodName> </soap:Body> </soap:Envelop> 有很多自动生成java客户端的工具都会把参数搞成arg0这样的东西
mishixiaosenlin 2015-01-23
  • 打赏
  • 举报
回复
mishixiaosenlin 2015-01-22
  • 打赏
  • 举报
回复
不可能沉了吧?各位大侠,会的告诉一下,只有这么多分了
mishixiaosenlin 2015-01-21
  • 打赏
  • 举报
回复
在线等,各位懂的大虾帮帮忙啊

12,162

社区成员

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

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