none
Como crear dll que serva de puede con un web service wcf-soap1.2 RRS feed

  • Pregunta

  • Como puedo crear un dll  que sirva de puente entre el web service   y uno aplicativo?   esa es una opcion o 

    la otra  que tengo aun en mente es crear el dll y  subirla a sql server  para ser llamado por un procedimiento.

    Como dije...el DLL solo sirviria de puente  para enviar  y recibir informacion del web service. YO anteriormente ya  habia realizado un DLL sencillo que luego implemente en sql server,( en el DLL referencie la direccion web service como una pagina web).

    Ahora  me dieron una nueva direccion de web service (realizada en wcf y con solo soap 1.2(WSHttpBinding)), que no me permite realizarlo de la misma manera que el anterior (lo hice como el anterior y me nuestra al consumirlo ---"error de encabezado soap").

    Realice otro DLL para este mismo caso y cuando intento llamarlo como un web service (como lo que es ) desde sql server....me muestra  error son el system.runtime.serializacion  o con system.servicemodel.

    Antes probe la direccion del servicio ultimo que me dieron , con el programa soap... Para este caso en particular me toco habilitar la opcion (casilla) del programa soap que dice (Add default wsa: To:)

    gracias ...a cualquier ayuda.



    • Editado Hacerdan miércoles, 7 de febrero de 2018 17:29 aclarar
    miércoles, 7 de febrero de 2018 17:27

Respuestas

  • Sobre lo de "crear una DLL que sirva de puente": Esto es trivialmente sencillo si has comprendido cómo funcionan las "Referencias de Servicio". Cuando en un programa haces lo de "agregar referencia a servicio", te añade una clase proxy y luego todo el resto de la aplicación llama a esa clase para acceder al servicio. Aunque esa clase te la mete "dentro" del mismo programa, es una clase perfectamente normal y corriente, y podrías ubicarla en una DLL exactamente igual que cualquier otra clase. Y entonces cualquier programa que tenga una Referencia a esa DLL podría llamar a la clase para acceder al servicio, exactamente igual que cuando la llamabas sin que estuviese dentro de la DLL. OJO con una cosa: Si dejas la configuración predeterminada, que se lee desde el fichero .config, entonces hay que tener en cuenta que en tiempo de ejecución el .config que se usa no es el de la DLL, sino el del ejecutable que llama a la DLL. Tendrás que copiar manualmente la configuración del servicio a dicho .config.

    Sobre el "error de encabezado SOAP" no te puedo decir nada. Parece algún tipo de incompatibilidad entre el protocolo usado por el servicio y la implementación del protocolo en tu cliente. No hay datos para saber cuál es el motivo o cómo resolverlo.

    Llamarla desde SQL Server es muy complejo, porque rueda los ensamblados con privilegios reducidos y con limitaciones en cuanto a las DLLs que se pueden usar. Si buscas por la Red verás que hay artículos de gente que ha conseguido configurar WCF desde SQL Server, pero por lo que recuerdo de la última vez que lo busqué, no era nada sencillo de hacer.

    • Marcado como respuesta Hacerdan miércoles, 7 de febrero de 2018 23:36
    miércoles, 7 de febrero de 2018 21:07
    Moderador