Web Methods
41 min
the following sections describe the full details for these important note regarding service request subscription note that when accessing the various service catalog web methods via the api, most of the web methods are invoked with respect to the id of the service request subscription record, and not with the id of the request offering itself recall that when the request offering is defined, the user needs to specify whether it is configured as "published and subscribe", or "publish" when configured as published and subscribe , users belonging to the indicated organizational unit and below will have access to the request offering when configured as published , user will have access to the request offering, based on the service level agreement (sla) for the organizational unit the user belongs to the servicereqsubscription record (used internally by the service catalog) contains the information regarding which organizational unit is associated with the request offering, and the sla information, if it is configured relative to the sla in the following sections, several of the web methods will make use of the id value of the servicereqsubscription record for this, a helper web method called getsubscriptionid() can be used, for obtaining the subscription id, which can then be used in any subsequent operations, such as submitrequest() getcategories get the list of available categories for the service catalog request syntax public frsheatgetcategoriesresponse getcategories(string sessionkey, string tenantid) parameters sessionkey key received in the earlier connect request tenantid tenant for which the key is authenticated return value an frsheatgetcategoriesresponse object, defined as follows public class frsheatgetcategoriesresponse { public string status { get; set; } public string exceptionreason { get; set; } public list\<frsheatservicereqcategory> srcategories { get; set; } } the frsheatintegrationfindboresponse class comprises the following fields status – this field provides a status value indicating whether the operation was successful a full description of the available status values is provided in the table below exceptionreason – if there is an exception thrown in the course of running the connect webmethod, the exception information will be captured in this field srcategories – a list of frsheatservicereqcategory objects, each of which represents the category value in the service catalog the frsheatservicereqcategory class is defined as follows public class frsheatservicereqcategory { public string strrecid; public string strname; public string strdescription; } the frsheatservicereqcategory class comprises the following fields strrecid – the recid corresponding to the category value strname – the name of the category strdescription – the description for the category the following table lists the available status values, and describes how to interpret them status explanation success the list of categories in the service catalog can be successfully retrieved, and are available via the srcategories list error an error was encountered during the execution of this web method the corresponding exceptionreason member should be inspected, to determine why the web method has failed example frsheatgetcategoriesresponse getcategoriesresponse = frsvc getcategories(authsessionkey, tenantid); if (getcategoriesresponse status == "success") { foreach (frsheatservicereqcategory srcategory in getcategoriesresponse srcategories) { console writeline("category ", srcategory strname); } } getcategorytemplates get the list of request offerings in the service catalog, which belong to the indicated category request syntax public frsheatgettemplatesresponse getcategorytemplates(string sessionkey, string tenantid, string categoryid, string searchstring) parameters sessionkey key received in the earlier connect request tenantid tenant for which the key is authenticated categoryid the recid of the category in the service catalog, obtained via the getcategories webmethod searchstring a substring for determining the matching request offerings return value an frsheatgettemplatesresponse object, defined as follows public class frsheatgettemplatesresponse { public string status { get; set; } public string exceptionreason { get; set; } public list\<frsheatservicereqtemplatelistitem> srtlist { get; set; } } the frsheatgettemplatesresponse class comprises the following fields status – this field provides a status value indicating whether the operation was successful a full description of the available status values is provided in the table below exceptionreason – if there is an exception thrown in the course of running the connect webmethod, the exception information will be captured in this field srtlist – a list of frsheatservicereqtemplatelistitem objects, each of which represents the request offering matching the search criteria the frsheatservicereqtemplatelistitem class is defined as follows public class frsheatservicereqtemplatelistitem { public string strrecid; public string strname; public string strdescription; public string strsubscriptionid; } the frsheatservicereqtemplatelistitem class comprises the following fields strrecid – the recid corresponding to the request offering strname – the name of the request offering strdescription – the description for the request offering strsubscriptionid – the subscriptionid the following table lists the available status values, and describes how to interpret them status explanation success the list of matching request offerings in the service catalog can be successfully retrieved, and are available via the srtlist member error an error was encountered during the execution of this web method the corresponding exceptionreason member should be inspected, to determine why the web method has failed example frsheatgettemplatesresponse gettemplatesresponse = frsvc getcategorytemplates(authsessionkey, tenantid, categoryid, searchstring); if (gettemplatesresponse status == "success") { foreach (frsheatservicereqtemplatelistitem srtemplatelistitem in gettemplatesresponse srtlist) { console writeline("request offering ", srtemplatelistitem strsubscriptionid, srtemplatelistitem strname); } } getalltemplates get the full list of request offerings in the service catalog request syntax public frsheatgettemplatesresponse getalltemplates(string sessionkey, string tenantid) parameters sessionkey key received in the earlier connect request tenantid tenant for which the key is authenticated return value an frsheatgettemplatesresponse object, defined as follows public class frsheatgettemplatesresponse { public string status { get; set; } public string exceptionreason { get; set; } public list\<frsheatservicereqtemplatelistitem> srtlist { get; set; } } the frsheatgettemplatesresponse class comprises the following fields status – this field provides a status value indicating whether the operation was successful a full description of the available status values is provided in the table below exceptionreason – if there is an exception thrown in the course of running the connect webmethod, the exception information will be captured in this field srtlist – a list of frsheatservicereqtemplatelistitem objects, each of which represents the request offering matching the search criteria the frsheatservicereqtemplatelistitem class is defined as follows public class frsheatservicereqtemplatelistitem { public string strrecid; public string strname; public string strdescription; public string strsubscriptionid; } the frsheatservicereqtemplatelistitem class comprises the following fields strrecid – the recid corresponding to the request offering strname – the name of the request offering strdescription – the description for the request offering strsubscriptionid – the subscription id the following table lists the available status values, and describes how to interpret them status explanation success the list of matching request offerings in the service catalog can be successfully retrieved, and are available via the srtlist member error an error was encountered during the execution of this web method the corresponding exceptionreason member should be inspected, to determine why the web method has failed example frsheatgettemplatesresponse gettemplatesresponse = frsvc getalltemplates(authsessionkey, tenantid); if (gettemplatesresponse status == "success") { foreach (frsheatservicereqtemplatelistitem srtemplatelistitem in gettemplatesresponse srtlist) { console writeline("request offering ", srtemplatelistitem strsubscriptionid, srtemplatelistitem strname); } } getsubscriptionid fetches the subscription id corresponding to the request offering for the current user request syntax public frsheatgetsubscriptionidresponse getsubscriptionid(string sessionkey, string tenantid, string name) parameters sessionkey key received in the earlier connect request tenantid tenant for which the key is authenticated name name of the request offering return value an frsheatgetsubscriptionidresponse object, defined as follows public class frsheatgetsubscriptionidresponse { public string status { get; set; } public string exceptionreason { get; set; } public string subscriptionid { get; set; } } the frsheatgetsubscriptionidresponse class comprises the following fields status – this field provides a status value indicating whether the operation was successful a full description of the available status values is provided in the table below exceptionreason – if there is an exception thrown in the course of running the connect webmethod, the exception information will be captured in this field subscriptionid – the subscription id corresponding to the request offering for the current user the following table lists the available status values, and describes how to interpret them status explanation success the subscription id of the indicated request offering can be accessed via the subscriptionid member notfound there is no request offering available with the given name in the tenant – please ensure that the name of the request offering is spelled correctly error an error was encountered during the execution of this web method the corresponding exceptionreason member should be inspected, to determine why the web method has failed example frsheatgetsubscriptionidresponse subscriptionidresponse = frsvc getsubscriptionid(authsessionkey, tenantid, offeringname); string offeringname = "domain password reset"; if (subscriptionidresponse status == "success") { string subscriptionid = subscriptionidresponse subscriptionid; console writeline("the subscription id for the \\" \\" request offering is ", offeringname, subscriptionid); } getpackagedata retrieve the details of the indicated request offering request syntax public frsheatgetpackagedataresponse getpackagedata(string sessionkey, string tenantid, string strsubscrrecid) parameters sessionkey key received in the earlier connect request tenantid tenant for which the key is authenticated strsubscrrecid the subscription id corresponding to the request offering for the current user return value an frsheatgetpackagedataresponse object, defined as follows public class frsheatgetpackagedataresponse { public string status { get; set; } public string exceptionreason { get; set; } public frsheatservicereqsubscription srsubscription { get; set; } } the frsheatgetpackagedataresponse class comprises the following fields status – this field provides a status value indicating whether the operation was successful a full description of the available status values is provided in the table below exceptionreason – if there is an exception thrown in the course of running the connect webmethod, the exception information will be captured in this field srsubscription – an frsheatservicereqsubscription object, containing the full details of the request offering (such as the parameter details) the frsheatservicereqsubscription class is defined as follows public class frsheatservicereqsubscription { public string strsubscriptionrecid; public string strdatesubscribed; public string strorgunitid; public string strname; public string strdescription; public string strservicename; public string strrecid; public list\<frsheatservicereqtemplateparam> lstparameters; } the frsheatservicereqtemplatelistitem class comprises the following fields strsubscriptionrecid – the subscription id corresponding to the request offering for the current user strdatesubscribed – date when the request offering was marked as published and subscribed strorgunitid – recid of the organizationalunit the request offering is associated with strname – the name of the request offering strdescription – description value of the request offering strservicename – name of the service the request offering is associated with strrecid – the recid of the request offering lstparameters – a list of frsheatservicereqtemplateparam objects, each item representing a parameter in the request offering the frsheatservicereqtemplateparam class is defined as follows public class frsheatservicereqtemplateparam { public string strname; public string strlabel; public string strdescription; public string strtype; public bool ballowselectbyuser; public bool bdbvalidated; public string strrequiredexpression; public bool iscalculated; public bool autofillonlywhenempty; public string strvalidationlistrecid; public string strvalidationlisttableref; public bool bishidden; public string strrecid; public list\<validationconstraint> validationconstraints; public string strvalidationconstraints; public string strautofillexpression; public list\<string> triggerfields; public string strtriggerfields; public string strdefaultvalue; } the frsheatservicereqtemplatelistitem class comprises the following fields strname – name of the parameter strlabel – label of the parameter strdescription – description of the parameter strtype – type of the parameter ballowselectbyuser – flag indicating whether the parameter can be selected by the user bdbvalidated – flag indicating whether the parameter is validated strrequiredexpression – expression indicating how the parameter is (conditionally) required iscalculated – flag indicating whether the parameter is calculated (i e does not take inputs from users) autofillonlywhenempty – flag indicating whether the autofill for the parameter occurs, when the parameter is initially empty strvalidationlistrecid – recid of the named validation list (i e pick list), if the parameter is a dropdown selection strvalidationlisttableref – the name of the business object, from which the dropdown values are retrieved, for the dropdown selection bishidden – flag indicating whether the parameter is hidden strrecid – recid of the request offering parameter validationconstraints – list of validationconstraint objects, used for representing the validation constraints currently set on the parameter strvalidationconstraints – textual representation of the validationconstraints member strautofillexpression – textual representation of the autofill expression triggerfields – list of dependent parameters, upon which the current parameter is dependent upon strtriggerfields – textual representation of the triggerfields member strdefaultvalue – textual representation of the default value for the parameter the following table lists the available status values, and describes how to interpret them status explanation success the details of the request offering can be successfully retrieved, and can be accessed via the srsubscription member notfound there is no request offering available with the given subscription id in the tenant – please ensure that the id of of the request offering is specified correctly recall that the getsubscriptionid web method is used for fetching the subscription id corresponding to the current user error an error was encountered during the execution of this web method the corresponding exceptionreason member should be inspected, to determine why the web method has failed example frsheatgetpackagedataresponse getpackagedataresponse = frsvc getpackagedata(authsessionkey, tenantid, strsubscrrecid); frsheatservicereqsubscription scsrs; if (getpackagedataresponse status == "success") { scsrs = getpackagedataresponse srsubscription; // go ahead and access the relevant properties of interest from the request offering } usercanaccessrequestoffering check whether the current user is entitled to access the given request offering request syntax public frsheatusercanaccessreqofferingresponse usercanaccessrequestoffering(string sessionkey, string tenantid, string loginid, string reqofferingname) parameters sessionkey key received in the earlier connect request tenantid tenant for which the key is authenticated loginid loginid of the user reqofferingname name of the request offering return value an frsheatusercanaccessreqofferingresponse object, defined as follows public class frsheatusercanaccessreqofferingresponse { public string status { get; set; } public string exceptionreason { get; set; } public bool canaccess { get; set; } } the frsheatusercanaccessreqofferingresponse class comprises the following fields status – this field provides a status value indicating whether the operation was successful a full description of the available status values is provided in the table below exceptionreason – if there is an exception thrown in the course of running the connect webmethod, the exception information will be captured in this field canaccess – boolean field, indicating whether the user is entitled to access the given request offering the following table lists the available status values, and describes how to interpret them \<font color="#000000">status\</font>\<font color="#000000">explanation\</font> success the indicated user and request offering can be successfully located in the tenant the canaccess field can then be checked, to determine whether the indicated user is entitled to access the request offering usernotfound no user record can be located in the tenant, with the given loginid value check the loginid value that was passed in, to ensure that it is spelled correctly offeringnotfound no request offering can be found with the given name check the name of the request offering that is passed in, to ensure that it is spelled correctly error an error was encountered during the execution of this web method the corresponding exceptionreason member should be inspected, to determine why the web method has failed example string loginid = "asimon"; string reqofferingname = "domain password reset"; frsheatusercanaccessreqofferingresponse canaccessreqofferingresponse = frsvc usercanaccessrequestoffering(sessionkey, tenantid, loginid, reqofferingname); if (canaccessreqofferingresponse status == "success") { if (canaccessreqofferingresponse canaccess) { console writeline("user can access the request offering ", loginid, reqofferingname); } else { console writeline("user has no access to the request offering ", loginid, reqofferingname); } } submitrequest creates and submits the service request, on behalf of a given user request syntax public frsheatsubmitrequestresponse submitrequest(string sessionkey, string tenantid, string subscriptionid, list\<frsheatservicereqparam> srparameters, string loginid) parameters sessionkey key received in the earlier connect request tenantid tenant for which the key is authenticated subscriptionid the subscription id corresponding to the request offering for the current user srparameters list of frsheatservicereqparam objects, representing the key / values for the parameters, for submission for the service request loginid loginid of the user an frsheatservicereqparam class is defined as follows public class frsheatservicereqparam { public string strname; public string strvalue; } the frsheatservicereqparam class comprises the following fields strname name of the parameter strvalue value for the parameter return value an frsheatsubmitrequestresponse object, defined as follows public class frsheatsubmitrequestresponse { public string status { get; set; } public string exceptionreason { get; set; } public frsheatservicereqrequest reqdata { get; set; } } the frsheatsubmitrequestresponse class comprises the following fields status – this field provides a status value indicating whether the operation was successful a full description of the available status values is provided in the table below exceptionreason – if there is an exception thrown in the course of running the connect webmethod, the exception information will be captured in this field reqdata – an frsheatservicereqrequest object, containing the service request that is successfully submitted the frsheatservicereqrequest class is defined as follows public class frsheatservicereqrequest { public string strrequestrecid; public string strrequestnum; public decimal ftotalprice; public decimal ftotalrecurprice; public string strbyemployee; public string strfulfillmentplantype; public string strurgency; public datetime? datesubmitted; public datetime? dateupdated; public string strupdatedby; public datetime? datedelivery; public string strsubscriptionrecid; public bool isfulfilled; public string strname; public string strdescription; public decimal fprice; public decimal frecurprice; public int nrecurperiod; public int ndeliverycommitment; public string strstatus; public string strcreatedby; public string strrecid; public list\<frsheatservicereqtemplateparam> lstparameters; } the frsheatservicereqrequest class comprises the following fields strrequestrecid – recid of the service request strrequestnum – id of the service request ftotalprice – total non recurring price on the service request ftotalrecurprice – total recurring price on the service request strbyemployee loginid of the requestor of the service request strfulfillmentplantype – type of fulfillment strurgency – urgency value on the service request datesubmitted – date when the service request was submitted dateupdated date when the service request was last updated strupdatedby – loginid of the user who last updated the service request datedelivery – delivery date for the service request strsubscriptionrecid – recid of the subscription corresponding to the service request isfulfilled – flag indicating whether the service request has been fulfilled or not strname – name of the request offering, from which the service request was created from strdescription – description of the service request fprice – price on the service request frecurprice – recurring price on the service request nrecurperiod – recurrence period for the service request ndeliverycommitment – delivery commitment period for the service request strstatus – status of the service request strcreatedby loginid of the user who created the service request strrecid – recid of the service request lstparameters – list of frsheatservicereqtemplateparam objects, where each item in the list represents the parameter value for the service request the following table lists the available status values, and describes how to interpret them status explanation success the list of matching request offerings in the service catalog can be successfully retrieved, and are available via the srtlist member usernotfound no user recordcan be located in the tenant, with the given loginid value check the loginid value that was passed in, to ensure that it is spelled correctly reqparamsnotfilled one or more required parameters are not filled out check the exceptionreason member ,to determine which specific required parameters were not filled out properly validationvaluesmismatch the value that was passed in for a drop down selection parameter, does not belong in the validation list for example, assume there is a drop down selection parameter which is validated against the departments validation list if a value of “billing” is supplied to the submitrequest webmethod, but “billing” does not exist in the validation list, the return status in this case will be “validationvaluesmismatch” check the exceptionreason member, to determine which specific validated parameters did not have the proper values filled out for it parametertypemismatch one or more parameters were specified with values, which are inappropriate for the underlying parameter data type for example, the text field parameter type can be used to store various types of values if the data type of the parameter is number, and a text value is specified for the parameter, the return status in this case will be “parametertypemismatch” check the exceptionreason member, to determine which specific parameters were specified with values with the incorrect type error an error was encountered during the execution of this web method the corresponding exceptionreason member should be inspected, to determine why the web method has failed service request submission validation before submitting the service request, the submitrequest web method performs three types of validation required parameters – ensures that all parameters marked as required are filled out currently the code will handle unconditional required parameters, as well as simple conditional required parameters if there are one or more required parameters which are not filled out properly, the submitrequest webmethod will return a status value of “reqparamsnotfilled” in such cases, the exceptionreason member can be consulted, for determining which specific parameter values have not been filled out validation values – ensures that the supplied values are allowable values, based on the existing records in the validation list table currently the code will handle regular validation (i e validation against a single field) as well as simple constrained validation (i e validation which is constrained, based on the value of an earlier field) if there are one or more parameters which do not satisfy the validation, the submitrequest webmethod will return a status value of “validationvaluesmismatch” in such cases, the exceptionreason member can be consulted, for determining which specific parameter values do not match up with the validation list parameter type checking – ensures that the supplied value is appropriate with respect to the data type of the given parameter if there are one or more values which do not match the corresponding parameter type, the submitrequest webmethod will return a status value of “parametertypemismatch” in such cases, the exceptionreason member can be consulted, for determining which specific parameter values do not match the corresponding data type this will be defined in detailed in the next section type checking of parameters in the service request prior to submitting the service request, the submitrequest web method will perform the data type checking of the values, with respect to the data types of the respective parameters the following table summarizes the various parameter types if data type validation is performed, the details section will describe this information in greater detail data type details text currently not validated (matches the current service catalog behavior) checkbox allowed values are those which can be parsed as either true or false uses the boolean tryparse() method in net for determining if the value for checkbox is valid or not date / time / datetime allowed values are those which can be parsed as date/time values uses the datetime tryparse() method in net for determining if the value for date / time / datetime is valid or not to specify date/time values, the string value should be specified using iso 8601 format, and the value itself should be relative to utc so the date/time value can be specified in one of the following two ways yyyy mm dd hh\ mm or yyyy mm ddthh\ mm either a space character or “t” character can be used to separate between the date and time values the following are two examples of specifying a date/time value of march 26th, 2013, 18 38 utc, relative to the above two formats 2013 03 26 18 38 2013 03 26t18 38 number / money allowed values are those which can be parsed as decimal values uses the decimal tryparse() method in net for determining if the numerical value is valid or not phone allowed values are phone numbers which match a us phone number; e g (415)555 1212 this matches the current service catalog behavior do not use this parameter type for validating international phone numbers ssn allowed values are us social security numbers; e g 123 45 6789 email currently not validated (matches the current service catalog behavior) url currently not validated (matches the current service catalog behavior) example string strsubscrrecid = frsvc getsubscriptionid(authsessionkey, tenantid, "domain password reset") subscriptionid; list\<frsheatservicereqparam> srparamlistitems = new list\<frsheatservicereqparam>(); srparamlistitems add(new frsheatservicereqparam { strname = "requesterdepartment", strvalue = "it" }); srparamlistitems add(new frsheatservicereqparam { strname = "requester", strvalue = "ashley simon" }); frsheatsubmitrequestresponse srresponse = frsvc submitrequest(authsessionkey, tenantid, strsubscrrecid, srparamlistitems toarray(), loginid); frsheatservicereqrequest srres; if (srresponse status == "success") { srres = srresponse reqdata; } else { if (srresponse exceptionreason != null) { console writeline("error " + srresponse exceptionreason); } } getrequestdata retrieves the data for the given service request request syntax public frsheatgetrequestdataresponse getrequestdata(string sessionkey, string tenantid, string strreqnumber) parameters sessionkey key received in the earlier connect request tenantid tenant for which the key is authenticated strreqnumber numeric id value for the service request return value an frsheatgetrequestdataresponse object, defined as follows public class frsheatgetrequestdataresponse { public string status { get; set; } public string exceptionreason { get; set; } public frsheatservicereqrequest reqdata { get; set; } } the frsheatgetrequestdataresponse class comprises the following fields status – this field provides a status value indicating whether the operation was successful a full description of the available status values is provided in the table below exceptionreason – if there is an exception thrown in the course of running the connect webmethod, the exception information will be captured in this field reqdata – an frsheatservicereqrequest object, containing the service request that is successfully submitted refer to the earlier submitrequest section, regarding the definition of the frsheatservicereqrequest class the following table lists the available status values, and describes how to interpret them status explanation success the service request with the given numeric id can be located, and is available via the reqdata member notfound the service request with the given numeric id cannot be located confirm that the numeric id of the service request was specified correctly error an error was encountered during the execution of this web method the corresponding exceptionreason member should be inspected, to determine why the web method has failed example frsheatgetrequestdataresponse getrequestdataresponse = frsvc getrequestdata(authsessionkey, tenantid, strreqrecid); frsheatservicereqrequest srrequest; if (getrequestdataresponse status == "success") { srrequest = getrequestdataresponse reqdata; // go ahead and access the relevant properties of interest from the service request } fetchservicereqvalidationlistdata fetch the allowable validation list data for the given service request parameter request syntax public frsheatfetchsrvallistdataresponse fetchservicereqvalidationlistdata(string sessionkey, string tenantid, string offeringname, string paramname, frsheatdepvalitem depvalitem = null, string substrmatch = "") parameters sessionkey key received in the earlier connect request tenantid tenant for which the key is authenticated offeringname name of the request offering paramname name of the parameter in the request offering depvalitem an frsheatdepvalitem object, representing the dependent validation item substrmatch substring to match against the returned validation list items return value an frsheatfetchsrvallistdataresponse object, defined as follows public class frsheatfetchsrvallistdataresponse { public string status { get; set; } public string exceptionreason { get; set; } public list\<frsheatvallistvalue> validationvalueslist { get; set; } } the frsheatfetchsrvallistdataresponse class comprises the following fields status – this field provides a status value indicating whether the operation was successful a full description of the available status values is provided in the table below exceptionreason – if there is an exception thrown in the course of running the connect webmethod, the exception information will be captured in this field validationvalueslist – a list of frsheatvallistvalue objects, each item representing the records returned from the underlying validation list, based on the specified search criteria the frsheatvallistvalue class is defined as follows public class frsheatvallistvalue { public string strrecid; public string strstoredvalue; public string strdisplayvalue; } the frsheatvallistvalue class comprises the following fields strrecid – recid of the validation list record strstoredvalue – the stored value of the validation list record (e g “asimon”, if the validation list record corresponds to the “ashley simon” employee record) strdisplayvalue the display value of the validation list record (e g “ashley simon”, if the validation list record corresponds to the “ashley simon” employee record) the following table lists the available status values, and describes how to interpret them status explanation success the service request with the given numeric id can be located, and is available via the reqdata member notfound the service request with the given numeric id cannot be located confirm that the numeric id of the service request was specified correctly error an error was encountered during the execution of this web method the corresponding exceptionreason member should be inspected, to determine why the web method has failed example // fetch the matching validation list records for requester, in the "domain password reset" request offering // since the requester is constrained by the "requesterdeparment" parameter, this needs to be specified as an input parameter to the web method string offeringname = "domain password reset"; string paramname = "requester"; frsheatdepvalitem depvalitem = new frsheatdepvalitem() { strparname = "requesterdepartment", strparvalue = "it" }; frsheatfetchsrvallistdataresponse validationvaluesresponse = frsvc fetchservicereqvalidationlistdata(authsessionkey, tenantid, offeringname, paramname, depvalitem, substrquery); frsheatvallistvalue\[] vallistvalues; if (validationvaluesresponse status == "success") { vallistvalues = validationvaluesresponse validationvalueslist; console writeline("here are the matching validation list records \n"); foreach (frsheatvallistvalue vallistitem in vallistvalues) { console writeline("stored value \\" \\"\t\tdisplay value \\" \\"", vallistitem strstoredvalue, vallistitem strdisplayvalue); } } appendix a creating a test console application using visual studio as explained in the earlier introduction section, the frsheatintegration web service uses standard web service technologies, and can be consumed using various programming languages / platforms such as microsoft net, java, etc this section describes how one would create a test console application using visual studio 2010, specifically for creating the web reference to access the soap based frsheatintegration api note that alternative net based clients such as wpf, asp net, and windows forms clients can also be created, using the same concepts as presented here to create a new test console application in visual studio, follow these steps launch visual studio 2010, and then create a new visual c# console project in the solution explorer, right click the references folder, then select add service reference from the context menu the add service reference dialog box appears click advanced in the lower left hand corner, to launch the service reference settings dialog box click add web reference in the lower left hand corner, to launch the add web reference dialog box at this point, you are now ready to author the necessary code, for exercising the frsheatintegration web service
