Monthly Archives: September 2004

When does an error message make me happy?

When it is due to the fact that my web service and client application really ARE reading my policy files!

“Microsoft.Web.Services2.Policy.PolicyVerificationException: WSE464: No policy could be found for this message.”

I’m still in the middle of wiring this up. I have to say that the refactoring process is definitely time consuming (and very educational). It is MUCH easier of course to implement WSE2 when you are working with new projects.

I am working with a client app that has MANY components and many different web services. Even though it is working already, and seems foolish to attempt to tackle this, I know that if I can get this working with wse2 then I have accomplished and learned a lot.

VT Jobs:Sr. Programmer 6 month contract [FILLED]

Senior Programmer Analyst
Burlington, VT
6 months Contract  

This position is responsible for design, development and implementation duties for a web based aircraft finance tracking application.   This position will work closely with business personnel, as well as other IS and IT personnel to gather business and technical requirements needed to successfully design and develop new system features, enhancements to current functionality and defect fixes.  This position reports to the Manager, Structured Finance Business Systems.

Requirements
5+ years systems development experience with a concentration in mission critical web based applications. Expertise in VB.Net, ASP.NET, VB6, ASP, XML, XSL, XSLT, HTML, VSS and JavaScript. In depth knowledge of Microsoft SQL 2000, database design, programming and architecture.
MCSD or MCAD required. MCDBA and other certifications a plus
4 year degree in Computer Science or MIS or equivalent industry experience
Background in Structured Finance or other financial industry experience a plus.

Contact:
Kishore Khandavalli
iTech US, Inc.
Tel: 802 383 1500
Fax: 802 383 1501
www.iTechUS.com

WSE2 Config Tool and Policy on Remote Web Servers – NOT?

This isn’t lookin’ good. It seems I may have to hand code my policies after all since my web service is not on localhost. When you click okay on this message you get a second one and finally enable policy flag gets unchecked. I’ve been trying to trick it, by creating the PolicyCache.Config file, by editing the web.config and more, but to no avail.

update ..and if I manually create a policy file, whether I name it with the extention config or xml, if I do anything in the wse2 settings config tool and save them (even if they have nothing to do with policy), the <cache name=“myconfigfile.xml“/> gets removed from the <policy> tags in my web.config. This can’t be right. I must be doing something wrong.

Doing a WSE2 jig of happiness

okay- I seem to have picked up this “jig” thing from Ted Neward, but I just noticed something – that is MUCH more obvious when working with code you know well, rather than fiddling little samples.

With WSE1.0, you have to modify your client’s proxy to the web service so that it inherits from Microsoft.Web.Services.WebServicesClientProtocol instead of the default System.Web.Services.Protocols.SoapHttpClientProtocol. Every time you update the web reference, you have to remember to go back into the proxy and make that change. I have gotten into the habit, but really it’s just one more thing I need to remember, cluttering up my brain.

I have just modified the client component that has been working with WSE1 to use WSE2. When I updated the web reference in that project, the inherited class was automatically changed to Microsoft.Web.Services2.WebServicesClientProtocol.

This makes me very happy. I can free up that little space in my brain now for more important things! And it is one less barrier to getting regular programmers to use this stuff. Thanks WSE folks!

(I should point out that you get TWO proxy classes and this happens to the WSE2 version…)

WSE2 in the real world

I am finally converting my web service login and authentication procedures for one of my big production apps. Currently it is using straight web services, with a combination of soap headers and a System.Web.Security.FormsAuthentication ticket which is returned to the client as an encrypted string to be sent back with future requests as well as cached on the server. Lastly, I have a little user class that stores some details about the user that are used for authorization on the client end.

It’s somewhat similar to a secure conversation model because my token also times out every two minutes and has to be regenerated, but I don’t have to authenticate on every single message.

But an interesting difference is that I am explicitly authenticating at the user login (like we always have done, right?) whereas with the ws-security model, I will authenticate along with my actual requests. So if I were CODING all of this (which I’m not sure if I choose between hand coding in order to drill the stuff in to my brain better, or if I will just use the config tool and let that and policies do the grunt work for me — and if you saw what a GORGEOUS day it is out – you’d probably vote for the latter, too! :-)) …where was that sentence? Oh yeah, I will basically strip out the authentication that happens at login.

Thereare some cases where I am doing application updating and I require authentication at login for that process also. But for the other apps, I get to just rip out SO MUCH CODE – yippee – on both the client side and the ws side. Currently, on the client side, I am stuffing the token in the header of every ws call, so I won’t have to do that any longer. On the ws side, every method takes that token and checks against the cache to see if it’s still valid. So I get to take that code out. If it’s not valid, I was returning nothing to my client and the client has to send back the login/pw (which is still available to the app) and get another token. So all *that* code can go, too.

Rip rip rip, delete delete delete.

Fantastic Vermont Property Rental for 2005

My friend and neighbor, Sarah Jane Williamson, is going to rent her fabulous property out for the year 2005.

The house is furnished and it is one groovy place. Sarah Jane has a very unique style. The house was completely renovated in 1986 and the barn from 1995-1997. Sarah Jane is an organic farmer and the perennial beds around the house are incredible. We spend a lot of time on Friday evenings there, in the summer and fall on her porch and in the winter, cozied up to the fire place. The house is on a paved country road and about 35 min. to Burlington. Huntington is a very cool community with a lot of entrepreneurs and artists living here as well as many old-time Vermonters which makes for an interesting mix. There are two small country stores and gasoline about 1 mile away and some cool small towns about 15 minutes in different directions. And she has DSL! It is really heavenly here. If you like winter stuff, you’ve got 30 acres of great cross country skiing and you are 10 miles from Mad River Glen for skiing in the winter and right near Camel’s Hump for hiking year round. And of course, to top it off, you can attend meetings at Vermont.NET and VTSQL if you happen to be a geek. Burlington is one of the very cool small cities in the country with lots of great food, music and art. And well, Vermont is…just Vermont. Heaven.  We are also about 4 hours from Boston, 2 hours from Montreal and a quick cheap trip on Jet Blue to NYC. A little further to Seattle :-). Burlington has an int’l airport served by five major airlines as well as JetBlue and Independent which makes quick hops to D.C. This is what we call “having your cake and eating it, too!”

Quantum Cryptography…next step for public private keys and encryption?

There is an AP article that has been picked up by a lot of papers around the world and I’ll link to it on msnbc’s site. The article is about using quantum physics for encryption via photons (light particles) – rather than the keys (strings of random numbers) we use today. It’s pretty far out but not even totally new. There are a few companies already offering solutions (eg MagiQ Technologies) and Harvard is working on the availability on the web. Pretty amazing stuff. I guess in __ years from now, it will be as common as sliced bread.