2012-05-09 6 views
0

Axis1.4의 WSDL2Java를 사용하여 클라이언트 클래스를 생성하는 데 문제가 있습니다. -o ./src --package ws.generated -v https://myurl/?WSDLWSDL을 사용하여 WSDL2Java로 웹 서비스 클라이언트를 생성 할 수 없음

내가 매개 변수 또는 특별한 구성을 놓치고 다음 WSDL은 WSDL2Java의에 헤더를

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를하고 있습니다 포함? 최대한 빨리 도움을 받아야합니다.

답변

0

wsse 접두사를 정의 할 때 네임 스페이스를 참조하는 동안 보이는 것처럼 전체 WSDL을 확인해야하지만, (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