locked
invalidOperationExeption por que?? RRS feed

  • Pregunta

  • PUEDEN AYUDARME!! SOY PRINCIPIANTE EN C#.

    Tengo este servicio web y este consumo, sin embargo cada vez que intento consumir sale este error. Se que debería pasar un string, sin embargo ya intente y no puedo lograr que funcione. Pueden decirme que estoy haciendo mal??

    <?php
        /**
        * ProcessSimpleType method
        * @param string $who name of the person we'll say hello to
        * @return string $helloText the hello  string
        */
    
        
        function functionLogin($email,$pass){
            require_once("includes/config.php");
            $responce = array();
            if(trim($email) != "" && trim($pass) != ""){
                $query = "SELECT * FROM usuario WHERE email='".$email."'";
                $resultado = $link->query($query);
                if($resultado->num_rows>0){
                    $dato=$resultado->fetch_assoc();
                    if($dato["id_rol"]==1 || $dato["id_rol"]==3){
                        $password = $dato["password"]; 
                        $sha = $dato["salt"];
                        $contrasenaBD = ($password.$sha);
                        $contrasenaGE = hash('sha256',$pass).sha1($pass);
                        if($contrasenaBD==$contrasenaGE){
                            $responce['success']=1;
                            $responce['rol']=$dato["id_rol"];
                            $responce['usuario']=$dato["id"];
                        }else{
                            $responce['success']=0;
                            $responce['msg_error']="Contraseña erronea. Verifique.";
                        }
                    }else{
                        $responce['success']=0;
                        $responce['msg_error']="El usuario indicado no tiene permisos de acceso. Verifique.";
                    }
                }else{
                    $responce['success']=0;
                    $responce['msg_error']="Usuario no encontrado. Verifique.";
                }
            }else{
                $responce['success']=0;
                $responce['msg_error']="Credenciales no reconocidas. Verifique.";
            }
            return json_encode($responce);
        }
    
        require_once("lib/nusoap.php");
        $namespace = "http://localhost/";
        $server = new soap_server();
        $server->configureWSDL("SimpleLogin");
        $server->wsdl->schemaTargetNamespace = $namespace;
        $server->register(
                        'functionLogin',         
                        // lista de parametros:
                        array('user'=>'xsd:string','password'=>'xsd:string'), 
                        // valores de retorno:
                        array('return'=>'xsd:string'),
                        // localidad del servicio:
                        $namespace,
                        // soapaction: (use default)
                        false,
                        // style: rpc or document
                        'rpc',
                        // use: encoded or literal
                        'encoded',
                        // description: Documentacion para el metodo
                        'El siguiente metodo recibe email y contraseña en formato 
                        string para verificar si tienen permisos de acceso o no.');
                        
        $POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
        $server->service($POST_DATA);
        exit();
    ?>

    Para C# tengo lo siguiente.

    using System;
    using System.Windows.Forms;
    using avms.log;
    
    namespace avms
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                identificacion svc = new identificacion();
                string s = svc.ident("steve","12345");
                MessageBox.Show(s);
            }
        }
    }
    

    lunes, 5 de diciembre de 2016 20:16

Todas las respuestas

  • Un consejo para cuando preguntes en los foros: Si quieres que puedan ayudarte los usuarios del foro, que solo ven lo que has escrito en el mensaje pero no tienen tu ordenador delante para verlo, da detalles más precisos sobre los errores que observes. No digas "me da error", señala siempre la línea exacta del código fuente en la que ocurrió el error. Y no basta con decir que es un "InvalidOperationException". Copia entero y con exactitud el mensaje de la excepción, que suele contener un texto explicativo además del tipo de la excepción. Y desde Visual Studio, abre el indicador de la excepción y desciende al InnerException (si es que existe) y muéstranos también el texto y los detalles del InnerException. También puede ser útil la traza de pila, si es que trae información relevante sobre cómo se alcanzó la situación de error.
    lunes, 5 de diciembre de 2016 22:42
  • Hola. Puedes darnos la información que solicita Alberto? Esperamos que no te haya sentado mal el consejo. Simplemente que para ayudar de una manera mas eficiente se necesita aportar cuanto más información del problema mejor. Gracias

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    martes, 6 de diciembre de 2016 6:33