无法使用WSSE生成带有WSDL2Java的webservice客户端
使用Axis1.4中的WSDL2Java生成客户端类时遇到问题。WSDL包含头无法使用WSSE生成带有WSDL2Java的webservice客户端,java,wsdl,wss,wsdl2java,Java,Wsdl,Wss,Wsdl2java,使用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
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-vhttps://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前缀是用wsdl定义的名称空间标识的,这是一种常见的约定。非常感谢。我会尽力让你知道的。