Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用WSSE生成带有WSDL2Java的webservice客户端_Java_Wsdl_Wss_Wsdl2java - Fatal编程技术网

无法使用WSSE生成带有WSDL2Java的webservice客户端

无法使用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

使用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-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定义的名称空间标识的,这是一种常见的约定。

非常感谢。我会尽力让你知道的。