A veces sucede que necesitas consumir un web service que implementa DIME (WSE 1.0/ 2.0) y te preguntas como se hace esto desde .NET Compact Framework.
Al buscar uno encuentra muchas cosas. Casey Chesnut es el creador del soporte WSE 2.0 para .NET Compact Framework y se encargo de portarlo al archi celebre OpenNETCF. OpenNETCF posee una clase OpenNETCF.Web.Services2.Dime que permite trabajar con ellas, solo debes seguir las indicaciones que nos da este amigo en el foro de opennetcf y listo:
Una vez creado el proxy del web service a consumir debes
1. En Reference.cs o Reference.vb, cambiar la clase base de tu :
System.Web.Services.Protocols.SoapHttpClientProtocol
a
OpenNETCF.Web.Services2.Dime.DimeWrap
2. Insertar este nuevo atributo en el webmethod a usar
[OpenNETCF.Web.Services2.Dime.DimeExtension]
justo antes de la línea:
[ System.Web.Services.Protocols.SoapDocumentMethodAttribute ("yada-yada-yada..."... ]
en vb.net seria
<OpenNETCF.Web.Services2.Dime.DimeExtension(),System.Web.Services.Protocols.SoapDocumentMethodAttribute ("yada-yada-yada..."... >
3. En vez de llamar a el metodo de WSE 2.0 en el cliente
yourProxy.ResponseSoapContext.Attachments,
usa la colección
yourProxy.ResponseAttachments
Saludos ojala les sirva