Why did WCF generate proxy transaction interface methods with new methods with different signatures?

I obey the SQL Server 2008 SSRS web service (... / reportserver / ReportService2005.asmx? Wsdl) using WCF with default WCF configuration options, as far as I can tell.

It does something weird when it generates local proxy classes.

I use the ListChildren method as an example:

On the client side, WCF creates an interface as you would expect:

public interface ReportingService2005Soap {

    ListChildrenResponse ListChildren(ListChildrenRequest request);

}

It also generates a “client” proxy that implements this interface:

public partial class ReportingService2005SoapClient :
    System.ServiceModel.ClientBase<ReportingService2005Soap>, ReportingService2005Soap 
{

    [EditorBrowsableAttribute(EditorBrowsableState.Advanced)]
    ListChildrenResponse ReportingService2005Soap.ListChildren(ListChildrenRequest request) 
    {
        return base.Channel.ListChildren(request);
    }

    public ServerInfoHeader ListChildren(string Item, bool Recursive, out CatalogItem[] CatalogItems) {
        ListChildrenRequest inValue = new ListChildrenRequest();
        inValue.Item = Item;
        inValue.Recursive = Recursive;
        ListChildrenResponse retVal = ((ReportingService2005Soap)(this)).ListChildren(inValue);
        CatalogItems = retVal.CatalogItems;
        return retVal.ServerInfoHeader;
    }

}

, , "" , ( , ) EditorBrowsableState.Advanced.

, "out".

, ?

, - "out", , , - .

NB: - SSRS , , WCF .

+5
1

, MessageContract s. , . , , .

+6

All Articles