2013-12-19 4 views
0

я запускаю следующую командуWSImport не кажется, работает с was8.5 JAXWS

wsimport -s ..\Code\app\src\main\java http://localhost:9080/shortbus/ShortbusService/ShortbusService.wsdl 

Это работает и генерирует код, однако, когда я пытаюсь скомпилировать дал новый код, я получаю ...

...\ShortbusService_Service.java:[43,8] cannot find symbol 
symbol : constructor Service(java.net.URL,javax.xml.namespace.QName,javax.xml.w 
s.WebServiceFeature[]) 
location: class javax.xml.ws.Service 

Я попытался явно добавляя JAXWS-api.jar и rt.jar, но ни казалось, на работу. может кто-то помочь с тем, что мне не хватает?

Update

Если я вручную редактировать с (обратите внимание на комментарии) ...

public ShortbusService_Service(WebServiceFeature... features) { 
    //super(__getWsdlLocation(), SHORTBUSSERVICE_QNAME, features); 
    super(__getWsdlLocation(), SHORTBUSSERVICE_QNAME); 
} 

public ShortbusService_Service(URL wsdlLocation) { 
    super(wsdlLocation, SHORTBUSSERVICE_QNAME); 
} 

public ShortbusService_Service(URL wsdlLocation, WebServiceFeature... features) { 
    //super(wsdlLocation, SHORTBUSSERVICE_QNAME, features); 
    super(wsdlLocation, SHORTBUSSERVICE_QNAME); 
} 

public ShortbusService_Service(URL wsdlLocation, QName serviceName) { 
    super(wsdlLocation, serviceName); 
} 

public ShortbusService_Service(URL wsdlLocation, QName serviceName, WebServiceFeature... features) { 
    //super(wsdlLocation, serviceName, features); 
    super(wsdlLocation, serviceName); 
} 

Она компилирует, но я предпочел бы не делать этого.

+1

Вы можете попробовать форум WebSphere: http://ibm.biz/websphere-forum – dbreaux

ответ

1

Код, создаваемый WAS 8.5's wsimport, будет генерировать код, совместимый с JAX-WS 2.2, поскольку WAS 8.5 поддерживает JAX-WS 2.2.

кажется, что вы пытаетесь скомпилировать код с JAR-файлами, которые представляют собой более раннюю версию JAX-WS, такие как 2.0 или 2.1 (Service конструктора, получающий «features» был добавлен в JAX-WS 2.2).

Итак, у вас есть два варианта:

  1. Изменение настроек IDE (если вы используете RAD, вы, возможно, придется перейти на более поздней версии RAD), чтобы ваш проект компилируется против WAS 8.5 время выполнения; или

  2. Используйте переключатель -target для wsimport, указав значение 2.1 или 2.0. Это сгенерирует код, который может быть скомпилирован в отношении старых версий JAX-WS.

Смежные вопросы