#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, которые вызывали сбой сборки, их удаление устранило проблему,
Спасибо, Майк.
С уважением Снехан Соломон