Using simple objects in web services
Consumer : A test from a test class, in a project with a web reference.
[Test]
public void RemoteInfoTest()
{
UserServices
_userServices = new UserServices();
RemoteInfo ri = new RemoteInfo();
Assert.AreEqual(null,ri.Info,"new
proxy Info");
ri =
_userServices.SetRemoteInfo(ri);
Assert.AreEqual("Saved",ri.Info);
ri
= _userServices.GetRemoteInfo();
Assert.AreEqual("Default",ri.Info);
ri = _userServices.SetRemoteInfo(ri);
Assert.AreEqual("Saved",ri.Info);
}
In the web site of the web service.
using System;
namespace TemplatedSampleSite.aspmessageboard.Classes
{
///
<summary>
/// Summary description for
RemoteInfo.
/// </summary>
public class
RemoteInfo
{
private string _info;
public
RemoteInfo()
{
}
public string
Info
{
get { return _info; }
set {
_info = value; }
}
}
}
And the service code:
using System;
using System.Collections;
using
System.ComponentModel;
using System.Data;
using
System.Diagnostics;
using System.Web;
using
System.Web.Services;
using
TemplatedSampleSite.aspmessageboard.Classes;
namespace TemplatedSampleSite.aspmessageboard.WebServices
{
///
<summary>
/// Summary description for
UserServices.
/// </summary>
public class
UserServices : System.Web.Services.WebService
{
public
UserServices()
{
//CODEGEN: This call is
required by the ASP.NET Web Services Designer
InitializeComponent();
}
#region Component Designer generated code
//Required
by the Web Services Designer
private IContainer
components = null;
/// <summary>
///
Required method for Designer support - do not modify
///
the contents of this method with the code editor.
///
</summary>
private void
InitializeComponent()
{
}
/// <summary>
/// Clean up any resources
being used.
/// </summary>
protected
override void Dispose( bool disposing )
{
if(disposing
&& components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
#endregion
// WEB SERVICE EXAMPLE
// The HelloWorld() example
service returns the string Hello World
// To build,
uncomment the following lines then save and build the
project
// To test this web service, press F5
[WebMethod]
public RemoteInfo GetRemoteInfo()
{
RemoteInfo
ri = new RemoteInfo();
ri.Info = "Default";
return
ri;
}
[WebMethod]
public RemoteInfo
SetRemoteInfo(RemoteInfo remoteInfo)
{
remoteInfo.Info="Saved";
return
remoteInfo;
}
}
}