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

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


    • 本地写方法调的话,你需要自己构建请求报文,然后自己写方法调接口访问。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月25日
  • 已采纳回答 8月17日
  • 创建了问题 8月6日

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来