views:

292

answers:

4

I'm getting near completely different objects from the same WSDL file when I try to Add a Web Reference depending if I am using Express or Pro version of the vs2008 .NET IDE.

1) Why is this happening? I'd expect the WSDL's to act the same across platforms--clearly they are not! 2) How do I determine what tool/wizard the IDE is calling when I select "Add Service Reference".

Details: The VB.NET Express version is adding objects that are desired and expected. I'd like to use the IDE to add the service (not muck with wsdl.exe or svcutil.exe).

I'm using vs2008 Pro v9.0.30729.1 on Windows Server 2003. Express version 9.0.21022.8 RTM on XP.The respective Reference.vb shows the same header "This code was generated by a tool. Runtime Version:2.0.50727.3053".

The wizard UI's to add the service WSDL are visually different between the two IDEs.

Express has Strict On and Pro has Strict Off. The general IDE Strict settings seem to have no control over this.

Java/Eclipse are having no issues with these WSDLs.

A: 

I have seen in the past where wsdl.exe would produce different proxy classes than the VS IDE wizard does. This is probably the explanation.

David Hill
A: 

Try using svcutil.exe instead.

+1  A: 

I'm sorry to say that the proxies visual studio generates are pretty bad.

The real solution for this right now is to write your own contracts and proxies. I know, it's not great news, but 30 minutes of typing might save you from a world of hurt.

Check out the helper classes at idesign.net

-Scott

Scott P
A: 

VS 2005 and 2008 Pro generate different classes when you're adding web references - perhaps this is similar? If you click Advanced when adding a service reference, you'll find Add Web Reference at the bottom of the form.

shauns