Daily Archives: January 14, 2006

WSE 3.0 to Indigo: What about TCP transports?

WSE 2.0’s messaging API gave us the ability to host web services outside of IIS. Though it was very cool, I didn’t dig that too much because you had to give up all of the other WSE goodness that only worked in ASMX – including security.

In WSE 3.0, they changed this so that you could build ASMX web services, do all of the great security stuff and then host it outside of IIS – for me this meant TCP, though there are other transports you can use as well.

Now that I am using WSE3 to secure my web services that are currently being used (while we await WCF 🙂 ), I am trying to do so with WCF in mind. It is no secret that WSE 3.0 is going to be wire level compatible with WCF as this is was of it’s major design goals.

As I dig further into this, I learn that this is only true for HTTP but not the TCP hosted services. However, it is possible to write your own transport channel in Indigo specifically for this purpose and this is something that Yasser Shohoud and Kenny Wolf did at PDC (here’s the code for that). Luckily for me, I have the DVD because that was not a session I attended. I also missed Mark Fussell’s talk on moving messages between WSE 3 and Indigo since I had remembered it as a 10:15 session when it was in fact an 8:30 am talk (and had a leisurely breakfast instead – oops!). (Again, thank goodness for the DVDs)

At ASP Connections in April, I will be doing a talk about using WSE 3.0 so that the messages produced by WSE 3.0 today to secure your web services,  will still be valid when communicating with apps that use WCF.  So as I prepare for this, I will probably be sharing tidbits here and there.



Don’t Forget: www.acehaid.org

Attributes with property values in Visual Basic

This got me once again. It’s really hard to remember!

When you do declarative programming in Visual Basic and you use attributes that have properties, you need to set the values on those properties. VB does this in a funny way.

Here is a C# attribute for BP (Basic Profile) Conformance in a Web Service:

[WebServicesBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

Setting the value of the ConformsTo property is a normal looking equals (=) operator.

But with VB, look at how we set the property

<WebServicesBinding(ConformsTo: = WsiProfiles.BasicProfile1_1)>

We put a colon in front of the equals sign.

This is not new to VB2005, but attributes are something I so rarely use (but will be using more and more as I do more WCF programming) that I forget from one year to the next.

I have never been able to find an explanation of why this is and only know it because I get a compiler error when I forget it ("named argument expected") and I have to see another example of it’s use somewhere before I realize it. Intellisense doesn’t give me a helping hand with it (as far as I have seen in vs2003 or vs2005). So, perhaps by writing this blog post, I can commit this to memory finally!

 

Don’t Forget: www.acehaid.org

Next Vermont Software Developer Alliance Meeting: Wed Jan 18th

Open Membership Discussion

How can VTSDA Move Forward and Benefit the Membership?

VTSDA has been around since late 2004. Since this time we have had many monthly meetings, but what else has VTSDA accomplished? What do we currently have in the works? What else should we be thinking about? Who would like to get more involved to help us move forward?

Come to this meeting to have a voice in the future of VTSDA.

Wed Jan 18th, 12- 2pm, Ethan Allen Club Burlington

Luncheon Meeting: VSTDA Members: $15, Non-Members: $20

More information at www.vtsda.org

Don’t Forget: www.acehaid.org