Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Duda servicios web jws y axis

Estas en el tema de Duda servicios web jws y axis en el foro de Java en Foros del Web. Hola, estoy estudiando un poco de servicios web(la verdad es que soy un noob en esto) con jws y axis. Todo iba bien para servicios ...
  #1 (permalink)  
Antiguo 15/02/2013, 11:50
 
Fecha de Ingreso: febrero-2013
Mensajes: 2
Antigüedad: 11 años, 2 meses
Puntos: 1
Pregunta Duda servicios web jws y axis

Hola, estoy estudiando un poco de servicios web(la verdad es que soy un noob en esto) con jws y axis. Todo iba bien para servicios sencillos en los que solo tengo un servicio sencillo (solo un archivo jws) y mando a llamar uno de los métodos desde mi cliente. El problem que tengo ahora es al tratar de utilizar herencias. Tengo una clase padre llamada Persona.jws y heredo a mis clases Alumno.jws y Profesor.jws y una clase Dummy en dnde creo el objeto de tipo alumno o rofesor y mando a llamar a sus metodos... , sin embargo al momento de realizar el deploy en axis me manda un error en Alumno y en Profesor (traté de seguir una lógica parecida que en las app estand.), de hecho realicé la aplicación en eclipse y no tuve problema alguno. Alguna sugerencia de como solucionarlo? Adjunto mi código y el error que me arroja.
Persona.jws :
Código:
public class Persona {
	public String id;
	public String nombre;
	public String edad;
	public String domicilio;
 
	//public Persona(){}
   
    public String Persona(String id, String dom, String nom, String edad){
        this.id=id;
        this.domicilio=dom;
        this.nombre=nom;
        this.edad=edad;
	return id+" "+domicilio+" "+nombre+" "+edad;
    }
    
    public String getID(){
    	return this.id;
    }
    
    public String getDom(){
    	return this.domicilio;
    }
    
    public String getNom(){
    	return this.nombre;
    }
    
    public String getEdad(){
    	return this.edad;
    }
    
    
    public String identifica(){
        return this.id;
    }
    
    public String setDatos(String ide, String domi,String nomb,String eda){
        this.id=ide;
        this.domicilio=domi;
        this.nombre=nomb;
        this.edad=eda; 	
	return id+" "+domicilio+" "+nombre+" "+edad;
    }
    
    public void updateDomicilio(String Dom){
    	this.domicilio=Dom;
    }
    
    public void updateEdad(String Edad){
    	this.edad=Edad;
    }

   // public String InstantiationException(){return this.nombre;}
}
Alumno.jws :
Código:
public class Alumno extends Persona{
	
	public Alumno(String ide,String domi,String nomb,String eda){
		super(ide,domi,nomb,eda);
	}

	public String invocaSetDatos(String identifica,String domicilion,String nombres,String edadd)
	{
		String cadena = setDatos(identifica,domicilion,nombres,edadd);
		return cadena;
	}


		
 }
Clase Dummy.jws :
Código:
public class Dummy{

	public String invocaAlumno(Strin a1,String a2,String a3,String a4)
	{
		Alumno alumni = new Alumno(a1,a2,a3,a4);
		String cadResultante = alumni.invocaSetDatos(a1,a2,a3,a4);
		return cadResultante;
	}

}
Cliente:
Código:
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import javax.xml.rpc.ParameterMode;

//class  InstantiationExceptionDemo  {
public class ClienteAgenda {
	public static void main(String[] args){
		
           
	    String method= "invocaAlumno";
	    
	    String id= new String("9876");  
	    String dom= new String("Conocido");
	    String nom=new String("Juanita");
	    String edad=new String("30");
	    
	    try{
	        Service service= new Service();
	        Call call=(Call) service.createCall();
	        
	        String endpoint= "http://localhost:8080/axis/Dummy.jws";
	        
	        call.setTargetEndpointAddress(new java.net.URL(endpoint));
	        call.setOperationName(method);
	        
	        call.addParameter("op1",XMLType.XSD_STRING,ParameterMode.IN);
	        call.addParameter("op2",XMLType.XSD_STRING,ParameterMode.IN);
	        call.addParameter("op3",XMLType.XSD_STRING,ParameterMode.IN);
	        call.addParameter("op4",XMLType.XSD_STRING,ParameterMode.IN);
	        
	        call.setReturnType(XMLType.XSD_ANY);
	        
	        String ret= (String)(call.invoke(new Object[]{id,dom,nom,edad}));
	        
	        System.out.println("DATOS:"+ret);
	    }
	    catch (Exception e)
	        {
	        System.out.println(e.toString());
	        }	
	}
}
Error:
Código:
Fault - Error while compiling:  /usr/local/apache-tomcat-7.0.35/webapps/axis/WEB-INF/jwsClasses/Alumno.java

AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.compileError
 faultSubcode: 
 faultString: Error while compiling:  /usr/local/apache-tomcat-7.0.35/webapps/axis/WEB-INF/jwsClasses/Alumno.java
 faultActor: 
 faultNode: 
 faultDetail: 
	{}Errors:Error compiling /usr/local/apache-tomcat-7.0.35/webapps/axis/WEB-INF/jwsClasses/Alumno.java:
Line 1, column 28:  error: cannot find symbol
Line 0, column 0: could not parse error message:    symbol: class Persona
/usr/local/apache-tomcat-7.0.35/webapps/axis/WEB-INF/jwsClasses/Alumno.java:9: error: cannot find symbol
		String cadena = setDatos(identifica,domicilion,nombres,edadd);
		                ^

Line 0, column 0: 
  symbol:   method setDatos(String,String,String,String)
  location: class Alumno
2 errors
  #2 (permalink)  
Antiguo 15/02/2013, 13:44
 
Fecha de Ingreso: febrero-2013
Mensajes: 2
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: Duda servicios web jws y axis

Hola, ya lo resolví, bastó con eliminar los parameros del super() en la clase alumno y copiar y pegar los archivos Persona.class y Alumno.class en la carpeta WEB-INF/classes/ que se encuentra dentro de tomcat_home/axis/

Etiquetas: axis, clase, eclipse, servicios, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:27.