Ошибки при сборке ANT в сгенерированном WSDL файле

#java #web-services #ant #wsdl #websphere

#java #веб-сервисы #ant #wsdl #websphere

Вопрос:

Я использую ANT для создания своего проекта. И, похоже, он выдает следующие ошибки в файлах, которые были автоматически сгенерированы из WSDL.

 [javac] C:Documents and SettingsAdministratorIBMrationalsdpworkspaceBHCPEr16PortalsourcecomibmcpebhwebservicesmdmCPE6SOAP_HTTP_BindingStub.java:316: setUse(com.ibm.ws.webservices.engine.enum.Use) in com.ibm.ws.webservices.engine.description.OperationDesc cannot be applied to (com.ibm.ws.webservices.engine.enumtype.Use)
[javac]         _createUpdateContactPersonOperation0.setUse(com.ibm.ws.webservices.engine.enumtype.Use.LITERAL);
[javac]                                             ^
[javac] C:Documents and SettingsAdministratorIBMrationalsdpworkspaceBHCPEr16PortalsourcecomibmcpebhwebservicesmdmCPE6SOAP_HTTP_BindingStub.java:317: setStyle(com.ibm.ws.webservices.engine.enum.Style) in com.ibm.ws.webservices.engine.description.OperationDesc cannot be applied to (com.ibm.ws.webservices.engine.enumtype.Style)
[javac]         _createUpdateContactPersonOperation0.setStyle(com.ibm.ws.webservices.engine.enumtype.Style.DOCUMENT);
[javac]                                             ^
[javac] C:Documents and SettingsAdministratorIBMrationalsdpworkspaceBHCPEr16PortalsourcecomibmcpebhwebservicesmdmCPE6SOAP_HTTP_BindingStub.java:331: cannot find symbol
[javac] symbol  : variable SEND_TYPE_ATTR_PROPERTY
[javac] location: class com.ibm.wsspi.webservices.Constants
[javac]             mc.setProperty(com.ibm.wsspi.webservices.Constants.SEND_TYPE_ATTR_PROPERTY, Boolean.FALSE);
[javac]                                                               ^
[javac] C:Documents and SettingsAdministratorIBMrationalsdpworkspaceBHCPEr16PortalsourcecomibmcpebhwebservicesmdmCPE6SOAP_HTTP_BindingStub.java:332: cannot find symbol
[javac] symbol  : variable ENGINE_DO_MULTI_REFS_PROPERTY
[javac] location: class com.ibm.wsspi.webservices.Constants
[javac]             mc.setProperty(com.ibm.wsspi.webservices.Constants.ENGINE_DO_MULTI_REFS_PROPERTY, Boolean.FALSE);
[javac]                                                               ^
[javac] C:Documents and SettingsAdministratorIBMrationalsdpworkspaceBHCPEr16PortalsourcecomibmcpebhwebservicesmdmCPE6SOAP_HTTP_ServiceInformation.java:58: setStyle(com.ibm.ws.webservices.engine.enum.Style) in com.ibm.ws.webservices.engine.description.OperationDesc cannot be applied to (com.ibm.ws.webservices.engine.enumtype.Style)
[javac]         createUpdateContactPerson0Op.setStyle(com.ibm.ws.webservices.engine.enumtype.Style.DOCUMENT);
[javac]                                     ^
[javac] Note: * uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 5 errors
  

Очевидно, что когда ошибка показывает, что не удается найти символ, это означает, что он не может найти соответствующий класс Java.. Но, однако, они не вызывают ошибок в RAD. И необходимый файл java БЫЛ6.1 thinclient.jar присутствует в пути сборки. Итак, я не понимаю, почему сборка завершается неудачно?

Может кто-нибудь, пожалуйста, подсказать мне, если я что-то упустил, и если что-то нужно добавить в файл сборки ANT, чтобы он был собран правильно.

С уважением Снехан Соломон

Комментарии:

1. Вы можете попробовать запустить ant в режиме отладки (через ant -debug INSERT_TARGET_HERE и посмотреть, поможет ли это. Кроме того, внимательно ознакомьтесь с сообщениями об ошибках. setUse(com.ibm.ws.webservices.engine.enum.Use) не совпадает с (com.ibm.ws.webservices.engine.enumtype.Use) Обратите внимание на разные имена пакетов.

2. Спасибо за ваш ответ, Майк, но я не понимаю, почему RAD не выдает эту ошибку во время автоматической сборки?? и его выбрасывают только во время сборки ANT.

3. Вероятно, потому, что RAD имеет значение classpath, отличное от значения Ant.

4. @Mike.. Я еще немного покопался, и вот что я нашел www-01.ibm.com/support/docview.wss?uid=swg21454435 Похоже, что перечисление было изменено на enumtupe java 1.5 и далее. В настоящее время я использую java 1.5, и в своем коде я ссылаюсь на правильный пакет _createUpdateContactPersonOperation0.setUse(com.ibm.ws.webservices.engine.enumtype.Use.LITERAL); , и, как вы предложили, я также проверил пути к классам, и все добавленные мной банки подбираются ANT

Ответ №1:

В пути сборки ANT были некоторые более старые версии jars, которые вызывали сбой сборки, их удаление устранило проблему,

Спасибо, Майк.

С уважением Снехан Соломон