the error i'm getting is:
argument 2: cannot convert 'system.tuple[]' 'tester.commservice.tupleofstringsqldbtypeanytypep2guuk_sk[]'
from following:
commservice.commserviceclient client = new commservice.commserviceclient(); tuple<string, system.data.sqldbtype, object>[] parameters = new tuple<string, system.data.sqldbtype, object>[] { new tuple<string, system.data.sqldbtype, object>( paramname, system.data.sqldbtype.int, projectid)}; client.open(); string myvalue = client.getscalar(procname, parameters); client.close();
the actual method signature is:
string getscalar(string procedure, ienumerable<tuple<string, sqldbtype, object>> parameters);
i've tried deleting service reference , re-adding it.
i've tried configuring service reference, unchecking 'reuse types in referenced assemblies' option, updating service reference.
i've tried using following, generates same error.
commservice.icommservice service = new commservice.commserviceclient(); commservice.getscalarrequest request = new commservice.getscalarrequest(procname, parameters); service.getscalar(request);
i've noticed reference.cs contains following:
// codegen: parameter 'getscalarresult' requires additional schema information cannot captured using parameter mode. specific attribute 'system.xml.serialization.xmlelementattribute'.
i've used service reference , same method in other projects without issue.
when generate service reference, have option reuse types in referenced assemblies. check option enabled.
right click service reference, select configure service reference..., check reuse types in referenced assemblies , select reuse types in referenced assemblies, click ok.
also, @marc_s's comment correct - should avoid built-in .net types (that aren't native xml types) - if intend service interoperable (i.e. available non-wcf clients).
Comments
Post a Comment