兀行者(做个有情怀的java程序员)
2021-08-06 15:44
采纳率: 100%
浏览 65
已结题

java调用webservice接口,有什么比较简单的好用的方法,以及请求参数的疑问

请求参数:
String xmlData

<?xml version="1.0" encoding="UTF-8"?>
<item>
   <TYPEID>XM_ENTITY</TYPEID><!-- 数据类型 -->
   <UNITID>004139456</UNITID><!-- 请求单位代码 -->
 <PAGESIZE>10</PAGESIZE><!-- 请页面大小 -->
   <CURRENTPAGE>0</CURRENTPAGE><!-- 当前页码 -->
   <CONDITION><!-- 筛选条件 -->
      <item>
         <KEY>XMBH</KEY>
         <VALUE>XM2019015011</VALUE>
         <OPERATOR>=</OPERATOR>
      </item>
   </CONDITION>
</item>

但是我调用时返回了:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <soap:Fault>
            <faultcode>soap:VersionMismatch</faultcode>
            <faultstring>No namespace on "item" element.</faultstring>
        </soap:Fault>
    </soap:Body>
</soap:Envelope>
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 山河已无恙 2021-08-07 08:00
    已采纳

    嗯,没有太明白的需求:是本地写方法调,还是测试用。

    测试的话:可以使用postman或者SoapUI,但是postman有时候调用有问题(只返回结果,后台不报错),SoapUI没问题。
    请求参数:请求报文的话,应该是有请求头的,soap协议的报文头,你贴出来的好像只有请求报文参数。?的部分贴你的请求报文。报文需要用<![CDATA[]]包裹

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ua="http://www.mbossuac.com.cn/ua">
       <soapenv:Header/>
       <soapenv:Body>
          <ua:addBindingRelation>
             <request>?</request>
          </ua:addBindingRelation>
       </soapenv:Body>
    </soapenv:Envelope>
    

    • 关于调用方式的话,soapUI的话,需要把你的接口列表(带有wsdl的URL)贴进去,会自动展示出接口来,然后在请求报文的 <request></request>节点中插入请求报文就可以访问了

    img


    • postman的调用的话,你需要这样搞一下。

    img


    • 本地写方法调的话,你需要自己构建请求报文,然后自己写方法调接口访问。
    评论
    解决 1 无用
    打赏 举报

相关推荐 更多相似问题