Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    How to access the response info and response status code

    Hi Isomorphic,

    I execute and RPC, but I donīt know how to access the response data and the status code

    My JSP (form) code is:

    Code:
    
    <%@ taglib uri="/WEB-INF/iscTaglib.xml" prefix="isomorphic" %>
    
    <HTML>
    	<HEAD>
    	    <SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>
    	    <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
    	    <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
    	    <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
    	    <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
    	    <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
    	    <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
    	    <SCRIPT SRC=isomorphic/skins/TreeFrog/load_skin.js></SCRIPT>
    	</HEAD>
    	<BODY>
    		<SCRIPT>
    
    			<isomorphic:loadDS ID="empresaTipo"/>
    			<isomorphic:loadDS ID="empresaEstado"/>
    
    			isc.DynamicForm.create({
    			    ID:"empresaForm",
    			    numCols:"6",
    			    fields:[
    				{
    					title:"EmpresaId",
    					name:"empresaId",
    		            type:"number",
    		            length:10
    				},
    				{
    					title:"Nombre",
    					name:"nombre",
    		            type:"text",
    		            length:256
    				},
    				{
    					title:"RFC",
    					name:"rfc",
    		            type:"text",
    		            length:256
    				},
    				{
    					title:"Asociacion",
    					name:"asociacion",
    		            type:"text",
    		            length:256
    				},												
    				{
    					title:"Calle1",
    					name:"calle1",
    		            type:"text",
    		            length:30
    				},												
    				{
    					title:"Calle2",
    					name:"calle2",
    		            type:"text",
    		            length:30
    				},												
    				{
    					title:"Colonia",
    					name:"colonia",
    		            type:"text",
    		            length:30
    				},												
    				{
    					title:"Municipio",
    					name:"municipio",
    		            type:"text",
    		            length:35
    				},												
    				{
    					title:"Entidad",
    					name:"entidad",
    		            type:"text",
    		            length:35
    				},												
    				{
    					title:"codigoPostal",
    					name:"codigoPostal",
    		            type:"text",
    		            length:30
    				},												
    				{
    					title:"PaisId",
    					name:"paisId",
    		            type:"text",
    		            length:2
    				},												
    				{
    					title:"Telefono1",
    					name:"telefono1",
    		            type:"text",
    		            length:10
    				},												
    				{
    					title:"Telefono2",
    					name:"telefono2",
    		            type:"text",
    		            length:10
    				},												
    				{
    					title:"Fax",
    					name:"fax",
    		            type:"text",
    		            length:10
    				},												
    				{
    					title:"Fecha Inicio",
    					name:"fechaInicio",
    		            type:"date"
    				},												
    				{
    					title:"Fecha Termino",
    					name:"fechaTermino",
    		            type:"date"
    				},		
    				{
    					title:"Sello Digital",
    					name:"selloDigital",
    		            type:"text",
    		            length:256
    				},												
    				{
    					title:"Folio Electronico",
    					name:"folioElectronico",
    		            type:"text",
    		            length:256
    				},												
    				{
    					title:"Imagen Cedula Fiscal",
    					name:"imagenCedulaFiscal",
    		            type:"text",
    		            length:256
    				},
    				{
    					name:"empresaTipoId",
    					title:"Tipo",
    		            type:"integer",
    		            editorType:"comboBox",
    					optionDataSource:"empresaTipo",
    					valueField:"empresaTipoId",
    					displayField:"descripcion",
    					pickListWidth:100
    				},
    				{
    					title:"Cantidad de Usuarios",
        				hidden:true,
    					name:"cantidadUsuarios",
    		            type:"number"
    				},
    				{
    					name:"empresaEstadoId",
    					title:"Estado",
    		            type:"integer",
    		            editorType:"comboBox",
    					optionDataSource:"empresaEstado",
    					valueField:"empresaEstadoId",
    					displayField:"descripcion",
    					pickListWidth:100
    				},
    				{
    					wrapTitle:false, 
    					title:"save", 
    					name:"savebtn", 
    					type:"Button",
            			click:"empresaForm.formSaveData()"
    				}],
    				formSaveData : function () {
    					if(empresaForm.validate()){
    
    //				        RPCManager.send(new Date(), "timeLabel.setContents(data)", { actionURL: "rpcTarget.jsp" });
    
    
    						RPCManager.sendRequest({ data: empresaForm.getValues(), callback: "empresaForm.myCallback(data,status)", actionURL: "enterpriseDMI.jsp"});
                            
    
    //			        	RPCManager.sendRequest({
    //			         		useSimpleHttp:true, 
    //              				params:empresaForm.getValues(), 
    //              				callback: "do sth...", 
    //              				actionURL: empresaForm.action 
    //							actionURL:"enterpriseDMI.jsp"});
    					}	
    				
    				},
    				myCallback : function (data,status) { 				
    					alert("response from the server data: " + data); 
    					alert("response from the server status: " + status); 
    				}
    			});
    
    
    
    		</SCRIPT>
    	</BODY>	
    </HTML>
    My JSP (RPC) code is:

    Code:
    <%@ page import="java.util.*" %>
    <%@ page import="java.sql.Timestamp" %>
    <%@ page import="com.isomorphic.rpc.*" %>
    <%@ page import="model.EmpresaVO" %>
    <%@ page import="business.EmpresaBO" %>
    
    <%
    // Instantiate an RPCManager so we can get the DSRequests.
    //
    	RPCManager rpc;
    	
    	try {
        	// instantiate the RPCManager that parses the encoded data sent by the client
    	    rpc = new RPCManager(request, response, out);
    	} catch (ClientMustResubmitException cmre) {
        	// Workaround IE bug - see the RPC API docs for a more detailed explanation
    	    return;
    	}
    
    
    // grab the data that the client sent.  Since you can send arbitrary JS collections from the
    // browser, getData() returns a Java Object that you need to cast to whatever type you actually
    // sent.  In this case, since we sent a JS Date, we'll get a java.util.Date.  For the type
    // conversion table, see the client-side RPCRequest API docs.
    
    
    	Map record = (Map) rpc.getData();
    
    	EmpresaBO empresaBO = new EmpresaBO();
    
    	EmpresaVO empresaVO = new EmpresaVO();
    	
    	if(record.containsKey("empresaId")) {
    		Long empresaId = (Long)record.get("empresaId");
    		empresaVO.setEmpresaId(empresaId.intValue());
    	} else {
    		empresaVO.setEmpresaId(null);
    	}	
    	
    	if(record.containsKey("nombre")) {
    		empresaVO.setNombre((String)record.get("nombre"));
    	} else {
    		empresaVO.setNombre(null);
    	}
    	
    	if(record.containsKey("rfc")) {
    		empresaVO.setRfc((String)record.get("rfc"));
    	} else {
    		empresaVO.setRfc(null);
    	}
    	
    	if(record.containsKey("asociacion")) {
    		empresaVO.setAsociacion((String)record.get("asociacion"));
    	} else {
    		empresaVO.setAsociacion(null);
    	}
    	
    	if(record.containsKey("calle1")) {
    		empresaVO.setCalle1((String)record.get("calle1"));
    	} else {
    		empresaVO.setCalle1(null);
    	}
    	
    	if(record.containsKey("calle2")) {
    		empresaVO.setCalle2((String)record.get("calle2"));
    	} else {
    		empresaVO.setCalle2(null);
    	}
    	
    	if(record.containsKey("colonia")) {
    		empresaVO.setColonia((String)record.get("colonia"));
    	} else {
    		empresaVO.setColonia(null);
    	}
    	
    	if(record.containsKey("municipio")) {
    		empresaVO.setMunicipio((String)record.get("municipio"));
    	} else {
    		empresaVO.setMunicipio(null);
    	}
    	
    	if(record.containsKey("entidad")) {
    		empresaVO.setEntidad((String)record.get("entidad"));
    	} else {
    		empresaVO.setEntidad(null);
    	}
    	        
    	if(record.containsKey("codigoPostal")) {
    		empresaVO.setCodigoPostal((String)record.get("codigoPostal"));
    	} else {
    		empresaVO.setCodigoPostal(null);
    	}
    	
    	if(record.containsKey("paisId")) {
    		empresaVO.setPaisId((String)record.get("paisId"));
    	} else {
    		empresaVO.setPaisId(null);
    	}
    	
    	if(record.containsKey("telefono1")) {
    		empresaVO.setTelefono1((String)record.get("telefono1"));
    	} else {
    		empresaVO.setTelefono1(null);
    	}
    	
    	if(record.containsKey("telefono2")) {
    		empresaVO.setTelefono2((String)record.get("telefono2"));
    	} else {
    		empresaVO.setTelefono2(null);
    	}
    	
    	if(record.containsKey("fax")) {
    		empresaVO.setFax((String)record.get("fax"));
    	} else {
    		empresaVO.setFax(null);
    	}
    
    	Calendar calendarDate = Calendar.getInstance();
    	
    	if(record.containsKey("fechaInicio")) {
    //		System.out.println("fechaInicio = " + (String)record.get("fechaInicio"));
    		calendarDate.setTime((Date)record.get("fechaInicio"));
    		empresaVO.setFechaInicio(new Timestamp(calendarDate.getTimeInMillis()));
    	} else {
    		empresaVO.setFechaInicio(null);
    	}
    	
    	if(record.containsKey("fechaTermino")) {
    		calendarDate.setTime((Date)record.get("fechaTermino"));
    		empresaVO.setFechaTermino(new Timestamp(calendarDate.getTimeInMillis()));
    	} else {
    		empresaVO.setFechaTermino(null);
    	}
    
    	if(record.containsKey("selloDigital")) {
    		empresaVO.setSelloDigital((String)record.get("selloDigital"));
    	} else {
    		empresaVO.setSelloDigital(null);
    	}
    
    	if(record.containsKey("folioElectronico")) {
    		empresaVO.setFolioElectronico((String)record.get("folioElectronico"));
    	} else {
    		empresaVO.setFolioElectronico(null);
    	}
    
    	if(record.containsKey("imagenCedulaFiscal")) {
    		empresaVO.setImagenCedulaFiscal((String)record.get("imagenCedulaFiscal"));
    	} else {
    		empresaVO.setImagenCedulaFiscal(null);
    	}
    
    	if(record.containsKey("empresaTipoId")) {
    	
    		Long empresaTipoId = (Long)record.get("empresaTipoId");
    	
    		empresaVO.setEmpresaTipoId(empresaTipoId.intValue());
    	} else {
    		empresaVO.setEmpresaTipoId(null);
    	}
    
    	if(record.containsKey("cantidadUsuarios")) {
    	
    		Long cantidadUsuarios = (Long)record.get("cantidadUsuarios");
    	
    		empresaVO.setCantidadUsuarios(cantidadUsuarios.intValue());
    	} else {
    		empresaVO.setCantidadUsuarios(null);
    	}
    
    	if(record.containsKey("empresaEstadoId")) {
    
    		Long empresaEstadoId = (Long)record.get("empresaEstadoId");
    
    		empresaVO.setEmpresaEstadoId(empresaEstadoId.intValue());
    	} else {
    		empresaVO.setEmpresaEstadoId(null);
    	}
    
    	empresaBO.add(empresaVO);
    
    	System.out.println("empresaVO = " + empresaVO);
    	
        // match the response to the request
       	rpc.send(empresaVO);
    
    %>

    The response value object is:

    Code:
    
    ackage model;
    
    import java.sql.Timestamp;
    
    public class EmpresaVO {
    
    	// public members
    	public Integer empresaId;
    	public String nombre;
    	public String rfc;
    	public String asociacion;
    	public String calle1;
    	public String calle2;
    	public String colonia;
    	public String municipio;
    	public String entidad;
    	public String codigoPostal;
    	public String paisId;
    	public String telefono1;
    	public String telefono2;
    	public String fax;
    	public Timestamp fechaInicio;
    	public Timestamp fechaTermino;
    	public String selloDigital;
    	public String folioElectronico;
    	public String imagenCedulaFiscal;
    	public Integer empresaTipoId;
    	public Integer cantidadUsuarios;
    	public Integer empresaEstadoId;
    
    	// default constructor
    	public EmpresaVO() { }
    
    	// constructor accepting all values
    	public EmpresaVO(Integer empresaId, String nombre, String rfc, String asociacion, String calle1, String calle2, String colonia, String municipio, String entidad, String codigoPostal, String paisId, String telefono1, String telefono2, String fax, Timestamp fechaInicio, Timestamp fechaTermino, String selloDigital, String folioElectronico, String imagenCedulaFiscal, Integer empresaTipoId, Integer cantidadUsuarios, Integer empresaEstadoId) {
    		init(empresaId, nombre, rfc, asociacion, calle1, calle2, colonia, municipio, entidad, codigoPostal, paisId, telefono1, telefono2, fax, fechaInicio, fechaTermino, selloDigital, folioElectronico, imagenCedulaFiscal, empresaTipoId, cantidadUsuarios, empresaEstadoId);
    	}
    
    	// constructor to create a new TO based
    	// using an existing TO instance
    	public EmpresaVO(EmpresaVO empresaVO) {
    		init(empresaVO.empresaId, empresaVO.nombre, empresaVO.rfc, empresaVO.asociacion, empresaVO.calle1, empresaVO.calle2, empresaVO.colonia, empresaVO.municipio, empresaVO.entidad, empresaVO.codigoPostal, empresaVO.paisId, empresaVO.telefono1, empresaVO.telefono2, empresaVO.fax, empresaVO.fechaInicio, empresaVO.fechaTermino, empresaVO.selloDigital, empresaVO.folioElectronico, empresaVO.imagenCedulaFiscal, empresaVO.empresaTipoId, empresaVO.cantidadUsuarios, empresaVO.empresaEstadoId);
    	}
    
    	// method to set all the values
    	public void init(Integer empresaId, String nombre, String rfc, String asociacion, String calle1, String calle2, String colonia, String municipio, String entidad, String codigoPostal, String paisId, String telefono1, String telefono2, String fax, Timestamp fechaInicio, Timestamp fechaTermino, String selloDigital, String folioElectronico, String imagenCedulaFiscal, Integer empresaTipoId, Integer cantidadUsuarios, Integer empresaEstadoId) {
    		setEmpresaId(empresaId);
    		setNombre(nombre);
    		setRfc(rfc);
    		setAsociacion(asociacion);
    		setCalle1(calle1);
    		setCalle2(calle2);
    		setColonia(colonia);
    		setMunicipio(municipio);
    		setEntidad(entidad);
    		setCodigoPostal(codigoPostal);
    		setPaisId(paisId);
    		setTelefono1(telefono1);
    		setTelefono2(telefono2);
    		setFax(fax);
    		setFechaInicio(fechaInicio);
    		setFechaTermino(fechaTermino);
    		setSelloDigital(selloDigital);
    		setFolioElectronico(folioElectronico);
    		setImagenCedulaFiscal(imagenCedulaFiscal);
    		setEmpresaTipoId(empresaTipoId);
    		setCantidadUsuarios(cantidadUsuarios);
    		setEmpresaEstadoId(empresaEstadoId);
    	}
    
    	// getter methods
    	// accessor methods
    	public Integer getEmpresaId() {
    		return empresaId;
    	}
    	public String getNombre() {
    		return nombre;
    	}
    	public String getRfc() {
    		return rfc;
    	}
    	public String getAsociacion() {
    		return asociacion;
    	}
    	public String getCalle1() {
    		return calle1;
    	}
    	public String getCalle2() {
    		return calle2;
    	}
    	public String getColonia() {
    		return colonia;
    	}
    	public String getMunicipio() {
    		return municipio;
    	}
    	public String getEntidad() {
    		return entidad;
    	}
    	public String getCodigoPostal() {
    		return codigoPostal;
    	}
    	public String getPaisId() {
    		return paisId;
    	}
    	public String getTelefono1() {
    		return telefono1;
    	}
    	public String getTelefono2() {
    		return telefono2;
    	}
    	public String getFax() {
    		return fax;
    	}
    	public Timestamp getFechaInicio() {
    		return fechaInicio;
    	}
    	public Timestamp getFechaTermino() {
    		return fechaTermino;
    	}
    	public String getSelloDigital() {
    		return selloDigital;
    	}
    	public String getFolioElectronico() {
    		return folioElectronico;
    	}
    	public String getImagenCedulaFiscal() {
    		return imagenCedulaFiscal;
    	}
    	public Integer getEmpresaTipoId() {
    		return empresaTipoId;
    	}
    	public Integer getCantidadUsuarios() {
    		return cantidadUsuarios;
    	}
    	public Integer getEmpresaEstadoId() {
    		return empresaEstadoId;
    	}
    
    	// setter methods
    	// mutator methods
    	public void setEmpresaId(Integer anEmpresaId) {
    		if (anEmpresaId == null) {
    			empresaId = null;
    		} else {
    			empresaId = anEmpresaId;
    		}
    	}
    	public void setNombre(String aNombre) {
    		if (aNombre == null) {
    			nombre = null;
    		} else {
    			nombre = aNombre;
    		}
    	}
    	public void setRfc(String aRfc) {
    		if (aRfc == null) {
    			rfc = null;
    		} else {
    			rfc = aRfc;
    		}
    	}
    	public void setAsociacion(String anAsociacion) {
    		if (anAsociacion == null) {
    			asociacion = null;
    		} else {
    			asociacion = anAsociacion;
    		}
    	}
    	public void setCalle1(String aCalle1) {
    		if (aCalle1 == null) {
    			calle1 = null;
    		} else {
    			calle1 = aCalle1;
    		}
    	}
    	public void setCalle2(String aCalle2) {
    		if (aCalle2 == null) {
    			calle2 = null;
    		} else {
    			calle2 = aCalle2;
    		}
    	}
    	public void setColonia(String aColonia) {
    		if (aColonia == null) {
    			colonia = null;
    		} else {
    			colonia = aColonia;
    		}
    	}
    	public void setMunicipio(String aMunicipio) {
    		if (aMunicipio == null) {
    			municipio = null;
    		} else {
    			municipio = aMunicipio;
    		}
    	}
    	public void setEntidad(String anEntidad) {
    		if (anEntidad == null) {
    			entidad = null;
    		} else {
    			entidad = anEntidad;
    		}
    	}
    	public void setCodigoPostal(String aCodigoPostal) {
    		if (aCodigoPostal == null) {
    			codigoPostal = null;
    		} else {
    			codigoPostal = aCodigoPostal;
    		}
    	}
    	public void setPaisId(String aPaisId) {
    		if (aPaisId == null) {
    			paisId = null;
    		} else {
    			paisId = aPaisId;
    		}
    	}
    	public void setTelefono1(String aTelefono1) {
    		if (aTelefono1 == null) {
    			telefono1 = null;
    		} else {
    			telefono1 = aTelefono1;
    		}
    	}
    	public void setTelefono2(String aTelefono2) {
    		if (aTelefono2 == null) {
    			telefono2 = null;
    		} else {
    			telefono2 = aTelefono2;
    		}
    	}
    	public void setFax(String aFax) {
    		if (aFax == null) {
    			fax = null;
    		} else {
    			fax = aFax;
    		}
    	}
    	public void setFechaInicio(Timestamp aFechaInicio) {
    		if (aFechaInicio == null) {
    			fechaInicio = null;
    		} else {
    			fechaInicio = aFechaInicio;
    		}
    	}
    	public void setFechaTermino(Timestamp aFechaTermino) {
    		if (aFechaTermino == null) {
    			fechaTermino = null;
    		} else {
    			fechaTermino = aFechaTermino;
    		}
    	}
    	public void setSelloDigital(String aSelloDigital) {
    		if (aSelloDigital == null) {
    			selloDigital = null;
    		} else {
    			selloDigital = aSelloDigital;
    		}
    	}
    	public void setFolioElectronico(String aFolioElectronico) {
    		if (aFolioElectronico == null) {
    			folioElectronico = null;
    		} else {
    			folioElectronico = aFolioElectronico;
    		}
    	}
    	public void setImagenCedulaFiscal(String anImagenCedulaFiscal) {
    		if (anImagenCedulaFiscal == null) {
    			imagenCedulaFiscal = null;
    		} else {
    			imagenCedulaFiscal = anImagenCedulaFiscal;
    		}
    	}
    	public void setEmpresaTipoId(Integer anEmpresaTipoId) {
    		if (anEmpresaTipoId == null) {
    			empresaTipoId = null;
    		} else {
    			empresaTipoId = anEmpresaTipoId;
    		}
    	}
    	public void setCantidadUsuarios(Integer aCantidadUsuarios) {
    		if (aCantidadUsuarios == null) {
    			cantidadUsuarios = null;
    		} else {
    			cantidadUsuarios = aCantidadUsuarios;
    		}
    	}
    	public void setEmpresaEstadoId(Integer anEmpresaEstadoId) {
    		if (anEmpresaEstadoId == null) {
    			empresaEstadoId = null;
    		} else {
    			empresaEstadoId = anEmpresaEstadoId;
    		}
    	}
    
    	public String toString() {
    		return "{ empresaId=" + empresaId + "; nombre=" + nombre + "; rfc=" + rfc + "; asociacion=" + asociacion + "; calle1=" + calle1 + "; calle2=" + calle2 + "; colonia=" + colonia + "; municipio=" + municipio + "; entidad=" + entidad + "; codigoPostal=" + codigoPostal + "; paisId=" + paisId + "; telefono1=" + telefono1 + "; telefono2=" + telefono2 + "; fax=" + fax + "; fechaInicio=" + fechaInicio + "; fechaTermino=" + fechaTermino + "; selloDigital=" + selloDigital + "; folioElectronico=" + folioElectronico + "; imagenCedulaFiscal=" + imagenCedulaFiscal + "; empresaTipoId=" + empresaTipoId + "; cantidadUsuarios=" + cantidadUsuarios + "; empresaEstadoId=" + empresaEstadoId + " }";
    	}
    
    }
    This is the responde info:

    Code:
    [
        {
            data:{asociacion:"C", calle1:"D", calle2:"E", cantidadUsuarios:20, codigoPostal:"12345", colonia:"F",
             empresaEstadoId:3, empresaId:20, empresaTipoId:3, entidad:"H", fax:"1234512345",
             fechaInicio:new Date(1275368400000), fechaTermino:new Date(1277874000000),
             folioElectronico:"FE", imagenCedulaFiscal:"ICF", municipio:"G", nombre:"A", paisId:"MX",
             rfc:"B", selloDigital:"SD", telefono1:"1234567890", telefono2:"1234567890"},
            status:0
        }
    ]
    I am using:

    apache-tomcat-5.5.20
    JDK 1.6
    MyEclipse 5.1.1 GA
    SmartClient_70rc2_Evaluation
    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.13)
    Gecko/2009073022 Firefox/3.0.13 (.NET CLR 3.5.30729)


    I am not able to access the response info and the response status code.

    Please help me

    #2
    The variables available in the callback are rpcResponse, data, and rpcRequest. If you want to access the status, use rpcResponse.status.

    Comment


      #3
      Thank you very much.

      I fix the code and itīs run.

      Comment

      Working...
      X