Estoy tratando de consumir un webservice en C#. Cada vez que intento llamar a la función desde la web de la clase de servicio que estoy recibiendo un «encabezado SOAP Acción no fue comprendido».He añadido en la web de referencia[no servicio de referencia] apuntando el servicio web en mi proyecto. Han seguido los siguientes pasos para agregar la referencia web

1) haga clic derecho en el proyecto -> Agregar WebReference

cuando examiné el servicio web en el navegador web he encontrado esto en la cabecera

<wsdl:definitions name="MyService" targetNamespace="http://tempuri.org/">
    <wsp:Policy wsu:Id="WSHttpBinding_ICAIService_policy">
        <wsp:ExactlyOne><wsp:All><sp:TransportBinding>
    <wsp:Policy>

He hecho el siguiente código para llamar al servicio web funciones

WebStruct webS = new WebStruct();
webS.Name = "Peter";
webS.ID = 22;

webS.Find(webS);
¿Cómo se wsHttpBinding y webHttpBinding relacionados con su pregunta? Web de referencia de los usos más antiguos ASMX API y no es compatible con los servicios expuestos en estos enlaces. En realidad webHttpBinding no es compatible con Agregar referencia de servicio así.

OriginalEl autor logeeks | 2011-05-18

5 Comentarios

  1. 4

    Eliminar la Referencia Web y agregar una Referencia de Servicio en su lugar.

    sí, este fija el mismo mensaje de error para mí. gracias.
    Esto no soluciono para mí. WsBinding no entiende estas cabeceras

    OriginalEl autor Anthony Faull

  2. 2

    Trate de usar simples extremo de servicio BasicHttpBinding de enlace. Esta unión es compatible con .NET 2.0.

    OriginalEl autor Milan Matějka

  3. 0

    Se puede comprobar con su webservice proveedor? Parece que la necesidad de algunos de cabecera personalizada de la información para procesar su solicitud. Agregar encabezados por los proveedores de servicio son muy comunes para aumentar la seguridad.

    OriginalEl autor Shailesh

  4. 0

    SoapAction errores sólo fue cuando fui a la «Configurar el Servicio de Referencia…» propiedades y actualizado el Servicio de Referencia con estas opciones marcadas.

    y marcarse estos dos cuadros:

    GARRAPATA Generar operaciones asincrónicas
    GARRAPATA Siempre generar contratos de mensaje

    OriginalEl autor hamish

  5. -3

    aquí es buen código también si usted lo necesita:

    //Set username and password for Basic Auth
    service.ClientCredentials.UserName.UserName = "usernamehere";
    service.ClientCredentials.UserName.Password = "passwordhere";
    
    //Ignore invalid SSL certs
    System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
    -1: ¿Qué tiene esto que ver con la pregunta?

    OriginalEl autor hamish

Dejar respuesta

Please enter your comment!
Please enter your name here