服务端是jdk1.6自带的webservice的功能发布的
客户端是xfire生成的现在客户端调用服务端可以调用,但服务端接收到参数为null,不报错抓取报文如下
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><ns1:queryCsdn xmlns:ns1="http://ws.csdn.common.um.com/"><ns1:arg0>0000000001</ns1:arg0><ns1:arg1>1111111</ns1:arg1><ns1:arg2 xsi:nil="true" /><ns1:arg3 xsi:nil="true" /><ns1:arg4>13888888888</ns1:arg4><ns1:arg5 xsi:nil="true" /><ns1:arg6 xsi:nil="true" /><ns1:arg7 xsi:nil="true" /></ns1:queryCsdn></soap:Body></soap:Envelope>以下是1.6生成的客户端调用报文
<?xml version="1.0" ?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://ws.csdn.common.um.com/"><soapenv:Body><ns1:queryCsdn><arg0>0000000001</arg0><arg1>111111</arg1><arg4>13888888888</arg4></ns1:queryCsdn></soapenv:Body></soapenv:Envelope><ns1:arg0>, <arg0>这是他们不同的地方
有人知道怎么解决吗,1000分另开帖送

解决方案 »

  1.   

    CSDN调用Webservcie出问题了...服务端用什么生成的webservice?建议用生成服务端的技术生成客户端。因为不保证俩种webservice技术中间会出现不兼容的问题。还有问题现在可以定位到是在参数在网络传输种产生的问题,检查一下网络的环境,是不是设置了一些代理、IP 、 端口限制之类的问题。
      

  2.   

    用xfire生成的客户端访问服务是正常的吧?
    jdk1.6的客户端访问不是正常的吧?
      

  3.   

    服务端是jdk1.6自带的webservice的功能发布的
    客户端是xfire生成的,客户端是jdk1.5的,不能升级为1.6
    跟网络无关
      

  4.   

    xfire生成的客户端访问服务是不正常,参数在服务端无法接收
    jdk1.6的客户端访问是正常的
      

  5.   

    jdk1.6客户端跟服务端在一块吗?
    还有你说"现在客户端调用服务端可以调用,但服务端接收到参数为null"
    也就是能接收到客户端请求,但是只是参数为空,
    而刚才你又说“xfire生成的客户端访问服务是不正常,参数在服务端无法接收”
    这里是不是参数也为空的意思?
      

  6.   


    jdk1.6的客户端跟服务端是两台机器,调用正常xfire的客户端跟服务端是两台机器,服务端接收到参数为null这样说明白吗
      

  7.   

    jdk1.6的数据绑定应该是jaxb,
    不知道xfile的数据绑定是哪种?
      

  8.   

    @SOAPBinding(use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
    你说的帮定是这个玩意吗?
      

  9.   

    这是SOAP绑定,
    数据绑定是XML和对象转化
      

  10.   

    也是jaxb绑定的
    @XmlAccessorType(XmlAccessType.FIELD)
    JAXB 绑定类中的每个非静态、非瞬态字段将会自动绑定到 XML,除非由 XmlTransient 注释。 只在用一些 JAXB 注释来显式注释字段时,getter/setter 对才绑定到 XML。 
      

  11.   

    可以尝试其他的调用客户端,试验可不可以嘛。
    使用 CXF 或者 AXIS2之类的。
    这样来缩小范围。
      

  12.   

    jdk 1.6的客户端生成消息跟Xfile生成的消息参数个数不一样。
    能否提供wsdl?
      

  13.   

    用Xfire从WSDL 生成 Java可能有点问题。
    请问到底有几个参数呢?
      

  14.   

    我只传了三个参数,其他的为null
      

  15.   

    升级MyEclipse,重新生成客户端,选择JAX-WS格式的我的是升到6.5版本,供同运到此问题的人参考下