Tenemos que acceder a un servicio web que utiliza soap11 ... no hay problema yo sólo va a establecer la unión como:¿Cómo puedo crear programáticamente este enlace personalizado?
BasicHttpBinding wsBinding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);
Nop. No dados. Así que le pedí el anfitrión del servicio de por qué estamos teniendo problemas de autenticación y me dijo que nuestra configuración necesaria para que esta unión de encargo:
<bindings>
<customBinding>
<binding name="lbinding">
<security authenticationMode="UserNameOverTransport"
messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11"
securityHeaderLayout="Strict"
includeTimestamp="false"
requireDerivedKeys="true"
keyEntropyMode="ServerEntropy">
</security>
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport authenticationScheme ="Negotiate" requireClientCertificate ="false" realm =""/>
</binding>
</customBinding>
</bindings>
El único problema es que estamos creando nuestra programación no vinculante a través de la configuración. Entonces, si alguien puede señalarme en la dirección correcta con respecto a cambiar mi BasicHttpBinding en un custombinding que se ajuste al valor .config proporcionado, les daré una gran estrella de oro brillante por el día.
Gracias por esto .. Tuve un problema similar cuando tuve que crear otro proyecto de clase que contuviera lógica para realizar una llamada de servicio externo. Realmente no (no pude) mover la configuración de la aplicación.config a la web.config subyacente, por lo que las soluciones anteriores son perfectas para esta instancia, para anular la definición del servicio. –