簡體   English   中英

無法使用帶有WSSE的WSDL2Java生成Web服務客戶端

[英]Cannot generate webservice client with WSDL2Java with WSSE

我在使用Axis1.4的WSDL2Java生成客戶端類時遇到了麻煩。 WSDL包含標頭

xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"

顯示的錯誤是

java.io.IOException: Element {http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security is referenced but not defined.
    at org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(SymbolTable.java:670)
    at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:545)
    at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:518)
    at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)
    at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
    at java.lang.Thread.run(Thread.java:680)

WSDL2Java的參數是: -o ./src --package ws.generated -v https://myurl/?WSDL

我是否缺少參數或某些特殊配置?

我將必須確定整個WSDL,但是看起來好像在定義wsse前綴時引用了名稱空間時,就沒有指示(wsdl2java)引擎在名稱空間中找到元素/類型定義的地方。 嘗試將以下內容添加到您的WSDL中並再次執行:

       <wsdl:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
       location="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" />

除其他元素外,此元素應與<wsdl:types><wsdl:message>元素對等。

這確實假定wsdl前綴是用wsdl定義的名稱空間(一種通用約定)標識的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM