Welcome to Windows Communication Foundation (WCF)
Top Tasks :

WCF Community Bloggers

Tuesday, November 21, 2006 - Posts

  • From DynWsLib to... ProxyFactory

    OK, there is one library I wrote a long time ago which has a lot of fans: DynWsLib . This library is for invoking your Web Services dynamically without having to generate a client-side proxy class at design/compile time with WSCF , wsdl.exe or Visual Studio. No need to know the exact Web Service description and endpoint at compile/design time. Just get your WSDL, specify the service (binding) to use and the operations to call, and voila! The library can be especially useful in testing scenarios. Now, I have not been working on the lib for a long time (just released a .NET 2.0 compatible version some time ago). Recently, two great guys, Pascal and Anthony , took the next step and built upon DynWsLib what they call the ProxyFactory . Go and grab it! The emergence of the WCF platform announces the unification of all communications technologies provided by the .NET platform in a common foundation and so their decline, WCF’s adoption curve will be slow enterprise wide. So it is still safe bet to develop a library to leverage .NET 2.0 generics and SchemaImporterExtension mechanisms to offer a similar developer experience. Such a library already exists to target web services communication, it was developed by Christian Weyer but as opposed to the WCF ChannelFactory<TChannel>, his library doesn’t provide an effective mechanism to handle specific types during the proxy generation process. This is what is tackled by the ProxyFactory project in taking advantage of SchemaImporterExtension mechanisms. Futhermore, alternative communication techonologies are targetted such as Remoting and WSE. Read More...
  • Requested Display Token For Cardspace Selector to display

    Sergey Shishkin of newtelligence asked a very good question on the Microsoft Cardspace forums here . Basically, the current STS examples out there doesnt show a good sample of how a RSTR will look and be parsed on the client Cardspace selector before it is sent over to the Relying Party (RP) or website. If you click on the "Retrieve" button on the Cardspace selector, while the RST<->RSTR takes place, somehow, the Cardspace selector doesnt show the credentials that will be sent to the RP from the STS, or more commonly known as the Identifying Party (IP). The reason why was that the current STS samples out there ignores the RequestDisplayToken element value and therefore doesnt pump in the RequestedDisplayToken blob. Cardspace selector looks and parses those (RequestedDisplayToken) values as its treats the RequestedSecurityToken as an opaque object. I took some time to figure out how to pump in those values and searching the web turns out a good resource here , surprisingly . Following the stated schema and with a bit of push in the right direction from (my collegue now) Garrett Serack , I managed to hack out some snippets that can be written into the current STS sample (RC1) so that the following XML Blob appears in the RSTR back to the client Cardspace selector. Only then, the selector would be able to show the DisplayToken in the UI to let the subject decide if he/she wants to send the entire claimset over. ( Laws of Identity Rule No 1: User Control and Consent ) <wsid:RequestedDisplayToken xmlns:wsid="http://.../ws/2005/05/identity"> <wsid:DisplayToken> <wsid:DisplayClaim Uri="http://.../ws/2005/05/identity/claims/givenname"> <wsid:DisplayTag> First Name </wsid:DisplayTag> <wsid:Description>http://.../ws/2005/05/identity/claims/givenname</wsid:Description> <wsid:DisplayValue> William </wsid:DisplayValue> </wsid:DisplayClaim> <wsid:DisplayClaim Uri="http://.../ws/2005/05/identity/claims/surname"> <wsid:DisplayTag> Last Name </wsid:DisplayTag> <wsid:Description>http://.../ws/2005/05/identity/claims/surname</wsid:Description> <wsid:DisplayValue> Tay </wsid:DisplayValue> </wsid:DisplayClaim> <wsid:DisplayClaim Uri="http://www/ws/2005/05/identity/claims/emailaddress"> <wsid:DisplayTag> Email Address </wsid:DisplayTag> <wsid:Description>http://.../ws/2005/05/identity/claims/emailaddress</wsid:Description> <wsid:DisplayValue> Read More...

Copyright © 2006 Microsoft Corporation. All Rights Reserved. | Terms of Use | Privacy Statement | Contact Us