views:

79

answers:

2

Hi,

I haven't seen anything explicitly saying this can't be done, but I want to confirm...

We have a client who needs to consume a web service and they are still using .NET 1.1

I would love to use this as a reason to learn some WCF, I just want to make sure it's compatible..

from what I've read, it looks like I can host the WCF service in IIS and set it up with basicHttpbinding using "securetransport" binding, and that a .NET 1.1 client would be able to access this.

Are there any other considerations I need to take into account?

thanks!

+3  A: 

Yes.

Here's an article with the same question and an answer on how you would do it.

FTA:

If you use a basicHttpBinding

 <endpoint address="basic"
  binding="basicHttpBinding"
  contract="YourNameSpace.IYourService" />

You are telling WCF to use SOAP1.1. This is what ASMX used in ASP.NET 1.1 and 2.0. The Add Web Reference feature of Visual Studio 2003 and 2005 reads the definition of the SOAP web service using WSDL. You can enable WSDL on your WCF Service by including a serviceBehavior with httpGetEnabled for serviceMetaData

You would do this by adding a behaviorConfiguration to your service

<service name="MyService" behaviorConfiguration="MyBehavior">...
</service>
...
<behaviors>
<serviceBehaviors>
<behavior name="MyBehavior">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>

Then you can browse to the HTTP hosted WCF Service using Add Web Reference to create the client proxy, or if you need more flexibility, you can use wsdl.exe(from 1.1 or 2.0) from commandline.

Joseph
A: 

Use basicHttpBinding and try avoiding .NET 2.0 types that don't exist in .NET 1.1.

Darin Dimitrov