首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

WebService QName 參數解析:namespaceURI 與 localPart 對應 WSDL 定義

     編輯:程式設計綜合問答

代碼片段


_call.setOperationName(new javax.xml.namespace.QName(
    "https://api.seashell.bill99.com", "gatewayOrderQuery"));

QName 兩個參數含義

  • namespaceURI:https://api.seashell.bill99.com — 對應 WSDL <definitions targetNamespace="...">。
  • localPart:gatewayOrderQuery — 對應 WSDL <operation name="gatewayOrderQuery">。

報錯原因

Message part gatewayOrderQuery was not recognized — 表明提供的 namespaceURI 或 localPart 與 WSDL 定義不匹配。常見問題:

  1. WSDL 中操作名實際為 gatewayOrderQueryRequest 等。
  2. 命名空間有尾部斜杠差異、大小寫差異。
  3. 服務端部署多個版本,客戶端引用舊 WSDL。

排查步驟

  1. 下載最新 WSDL:https://api.seashell.bill99.com/xxx?wsdl。
  2. 搜索 <operation name=" 確認確切操作名。
  3. 檢查 targetNamespace 值,逐字符複製。
  4. 使用 wsimport 生成客戶端存根,避免手動構造 QName。

參考資料

WebService QName 詳細解析

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved