Error en cliente Java con Axis
Hola a todos, estoy intentando utilizar Axis para crear un cliente de un web service en Eclipse. El caso es que yo pensaba que era relativamente sencillo de hacer, pero resulta que el propio Axis me está generando el código con errores. El paquete que me genera es éste:
package authExtern;
public class AuthExternPortTypeProxy implements authExtern.AuthExternPortType {
private String _endpoint = null;
private authExtern.AuthExternPortType authExternPortType = null;
public AuthExternPortTypeProxy() {
_initAuthExternPortTypeProxy();
}
private void _initAuthExternPortTypeProxy() {
try {
authExternPortType = (new authExtern.AuthExternLocator()).getauthExternPort();
if (authExternPortType != null) {
if (_endpoint != null)
((javax.xml.rpc.Stub)authExternPortType)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
else
_endpoint = (String)((javax.xml.rpc.Stub)authExternPortType)._getProperty("javax.xml.rpc.service.endpoint.address");
}
}
catch (javax.xml.rpc.ServiceException serviceException) {}
}
public String getEndpoint() {
return _endpoint;
}
public void setEndpoint(String endpoint) {
_endpoint = endpoint;
if (authExternPortType != null)
((javax.xml.rpc.Stub)authExternPortType)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
}
public authExtern.AuthExternPortType getAuthExternPortType() {
if (authExternPortType == null)
_initAuthExternPortTypeProxy();
return authExternPortType;
}
}
Todo el paquete está contenido en este mismo archivo. El problema, como se puede ver, es que en varios puntos del código se hace referencia al interfaz authExternPortType, el cual no está definido en ninguna parte de este paquete.
Mi pregunta, por tanto es, ¿qué debo hacer? Supongo que lo lógico sería que yo mismo declare ese interfaz dentro del paquete, pero no entiendo por qué no lo hace automáticamente Axis a partir del wsdl.
Además, hay una cosa que me mosquea, y es que también me crea otro paquete, llamado authExtern_pkg, en el cual sí que está definido un interfaz con ese nombre, pero no sé si es ese al que tendría que hacer referencia. En todo caso, en algunas lineas se pone explícitamente authExtern.authExternPortType, así que parece que el interfaz debería estar en ese mismo paquete.
Bueno, ese es mi problema, espero que tengáis paciencia conmigo, ya que soy bastante nuevo en esto de los Web Services, y también un poco novato en Java :o)
Mil gracias de antemano!
package authExtern;
public class AuthExternPortTypeProxy implements authExtern.AuthExternPortType {
private String _endpoint = null;
private authExtern.AuthExternPortType authExternPortType = null;
public AuthExternPortTypeProxy() {
_initAuthExternPortTypeProxy();
}
private void _initAuthExternPortTypeProxy() {
try {
authExternPortType = (new authExtern.AuthExternLocator()).getauthExternPort();
if (authExternPortType != null) {
if (_endpoint != null)
((javax.xml.rpc.Stub)authExternPortType)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
else
_endpoint = (String)((javax.xml.rpc.Stub)authExternPortType)._getProperty("javax.xml.rpc.service.endpoint.address");
}
}
catch (javax.xml.rpc.ServiceException serviceException) {}
}
public String getEndpoint() {
return _endpoint;
}
public void setEndpoint(String endpoint) {
_endpoint = endpoint;
if (authExternPortType != null)
((javax.xml.rpc.Stub)authExternPortType)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
}
public authExtern.AuthExternPortType getAuthExternPortType() {
if (authExternPortType == null)
_initAuthExternPortTypeProxy();
return authExternPortType;
}
}
Todo el paquete está contenido en este mismo archivo. El problema, como se puede ver, es que en varios puntos del código se hace referencia al interfaz authExternPortType, el cual no está definido en ninguna parte de este paquete.
Mi pregunta, por tanto es, ¿qué debo hacer? Supongo que lo lógico sería que yo mismo declare ese interfaz dentro del paquete, pero no entiendo por qué no lo hace automáticamente Axis a partir del wsdl.
Además, hay una cosa que me mosquea, y es que también me crea otro paquete, llamado authExtern_pkg, en el cual sí que está definido un interfaz con ese nombre, pero no sé si es ese al que tendría que hacer referencia. En todo caso, en algunas lineas se pone explícitamente authExtern.authExternPortType, así que parece que el interfaz debería estar en ese mismo paquete.
Bueno, ese es mi problema, espero que tengáis paciencia conmigo, ya que soy bastante nuevo en esto de los Web Services, y también un poco novato en Java :o)
Mil gracias de antemano!