Bueno, el caso es que iba a buen ritmo, pero me he atascado con la implementación en una web, necesito llamar a unos servicios que tiene otra empresa, que deben actualizar su base de datos cuando haces alguna modificación en la web. Por ahora sólo trabajo con 3 servicios: candidatos, clientes y login. Candidatos y Login funcionan correctamente, Clientes peta antes de hacer apenas nada.
El error que da es el siguiente (pongo quote porque code se ve fatal):
Cita:
Ya sé que diréis que use el buscador y tal, pero llevo 3 días de trabajo perdidos con esto, y por más que busco no veo solución, por no hablar de que todos los links que encuentro son posts de 2006, 2007... de 2010 como mucho, y la mitad hablan de un archivo web.config que no tengo, quizás porque los servicios los ofrece otro servidor al que no tengo acceso, pero como dije antes, no tengo mucha idea.<nativehr>0x81020089</nativehr><nativestack></nativestack>System.InvalidOperationException: No se encontró el elemento de extremo predeterminado que hace referencia al contrato 'clientes.ClienteServices' en la sección de configuración de cliente de ServiceModel. La razón puede ser que no se encontró ningún archivo de configuración para la aplicación o que no se encontró ningún elemento de extremo correspondiente a este contrato en el elemento de cliente.
en System.ServiceModel.Description.ConfigLoader.LoadC hannelBehaviors(ServiceEndpoint
en System.ServiceModel.Description.ConfigLoader.LoadC hannelBehaviors(ServiceEndpoint
El app.config que tengo es el siguiente:
Código XML:
Con el depurador he conseguido saber que el error lo da en esta línea:Ver original
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <bindings> <basicHttpBinding> <binding name="LoginServicesServiceSoapBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <security mode="Transport"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> <binding name="LoginServicesServiceSoapBinding1" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <security mode="None"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> <binding name="ClienteServiceImplServiceSoapBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <security mode="Transport"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> <binding name="ClienteServiceImplServiceSoapBinding1" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <security mode="None"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> </basicHttpBinding> </bindings> <client> <endpoint address="https://servicestest.ebroker.es/servicios/cliente" binding="basicHttpBinding" bindingConfiguration="ClienteServiceImplServiceSoapBinding" contract="clientes.ClienteServices" name="ClienteServiceImplPort" /> <endpoint address="https://servicestest.ebroker.es/servicios/login" binding="basicHttpBinding" bindingConfiguration="LoginServicesServiceSoapBinding" contract="login.LoginServices" name="LoginServicesPort" /> </client> </system.serviceModel> </configuration>
ClienteServicesClient serviceCliente = new ClienteServicesClient();
Para más inri, se da el caso de que Candidatos y Login me funcionan correctamente, estando exactamente igual Candidatos que Clientes, no lo entiendo, aparte, también tengo otro proyecto hecho, sin sincronizar con Sharepoint, sino sólo con código C#, en el que uso todos los servicios (clientes, candidatos, login y otros más, que dependen de cliente), y ahí el servicio de clientes no da absolutamente ningún error, eso es lo que más me mosquea.
¿Alguna idea? Y perdón por la parrafada. Estoy un poco desesperado, ya que los clientes son fundamentales para seguir probando facturas, recibos y tal... así que no puedo avanzar sin que funcione.