There is a web service written with WCF that I’m adding as reference. Proxy class generator works flawlessly when I add it to as service reference but it generates a slightly different class when I add it as web reference using service.svc?WSDL. Here’s are the differences:
//service reference
public partial class TestServicesClient : ... // correct class name
{
public int TestMethod(string serviceID, int dealID) // correct method signature
{ ... }
}
//web reference
public partial class TestServices: ... //different class name
{
public void TestMethod(string serviceID, int dealID, bool dealIDSpecified, out int TestMethodResult, out bool TestMethodResultSpecified) // different method signature
{ ... }
}
I tried using wsdl.exe for generating web reference class, didn’t help.
What is wrong here?
Nothing is wrong here.
Service Referenceis the “new” way to use a WCF Service, it removes overhead such as the “Specified”-parameter, “Result”-parameter and “Result Specificed”-parameter.You can still use other properties/methods to check if a parameter is specified or if there is a result. But before WCF, it changed the method signature.
You use a Service Reference and a Web Reference a bit different and that’s just the way it is.
Here’s some additional reading:
And to quote from a reply to “What is the difference between WCF service and web service”