- web service return anonymous object from method
- [WebMethod]
- public Object serviceForPostcode(String postCode, String type)
- {
- /**
- *
- * create dataset to store query
- * convert dataset to required return type
- * create types for returned object
- *
- *
- **/
- SqlDataAdapter adapter = new SqlDataAdapter();
- SqlCommand cmd = new SqlCommand();
- SqlConnection conn = new SqlConnection(dbConnection());
- /**
- *
- * -- types--
- *
- **/
- XmlDocument xmlD = new XmlDocument();
- StringWriter sw = new StringWriter();
- DataSet dataSet = new DataSet();
- /**
- *
- *
- **/
- // connection and query string
- string dbQuery = "SELECT id, address1, address2, address3, address4, address5, post_code, country FROM paf WHERE (post_code = @postCode)";
- try
- {
- cmd.Parameters.Add(new SqlParameter("@postcode",SqlDbType.NChar, 10)).Value = postCode.ToUpper();
- cmd.CommandText = (dbQuery);
- cmd.CommandType = CommandType.Text;
- cmd.Connection = conn;
- adapter.SelectCommand = cmd;
- adapter.Fill(dataSet,"post codes");
- }
- catch(Exception e)
- {
- System.Web.HttpContext.Current.Response.Write(e.Message);
- }
- finally
- {
- //close database connection
- conn.Close();
- }
- if (type.Equals("xml", StringComparison.InvariantCultureIgnoreCase))
- {
- return dataSet.GetXml();
- }
- else if (type.Equals("string", StringComparison.InvariantCultureIgnoreCase))
- {
- dataSet.WriteXml(sw);
- return sw.ToString();
- }
- else if(type.Equals("dataset",StringComparison.InvariantCultureIgnoreCase))
- {
- return "";
- }
- return "error";
- }
- public string serviceForPostcodeString(String postCode)
- public XElement serviceForPostcodeXML(String postCode)
- public DataSet serviceForPostcodeDataSet(String postCode)
- public T serviceForPostcodeWrapped<T>(String postCode)
- {
- // ... do some checking for allowed types here ...
- return (T)serviceForPostcode(postCode, typeof(T).Name);
- }
- [WebMethod]
- public string serviceForPostcode(String postCode, String type)