zoukankan      html  css  js  c++  java
  • c#与java webservice调用问题

    问题描述一:

    c#调用java写的websrevice,对方接收到的参数与实际传的值不一致,返回的时候值也获取不到,为null。

    该参数为普通的string类型,因此不存在类型转换的问题。

    处理:

    使用fiddler抓包分析,发现发送和接收的数据都正常,因此定位为参数及返回值解析的问题。

    我们来看看c#自动生成的代理类,每个方法上面都设置了哪些属性:

    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:TestMethod", RequestNamespace="http://MbmsService.com/", ResponseNamespace="http://test.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
    [return: System.Xml.Serialization.XmlElementAttribute("return", IsNullable=true)]

    注意 SoapBindingUse.Literal 及 SoapParameterStyle.Wrapped。

    改为 SoapBindingUse.Encoded 及 SoapParameterStyle.Bare即可。

  • 相关阅读:
    Python的递归深度问题
    Python之多进程
    Python之多线程
    Git的基本操作
    ref与out区别
    Numpy基本操作
    面向对象中有哪些双下线方法及应用场景
    上下文管理
    Local与LocalStack
    基于列表实现栈
  • 原文地址:https://www.cnblogs.com/zjxbetter/p/5542034.html
Copyright © 2011-2022 走看看