Error de conección del Cliente

15/06/2007 - 13:14 por AOG | Informe spam
Hola, tengo problemas cuando ejecuto un cliente consumiendo servicios WCF con
protocolo net.TCP, si cambio la configuración del archivo config utilizo un
endpoint basicHttpBinding va bien.

En la máquina donde corre el servidor WCF tiene lo puertos TCP que utilizo
abierto.

Me da el siguiente error en el cliente:

Error de negociación de seguridad SOAP:
net.tcp://192.168.255.2:1024/Empresa/Servicio/svc para el destino
net.tcp://192.168.255.2:1024/Empresa/Servicio/svc para el destino consulte
la excepción interna para obtener más información:
El mensaje o firma proporcionados para comprobación han sido cambiados

Este es mi archivo de configuración en el cliente:

<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IServicioEmpresa"
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>
<netTcpBinding>
<binding name="NetTcpBinding_IServicioEmpresa"
closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00"
sendTimeout="00:01:00"
transactionFlow="false" transferMode="Buffered"
transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10"
maxBufferPoolSize="524288" maxBufferSize="65536"
maxConnections="10"
maxReceivedMessageSize="65536">
<readerQuotas maxDepth="32"
maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384"
/>
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<transport clientCredentialType="Windows"
protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address="http://192.168.255.2:8080/Empresa
/ServicioEmpresa.svc/svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IServicioEmpresa"
contract="proxy.IServicioEmpresa"
name="BasicHttpBinding_IServicioEmpresa" />

<endpoint address="net.tcp:// 192.168.255.2:1024/Empresa/svc"
binding="netTcpBinding"
bindingConfiguration="NetTcpBinding_IServicioEmpresa"
contract="proxy.IServicioEmpresa"
name="BindingServicio">
<identity>
<userPrincipalName value="MYSER\AOG" />
</identity>
</endpoint>
</client>
</system.serviceModel>

Tiene que ser de permisos pero no se como solucionarlo.

Un saludo.

Preguntas similare

Leer las respuestas

#1 villagra
18/07/2007 - 13:41 | Informe spam
Hola, pudiste resolverlo?

Yo estoy intentando usar el un proveedor personalizado de asp.net
membership y al intentar acceder al servicio me da el mismo error que
a ti

Error de negociación de seguridad SOAP con 'http://localhost:52051/
WCFDemo2/Service.svc/mex' para el destino 'http://localhost:52051/
WCFDemo2/Service.svc/mex'.
Consulte la excepción interna para obtener más información.

Gracias y un saludo.


On 15 jun, 13:14, AOG wrote:
Hola, tengo problemas cuando ejecuto un cliente consumiendo servicios WCF con
protocolo net.TCP, si cambio la configuración del archivo config utilizo un
endpoint basicHttpBinding va bien.

En la máquina donde corre el servidor WCF tiene lo puertos TCP que utilizo
abierto.

Me da el siguiente error en el cliente:

Error de negociación de seguridad SOAP:
net.tcp://192.168.255.2:1024/Empresa/Servicio/svc para el destino
net.tcp://192.168.255.2:1024/Empresa/Servicio/svc para el destino consulte
la excepción interna para obtener más información:
El mensaje o firma proporcionados para comprobación han sido cambiados

Este es mi archivo de configuración en el cliente:

<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IServicioEmpresa"
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>
<netTcpBinding>
<binding name="NetTcpBinding_IServicioEmpresa"
closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00"
sendTimeout="00:01:00"
transactionFlow="false" transferMode="Buffered"
transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10"
maxBufferPoolSize="524288" maxBufferSize="65536"
maxConnections="10"
maxReceivedMessageSize="65536">
<readerQuotas maxDepth="32"
maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384"
/>
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<transport clientCredentialType="Windows"
protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address="http://192.168.255.2:8080/Empresa/ServicioEmpresa.svc/svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IServicioEmpresa"
contract="proxy.IServicioEmpresa"
name="BasicHttpBinding_IServicioEmpresa" />

<endpoint address="net.tcp:// 192.168.255.2:1024/Empresa/svc"
binding="netTcpBinding"
bindingConfiguration="NetTcpBinding_IServicioEmpresa"
contract="proxy.IServicioEmpresa"
name="BindingServicio">
<identity>
<userPrincipalName value="MYSER\AOG" />
</identity>
</endpoint>
</client>
</system.serviceModel>

Tiene que ser de permisos pero no se como solucionarlo.

Un saludo.
Respuesta Responder a este mensaje
#2 AOG
19/07/2007 - 08:38 | Informe spam
Hola, si lo he resuelto, y el problema está mi caso en que utilizo un
certificado en un sistema de credenciales personalizado, este certificado
solo lo tenía en la máquina Servidor y no en el cliente, a consecuencia de
esto me mostraba ese error. Se solucionó cuando el mismo certificado lo
instalé también en la máquina cliente. Con esto deduje que si se utiliza en
el sistema de credenciales certificados el servidor espera que el cliente
mande los mensajes certificados, sino lo rechaza ya que no admiten mensajes
que no esté certificados y estos con el certificado igual que el que está en
la máquina servidor.

En tu caso supongo que también has utilizado certificado, pues si es así,
debes de instalar el mismo certificado en el cliente y en el archivo de
configuración del cliente debes de añadir una configuración de comportamiento
y los EndPoint indicar que vas autilizar ese comportamiento:

<client>
<!-- En behaviorConfiguration indico el nombre de configuración del
comportamiento que ha de usar en esta caso ClientCertificateBehavior-->
<endpoint address="net.tcp://localhost:1132/MiServicios/mex"
behaviorConfiguration ="ClientCertificateBehavior"
binding="netTcpBinding"
bindingConfiguration="NetTcpBinding_IMantenimiento"
contract="proxyServicio.IMantenimiento"
name="NetTcpBinding_IMantenimiento">
<identity>
<certificate
encodedValue="QAwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3kwHhcNMDcwNzAyMTAyNTM5WhcNMzGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDh1x0utO6ZhvHJB+PralRlGorD+=" />
</identity>
</endpoint>
</client>

<behaviors>
<endpointBehaviors>
<behavior name="ClientCertificateBehavior">
<clientCredentials>
<serviceCertificate>
<defaultCertificate findValue="MiCertificado"
storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName"/>
<authentication revocationMode="NoCheck"
certificateValidationMode="None"></authentication>
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>

Espero que con esto se te solucione el problema,
Un saludo

"" wrote:

Hola, pudiste resolverlo?

Yo estoy intentando usar el un proveedor personalizado de asp.net
membership y al intentar acceder al servicio me da el mismo error que
a ti

Error de negociación de seguridad SOAP con 'http://localhost:52051/
WCFDemo2/Service.svc/mex' para el destino 'http://localhost:52051/
WCFDemo2/Service.svc/mex'.
Consulte la excepción interna para obtener más información.

Gracias y un saludo.


On 15 jun, 13:14, AOG wrote:
> Hola, tengo problemas cuando ejecuto un cliente consumiendo servicios WCF con
> protocolo net.TCP, si cambio la configuración del archivo config utilizo un
> endpoint basicHttpBinding va bien.
>
> En la máquina donde corre el servidor WCF tiene lo puertos TCP que utilizo
> abierto.
>
> Me da el siguiente error en el cliente:
>
> Error de negociación de seguridad SOAP:
> net.tcp://192.168.255.2:1024/Empresa/Servicio/svc para el destino
> net.tcp://192.168.255.2:1024/Empresa/Servicio/svc para el destino consulte
> la excepción interna para obtener más información:
> El mensaje o firma proporcionados para comprobación han sido cambiados
>
> Este es mi archivo de configuración en el cliente:
>
> <system.serviceModel>
> <bindings>
> <basicHttpBinding>
> <binding name="BasicHttpBinding_IServicioEmpresa"
> 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>
> <netTcpBinding>
> <binding name="NetTcpBinding_IServicioEmpresa"
> closeTimeout="00:01:00"
> openTimeout="00:01:00" receiveTimeout="00:10:00"
> sendTimeout="00:01:00"
> transactionFlow="false" transferMode="Buffered"
> transactionProtocol="OleTransactions"
> hostNameComparisonMode="StrongWildcard" listenBacklog="10"
> maxBufferPoolSize="524288" maxBufferSize="65536"
> maxConnections="10"
> maxReceivedMessageSize="65536">
> <readerQuotas maxDepth="32"
> maxStringContentLength="8192" maxArrayLength="16384"
> maxBytesPerRead="4096" maxNameTableCharCount="16384"
> />
> <reliableSession ordered="true"
> inactivityTimeout="00:10:00"
> enabled="false" />
> <security mode="Message">
> <transport clientCredentialType="Windows"
> protectionLevel="EncryptAndSign" />
> <message clientCredentialType="Windows" />
> </security>
> </binding>
> </netTcpBinding>
> </bindings>
> <client>
> <endpoint address="http://192.168.255.2:8080/Empresa/ServicioEmpresa.svc/svc"
> binding="basicHttpBinding"
> bindingConfiguration="BasicHttpBinding_IServicioEmpresa"
> contract="proxy.IServicioEmpresa"
> name="BasicHttpBinding_IServicioEmpresa" />
>
> <endpoint address="net.tcp:// 192.168.255.2:1024/Empresa/svc"
> binding="netTcpBinding"
> bindingConfiguration="NetTcpBinding_IServicioEmpresa"
> contract="proxy.IServicioEmpresa"
> name="BindingServicio">
> <identity>
> <userPrincipalName value="MYSER\AOG" />
> </identity>
> </endpoint>
> </client>
> </system.serviceModel>
>
> Tiene que ser de permisos pero no se como solucionarlo.
>
> Un saludo.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida