jump to navigation

WebGet operations July 7, 2008

Posted by npaez in .NET.
Tags: ,
add a comment

En ocasiones puede que tengamos un servicio WCF con operaciones del tipo webget (sobre webHttpBinding), pero que a pesar de ser de tipo GET, las mismas no devuelvan ningun dato (void). En estos casos, por default WCF nos devolverá un objeto JSON vacio. Para evitar dicho objeto y especificar que la operación no devuelva nada podemos utilizar la siguiente línea de código:

WebOperationContext.Current.OutgoingResponse.SupprressEntityBody = true;

Espero les resulte útil.

Interoperabilidad .asmx cliente wcf May 19, 2008

Posted by npaez in .NET.
Tags:
add a comment

Recientemente nos encontramos en la necesidad de invocar un servicio .asmx securizado con autenticación windows (en IIS) desde un cliente wcf fuera del dominio.

Para resolver esto utilizamos un endpoint con binding basicHttp y la siguiente configuración:

<binding name=”CentralWebServiceChSoap” 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=”TransportCredentialOnly”>
<transport clientCredentialType=”Ntlm”/>
</security>
</binding>

Por otro lado al utilizar el proxy wcf es necesario setearle las credenciales de la siguiente forma:

proxy.ClientCredentials.Windows.ClientCredential.Domain = “xxx.com”;
proxy.ClientCredentials.Windows.ClientCredential.UserName= “useryyyy”;
proxy.ClientCredentials.Windows.ClientCredential.Password= “zzzzz”;
proxy.ClientCredentials.Windows.AllowNtlm = true;
Espero que les resulte útil.