当前位置:首页 > WEB开发 > Web Service

.net做的webservice_soap相关有关问题

优良自学吧提供.net做的webservice_soap相关有关问题,.net做的webservice_soap相关问题本帖最后由 mishixiaosenlin 于 2015-01-23 12:36:12 编辑 根据项目需求我用.net做了一个webservice服务,调用我服务的公司是用Java开发的

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

一般WebService的开发流程是你先搞个Webservice,然后根据你建起来的webservice再建Client。
在你的情况里,个人认为,是java端的Client没按照你发布的Webservice来通信。
让他们照着你的wsdl来做client呗。

还有,一般而言,参数取不到和soap的版本没啥大关系,主要是和wsdl里面<wsdl:types>这块有关系。

你可以看看他们发给你的request里面的soap消息是不是和你预期的一致
------解决思路----------------------
还有,.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

(本文来自互联网,不代表搜站(http://www.ylzx8.cn/)的观点和立场)
本站所有内容来自互联网,若本站收录的信息无意侵犯了贵司版权,请给我们来信(ylzx8cn@163.com),我们会及时处理和回复,谢谢