Alguna idea de cómo solucionar este problema?
UserService.UserServiceClient userServiceClient = new UserServiceClient();
userServiceClient.GetUsersCompleted += new EventHandler<GetUsersCompletedEventArgs>(userServiceClient_GetUsersCompleted);
userServiceClient.GetUsersAsync(searchString);
.
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_UserService"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:52185/UserService.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_UserService"
contract="UserService.UserService"
name="BasicHttpBinding_UserService" />
</client>
<behaviors>
<serviceBehaviors>
<behavior name="Shell.Silverlight.Web.Service3Behavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<services>
<service behaviorConfiguration="Shell.Silverlight.Web.Service3Behavior"
name="Shell.Silverlight.Web.Service3">
<endpoint address=""
binding="basicHttpBinding"
contract="Shell.Silverlight.Web.Service3" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
No se pudo encontrar el elemento de punto final predeterminado que hace referencia al contrato 'UserService.UserService' en la sección de configuración del cliente ServiceModel. Esto puede deberse a que no se encontró ningún archivo de configuración para su aplicación o a que no se pudo encontrar ningún elemento de punto final que coincida con este contrato en el elemento de cliente.
¡Resuelto!
No mencioné que se trataba de una aplicación Silverlight. Tenía la referencia de wcf en una DLL que tenía su propio archivo "ServiceReferences.ClientConfig". Moví el contenido de ServiceReferences.ClientConfig del DLL al proyecto principal de silverlight y funcionó.
Respuestas:
Tuve un encuentro con el mismo problema. Mi aplicación también era una aplicación Silverlight y el servicio se llamaba desde una biblioteca de clases con un UserControl personalizado que se estaba utilizando en ella.
La solucion es simple. Copie las definiciones de punto final del archivo de configuración (por ejemplo, ServiceReferences.ClientConfig) de la biblioteca de clases en el archivo de configuración de la aplicación silverlight. Sé que esperarías que funcionara sin tener que hacer esto, pero aparentemente alguien en Redmond tuvo vacaciones ese día.
fuente
web.config
?También puede establecer estos valores mediante programación en la biblioteca de clases, esto evitará el movimiento innecesario de los archivos de configuración a través de la biblioteca. El código de ejemplo para BasciHttpBinding simple es:
fuente
En caso de que alguien tenga el mismo problema mientras usa WPF (en lugar de WCF o Silverlight):
Tuve este error al conectarme a un servicio web. Cuando mi código estaba en la solución "principal" de la aplicación WPF, no había problema, funcionaba perfectamente. Pero cuando moví el código a la solución de capa DAL más sensible, arrojaría la excepción.
Como ha dicho "Sprite" en este hilo, es necesario copiar manualmente la etiqueta.
Para las aplicaciones WPF, esto significa copiar la etiqueta de app.config en mi solución DAL a app.config en la solución de aplicación WPF principal.
fuente
Me encontré con el mismo problema, por alguna razón, Visual Studio no actualizó la configuración web cuando agregué el servicio por primera vez. Descubrí que la actualización de la Referencia de servicio también solucionó este problema.
Pasos:
fuente
Cambie el web.config del servicio WCF como "endpoint address =" "binding =" basicHttpBinding "..." (anteriormente binding = "wsHttpBinding") Después de compilar la aplicación, en "ServiceReferences.ClientConfig" "" configuración> tiene el valor . Entonces funcionará bien.
fuente
Cambie el nombre de output.config producido por svcutil.exe a app.config. funcionó para mí.
fuente
¿Tiene una interfaz que implementa su clase "UserService"?
Sus puntos finales deben especificar una interfaz para el atributo del contrato:
fuente
No estoy seguro si esto es un problema. El punto final y el enlace tienen el mismo nombre
fuente
No estoy seguro de si es realmente un problema, pero veo que tiene el mismo nombre para su configuración de enlace ().
Por lo general, trato de llamar a mis puntos finales algo como "UserServiceBasicHttp" o algo similar (el "Binding" realmente no tiene nada que ver aquí), y trato de llamar a mis configuraciones de enlace algo con ".... Configuration", por ejemplo "UserServiceDefaultBinding", para evitar posibles conflictos de nombres.
Bagazo
fuente
Tuve que agregar el servicio en el archivo App.config que llama para que funcione. Asegúrese de que lo pero después de todo. Esto pareció funcionar para mí.
fuente
Este problema ocurre cuando usa su servicio a través de otra aplicación. Si la aplicación tiene un archivo de configuración, simplemente agregue la información de configuración del servicio a este archivo. En mi situación, no había ningún archivo de configuración, así que utilicé esta técnica y funcionó bien.Simplemente almacene la dirección URL en la aplicación, léala y, usando el método BasicHttpBinding (), envíelo a la aplicación de servicio como parámetro.Esta es una demostración simple de cómo lo hice eso:
fuente
Para aquellos que trabajan con los servicios AIF de AX 2012 e intentan llamar al proyecto C # o VB dentro de AX (x ++) y sufren tales errores de "no se pudo encontrar el punto final predeterminado" ... o "no se encontró contrato" ... volver a su proyecto de visual studio (c #) y agregue estas líneas antes de definir su cliente de servicio, luego implemente el proyecto y reinicie el cliente AX y vuelva a intentarlo: Tenga en cuenta que el ejemplo es para el adaptador NetTcp , podría usar fácilmente cualquier otro adaptador según sus necesidades .
fuente
En caso de que esté utilizando la aplicación WPF utilizando el marco PRISM, la configuración debería existir en su proyecto de inicio (es decir, en el proyecto donde reside su programa de arranque).
En resumen, simplemente elimínelo de la biblioteca de clases y colóquelo en un proyecto de inicio.
fuente