none
Consumir Web Service en C# RRS feed

  • Pregunta

  • Buenas tardes tengo el siguiente problema necesito consumir un Web Service tengo ya armados los mensajes de consultas pero no puedo autentificarme, de donde me tengo que conectar me enviaron un ejemplo de como tengo que hacerlo pero en php es asi:

    // Pull in the NuSOAP code
    require_once('../nusoap-lib/nusoap.php');
    // Create the client instance
    $client = new soapclient('https://<IP del Servidor>:puerto/paymentgw/services/paymentgw?wsdl', 'wsdl');

    // This is what will allow the nuSOAP client to run
    $client->authtype = 'certificate';

    $client->certRequest['sslcertfile']='[path]/file.pem';
    $client->certRequest['sslkeyfile']='[path]/file.key';
    $client->certRequest['CACert']='[path]/File.key';
    $client->certRequest['verifypeer']=0;
    #$client->certRequest['verifyhost']=0;
    $client->certRequest['passphrase']='password'; //
    // end 


    Tengo los archivos que se me indican pero no puedo hacer lo estoy intentando con X509 certificate en c# pero he logrado que me funcione si algunos que usted me puediera ayudar por favor se los agradeceria mucho.

    Saludos Cordiales y Bendiciones


    Josue Borjas

    jueves, 25 de febrero de 2010 17:20

Respuestas

Todas las respuestas

  • hola

    sabes con que se ha desarrollado ese servicio web ?
    lo comento porque no tiene la extesnion .asmx


    - has probado agregando un web reference usando la url
    https://<IP del Servidor>:puerto/paymentgw/services/paymentgw?wsdl


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 25 de febrero de 2010 17:26
  • Es como te dijo Leandro, pero te lo voy a decir por pasos, ya que si colocastes la duda es que no lo has probado, hacs click derecho encima de las referencias del proyecto-->Add Service Reference.
    Ahora en la direccion colocas la que tienes en el ejemplo especificando el servidor y el puerto y le das GO, y ahi te saldra el servicio y con sus metodos, de verdad .Net, te hace todo uno se preocupa por la logica.

    cuando puedas hechale un vistaso a WCF..
    DCE 2005 : 5 Estrellas Platino. Blog: http://danielantonini.com/Blog/
    jueves, 25 de febrero de 2010 18:14
  • Leonardo gracias por tu respuesta, a mi me enviaron el archivo .wsdl otro archivo .pem y otros dos que son .key, yo coloque el archivo wsdl en una carpeta le di agregar referencia web y le di como direccion la ubicacion del archivo no se si esto es correcto hacerlo ? pero me dio los metodos del web service, el web service no se en que esta desarrollo. Agradeciendo de ante manos sus valiosas colaboraciones Josue Borjas
    viernes, 26 de febrero de 2010 0:36
  • Daniel gracias por tu respuesta, a mi me enviaron el archivo .wsdl otro archivo .pem y otros dos que son .key, yo coloque el archivo wsdl en una carpeta le di agregar referencia web y le di como direccion la ubicacion del archivo no se si esto es correcto hacerlo ? pero me dio los metodos del web service, el web service no se en que esta desarrollo. Agradeciendo de ante manos sus valiosas colaboraciones Josue Borjas
    viernes, 26 de febrero de 2010 0:38
  • de nada marcalo como resp.. para no dejar la pregunta sin resp..

    de nada
    DCE 2005 : 5 Estrellas Platino. Blog: http://danielantonini.com/Blog/
    viernes, 26 de febrero de 2010 0:49
  • Estimado Leandro, Buenos dias he intentado lo que me has dicho y sigue igual sin obtener respuesta del Web Service y si hago un telnet a esa ip y puerto me da echo, me genera los sieguintes exepciones

    The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

     

    The remote certificate is invalid according to the validation procedure.

    Yo estoy intentando agregar tambien asi el Certificado el cual me enviaron en un archivo .pem pero no encuentro como agregar los otros dos que son .key.

    El archivo PEM dice BEGIN CERTIFICATE
    Los otros dos dicen BEGIN RSA PRIVATE KEY

    Aqui intento agregar el certificado

    string sslcertpath = @"H:\SourceCode\FileSSl.pem";
    sslcert = new X509Certificate(sslcertpath, "password");
    SOAPClient.ClientCertificates.Add(sslcert);


    Saludos Cordiales



    Josue Borjas

    viernes, 26 de febrero de 2010 16:10
  • hola

    que tema asegun veo tu web service esta desarollado en java

    CREACIÓN E INVOCACIÓN DE WEBSERVICES POR SSL

    veras en el link que usa : https://localhost:8443/axis/services/Calculadora?wsdl
    como url del servicio, por lo que veo es similar a al que tienes


    - si accedes a esta desde el IE ,puedes visualizar el xml del wsdl ?
    como hace en el link


    el tema aqui esta en la autenticacion por el puerto seguro

    Web Services Security in The .NET Framework

    segun veo el codigo que suas para cargar el certificado estaria correcto
    lo que no estoy seguro si el certificado .pem sera soportado

    saludos



    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 26 de febrero de 2010 16:26