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

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日

悬赏问题

  • ¥15 c# ReportDocument 类执行方法PrintToPrinter()方法时报错
  • ¥15 关于#python#的问题
  • ¥15 主机可以ping通路由器但是连不上网怎么办
  • ¥15 数据库一张以时间排好序的表中,找出多次相邻的那些行
  • ¥50 关于DynamoRIO处理多线程程序时候的问题
  • ¥15 kubeadm部署k8s出错
  • ¥15 Abaqus打不开cae文件怎么办?
  • ¥20 双系统开机引导中windows系统消失问题?
  • ¥15 小程序准备上线,软件开发公司需要提供哪些资料给甲方
  • ¥15 关于生产日期批次退货退款,库存回退的问题