Programación General > Java

 [web Services] Problema Que No Entiendo (pendiente

(1/1)

TieferFeld:
Buenas :-)
Es mi primer mensaje en este foro, y seguro que os parece tonto, pero estoy muy despistado.

Contexto:
Pretendo hacer un cliente del "Web Service" meteorológico que ofrece www.capescience.com. Tengo Axis instalado. Usando WSDL2Java sobre la dirección correspondiente al WSDL de esta página he obtenido los stubs y resto de las cosas sobre el susodicho servicio que ofrecen.

Para ir empezando, creé un clientillo tonto que lo único que hace es una nueva instancia de un "Reporte meteorológico"... El problema es que no hay manera de compilar lo que me creó el WSDL2Java.

Utilizo el Eclipse para programar en java. He añadido a las CLASSPATH todo lo que se me ha ocurrido (lo de axis más lo que venía), pero aún así me da errores:
En el editor:

--- Código: Text ---Error: org.apache.axis.client.Service cannot be resolved or is not a valid superclass  GlobalWeather_ServiceLocator.java  Wetter/com/capeclear/www/GlobalWeather_wsdl  line 10  Yo juraría que ese org.apache.axis.client.Service está definido en uno de los .jar de axis/lib, incluso lo importé y está ahí... Lo raro es que el código donde da el error, es el que creó WSDL2Java, osea, no es culpa mía.


Tras compilar:

--- Código: Text --- Exception in thread "main" java.lang.Error: Unresolved compilation problems:        Class must implement the inherited abstract method Service.getWSDLDocumentLocation()        Class must implement the inherited abstract method Service.getHandlerRegistry()... (muchos más) 
Parece que me pide implementar un montón de métodos... Pero es que yo obtuve eso del servicio wdsl, yo no tengo que implementar esos métodos, sino invocar el servicio, ¿no?

Estoy perdido...  Alguien me puede echar una mano??? Si necesitáis más datos, tengo :-)
Gracias :-D

nicokiki:
Hola!!!!!!!!

Antes q nada, la verdad es q no entendi casi nada de lo q mandaste pero si te puedo dar una mano con el error q te esta tirando. Ahi va:

Si vos heredas de una clase abstracta, para q la clase q estas desarrollando deje de ser abstarcta, deberas implementar cada uno de los metodos de la clase heredada. Ya se q hay muchos metodos q no te serviran para nada, pero bueno, implementalos sin codigo y listo.

Salu2!!!!!

TieferFeld:
Muchas gracias  :D

Haré lo posible por implementar clases vacías, jejeje.

De todas maneras, me gustaría saber por qué compila y luego sin embargo no funciona porque no encuentra cosas... Os pongo el código para que me digáis...


--- Código: Text ---javac -verbose WetterClient.java[parsing started WetterClient.java][parsing completed 76ms][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/lang/Object.class)][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/lang/String.class)][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/lang/Exception.class)][checking WetterClient][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/lang/Throwable.class)][loading ./com/capeclear/www/GlobalWeather_wsdl/GlobalWeather_ServiceLocator.class][loading ./com/capeclear/www/GlobalWeather_wsdl/GlobalWeather_Port.class][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/lang/StringBuffer.class)][loading ./com/capeclear/www/GlobalWeather_xsd/WeatherReport.class][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/rmi/Remote.class)][loading ./com/capeclear/www/GlobalWeather_xsd/Temperature.class][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/lang/System.class)][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/io/PrintStream.class)][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/io/FilterOutputStream.class)][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/io/OutputStream.class)][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/lang/Error.class)][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/rmi/RemoteException.class)][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/io/IOException.class)][loading /opt/blackdown-jdk-1.4.1/jre/lib/rt.jar(java/lang/RuntimeException.class)][wrote WetterClient.class][total 680ms]bash-2.05b$ java WetterClientException in thread "main" java.lang.Error: Unresolved compilation problems:        org.apache.axis.client.Service cannot be resolved or is not a valid superclass        javax.xml.rpc.ServiceException cannot be resolved (or is not an exception type) for the method getGlobalWeather        javax.xml.rpc.ServiceException cannot be resolved or is not a type        javax.xml.rpc.ServiceException cannot be resolved (or is not an exception type) for the method getGlobalWeather        The constructor GlobalWeatherStub(URL, GlobalWeather_ServiceLocator) is undefined        The method setPortName(String) is undefined for the type GlobalWeatherStub        org.apache.axis.AxisFault cannot be resolved or is not a type        javax.xml.rpc.ServiceException cannot be resolved (or is not an exception type) for the method getStationInfo        javax.xml.rpc.ServiceException cannot be resolved or is not a type        javax.xml.rpc.ServiceException cannot be resolved (or is not an exception type) for the    [... muchas más líneas por el estilo ...]     at com.capeclear.www.GlobalWeather_wsdl.GlobalWeather_ServiceLocator.<init>(GlobalWeather_ServiceLocator.java:10)        at WetterClient.main(WetterClient.java:9)   :blink:
Por ejemplo, el primer error,

--- Código: Text ---org.apache.axis.client.Service cannot be resolved or is not a valid superclass Pues lo llevo claro. org.apache.axis.client.Service existe y está en el classpath. Tiene que ser una "valid superclass" porque es el código que me creó automáticamente el servidor, no yo.

Además... Por qué compila perfectamente y a la hora de ejecutar dice que no compiló bien???

Voy a seguir experimentando...
Gracias por todo lo que se os ocurra  :D

Navegación

[0] Índice de Mensajes

Ir a la versión completa