2012-05-09 39 views
0

我在使用Axis1.4中的WSDL2Java生成客戶端類時遇到了問題。該WSDL包含標題無法使用WSDL2Java和WSSE生成webservice客戶端

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) 

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

我缺少一個參數或一些特殊的配置?我需要一些幫助儘快

回答

0

我將不得不看到整個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定義的命名空間標識的,這是一種常見的約定。

+0

非常感謝。我會盡力讓你知道。 – sergeiw

相關問題