The required field Field is missing from the input structure. ---> Microsoft.ReportingServices.Diagnostics.Utilities.MissingElementException: The required field Field is missing from the input structure.


i getting error while doing data driven subscribtion of ssrs using c#.

the required field field missing input structure. ---> microsoft.reportingservices.diagnostics.utilities.missingelementexception: required field field missing input structure.

the stack trace is 

server stack trace: 
   at system.servicemodel.channels.servicechannel.handlereply(proxyoperationruntime operation, proxyrpc& rpc)
   at system.servicemodel.channels.servicechannel.call(string action, boolean oneway, proxyoperationruntime operation, object[] ins, object[] outs, timespan timeout)
   at system.servicemodel.channels.servicechannel.call(string action, boolean oneway, proxyoperationruntime operation, object[] ins, object[] outs)
   at system.servicemodel.channels.servicechannelproxy.invokeservice(imethodcallmessage methodcall, proxyoperationruntime operation)
   at system.servicemodel.channels.servicechannelproxy.invoke(imessage message)

exception rethrown @ [0]: 
   at system.runtime.remoting.proxies.realproxy.handlereturnmessage(imessage reqmsg, imessage retmsg)
   at system.runtime.remoting.proxies.realproxy.privateinvoke(messagedata& msgdata, int32 type)
   at salesforcereportgenerator.ssrsreportservice.reportingservice2010soap.createdatadrivensubscription(createdatadrivensubscriptionrequest request)
   at salesforcereportgenerator.ssrsreportservice.reportingservice2010soapclient.salesforcereportgenerator.ssrsreportservice.reportingservice2010soap.createdatadrivensubscription(createdatadrivensubscriptionrequest request) in d:\ssrssalesforcereportgenerator\salesforcereportgenerator\salesforcereportgenerator\service references\ssrsreportservice\reference.cs:line 12534
   at salesforcereportgenerator.ssrsreportservice.reportingservice2010soapclient.createdatadrivensubscription(trusteduserheader trusteduserheader, string itempath, extensionsettings extensionsettings, dataretrievalplan dataretrievalplan, string description, string eventtype, string matchdata, parametervalueorfieldreference[] parameters, string& subscriptionid) in d:\ssrssalesforcereportgenerator\salesforcereportgenerator\salesforcereportgenerator\service references\ssrsreportservice\reference.cs:line 12547
   at salesforcereportgenerator.program.createdatadrivensubscription() in d:\ssrssalesforcereportgenerator\salesforcereportgenerator\salesforcereportgenerator\program.cs:line 508

please me in this.

  

private static void createdatadrivensubscription() { // connecting report server web service var clientcredentials = new networkcredential("vishal.sahni", "password"); var rs = new reportingservice2010soapclient(); if (rs.clientcredentials != null) { rs.clientcredentials.windows.allowedimpersonationlevel = system.security.principal.tokenimpersonationlevel.impersonation;; rs.clientcredentials.windows.clientcredential = clientcredentials; } rs.open(); var otrusteduserheader = new trusteduserheader(); // report creating data-driven subscription const string report = "/salesforcereport/salesforcereport"; const string description = "programmatic data driven subscription email"; // set extension setting report server email. var settings = new extensionsettings {extension = "report server email"}; // set extension parameter values. var extensionparams = new parametervalueorfieldreference[8]; var = new parameterfieldreference {parametername = "to", fieldalias = "email"}; // data-driven. extensionparams[0] = to; var replyto = new parametervalue {name = "replyto", value = "vishal.sahni@gmail.com"}; extensionparams[1] = replyto; var includereport = new parametervalue {name = "includereport", value = "false"}; extensionparams[2] = includereport; var renderformat = new parametervalue {name = "renderformat", value = "excel"}; extensionparams[3] = renderformat; var priority = new parametervalue {name = "priority", value = "normal"}; extensionparams[4] = priority; var subject = new parametervalue {name = "subject", value = "subscribed report"}; extensionparams[5] = subject; var comment = new parametervalue {name = "comment", value = "here link report."}; extensionparams[6] = comment; var includelink = new parametervalue {name = "includelink", value = "true"}; extensionparams[7] = includelink; settings.parametervalues = extensionparams; // create data source delivery query. var delivery = new datasource {name = ""}; var datasourcedefinition = new datasourcedefinition { connectstring = "data source=server;initial catalog=automatedreports;user id=user;password=user;", credentialretrieval = credentialretrievalenum.store, enabled = true, enabledspecified = true, extension = "sql", impersonateuserspecified = false, username = "user", password = "user" }; delivery.item = datasourcedefinition; // create data set delivery query. var datasetdefinition = new datasetdefinition { accentsensitivityspecified = false, casesensitivityspecified = false, kanatypesensitivityspecified = false, widthsensitivityspecified = false }; var querydefinition = new querydefinition { commandtext = "select customer_part_num ssrsrpttable", commandtype = "text", timeout = 45, timeoutspecified = true }; datasetdefinition.query = querydefinition; var results = new datasetdefinition(); var oserverinfoheader = new serverinfoheader(); bool changed; string[] paramnames; oserverinfoheader = rs.preparequery(otrusteduserheader, delivery, datasetdefinition, out results, out changed, out paramnames); var dataretrieval = new dataretrievalplan {dataset = results, item = datasourcedefinition}; const string eventtype = "timedsubscription"; const string matchdata = "<scheduledefinition><startdatetime>2015-12-18t14:00:00-07:00</startdatetime><weeklyrecurrence><weeksinterval>1</weeksinterval><daysofweek><monday>true</monday><tuesday>true</tuesday><wednesday>true</wednesday><thursday>true</thursday><friday>true</friday></daysofweek></weeklyrecurrence></scheduledefinition>"; var parameters = new parametervalueorfieldreference[1]; var reportparam = new parameterfieldreference { parametername = "customer_part", fieldalias = "customer_part_num" }; // data-driven. parameters[0] = reportparam; try { string subscriptionid = "";

//the below line giving error

oserverinfoheader = rs.createdatadrivensubscription(otrusteduserheader, report, settings, dataretrieval, description, eventtype, matchdata, parameters, out subscriptionid); // line giving error

} catch (exception ex) { console.writeline(ex.tostring()); //got error required field field missing input structure. ---> microsoft.reportingservices.diagnostics.utilities.missingelementexception: required field field missing input structure } { rs.close(); } }








hi, vishal

please format code snippets , insert code block, thanks


don't try hard,the best things come when least expect them to.



SQL Server  >  SQL Server Reporting Services, Power View



Comments

Popular posts from this blog

Conditional formatting a graph vertical axis in SSRS 2012 charts

Register with Power BI failed

SQL server replication error Cannot find the dbo or user defined function........