using System;

namespace Microsoft.RFIDLab.EPCISDemo.VerisignEPCIS
{
	/// <summary>
	/// Summary description for ContainmentProfile.
	/// </summary>
	//------------------------------------------------------------------------------
	// <autogenerated>
	//     This code was generated by a tool.
	//     Runtime Version: 1.1.4322.2032
	//
	//     Changes to this file may cause incorrect behavior and will be lost if 
	//     the code is regenerated.
	// </autogenerated>
	//------------------------------------------------------------------------------

	// 
	// This source code was auto-generated by wsdl, Version=1.1.4322.2032.
	// 
	using System.Diagnostics;
	using System.Xml.Serialization;
	using System;
	using System.Web.Services.Protocols;
	using System.ComponentModel;
	using System.Web.Services;


	/// <remarks/>
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Web.Services.WebServiceBindingAttribute(Name="ContainmentProfileSoapBinding", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")]
	public class ContainmentProfileService : System.Web.Services.Protocols.SoapHttpClientProtocol 
	{
    
		public AuthInfoType AuthInfo;
    
		/// <remarks/>
		public ContainmentProfileService() 
		{
			this.Url = "http://microsoft.verisignepctest.com/epcis/containment/ContainmentProfile";
		}
    
		/// <remarks/>
		[System.Web.Services.Protocols.SoapHeaderAttribute("AuthInfo")]
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1/getContents" +
			 "", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
		[return: System.Xml.Serialization.XmlArrayAttribute("epcList", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")]
		[return: System.Xml.Serialization.XmlArrayItemAttribute("epc", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:schema:1", DataType="anyURI", IsNullable=false)]
		public string[] getContents([System.Xml.Serialization.XmlElementAttribute("getContents", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")] EPCIn getContents1) 
		{
			object[] results = this.Invoke("getContents", new object[] {
																		   getContents1});
			return ((string[])(results[0]));
		}
    
		/// <remarks/>
		public System.IAsyncResult BegingetContents(EPCIn getContents1, System.AsyncCallback callback, object asyncState) 
		{
			return this.BeginInvoke("getContents", new object[] {
																	getContents1}, callback, asyncState);
		}
    
		/// <remarks/>
		public string[] EndgetContents(System.IAsyncResult asyncResult) 
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((string[])(results[0]));
		}
    
		/// <remarks/>
		[System.Web.Services.Protocols.SoapHeaderAttribute("AuthInfo")]
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1/getContaine" +
			 "r", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
		[return: System.Xml.Serialization.XmlArrayAttribute("epcList", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")]
		[return: System.Xml.Serialization.XmlArrayItemAttribute("epc", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:schema:1", DataType="anyURI", IsNullable=false)]
		public string[] getContainer([System.Xml.Serialization.XmlElementAttribute("getContainer", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")] EPCIn getContainer1) 
		{
			object[] results = this.Invoke("getContainer", new object[] {
																			getContainer1});
			return ((string[])(results[0]));
		}
    
		/// <remarks/>
		public System.IAsyncResult BegingetContainer(EPCIn getContainer1, System.AsyncCallback callback, object asyncState) 
		{
			return this.BeginInvoke("getContainer", new object[] {
																	 getContainer1}, callback, asyncState);
		}
    
		/// <remarks/>
		public string[] EndgetContainer(System.IAsyncResult asyncResult) 
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((string[])(results[0]));
		}
    
		/// <remarks/>
		[System.Web.Services.Protocols.SoapHeaderAttribute("AuthInfo")]
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1/setContents" +
			 "", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
		[return: System.Xml.Serialization.XmlElementAttribute("result", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")]
		public resultType setContents([System.Xml.Serialization.XmlElementAttribute("setContents", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")] EPCArrayIn setContents1) 
		{
			object[] results = this.Invoke("setContents", new object[] {
																		   setContents1});
			return ((resultType)(results[0]));
		}
    
		/// <remarks/>
		public System.IAsyncResult BeginsetContents(EPCArrayIn setContents1, System.AsyncCallback callback, object asyncState) 
		{
			return this.BeginInvoke("setContents", new object[] {
																	setContents1}, callback, asyncState);
		}
    
		/// <remarks/>
		public resultType EndsetContents(System.IAsyncResult asyncResult) 
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((resultType)(results[0]));
		}
    
		/// <remarks/>
		[System.Web.Services.Protocols.SoapHeaderAttribute("AuthInfo")]
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1/addItemsToC" +
			 "ontainer", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
		[return: System.Xml.Serialization.XmlElementAttribute("result", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")]
		public resultType addItemsToContainer([System.Xml.Serialization.XmlElementAttribute("addItemsToContainer", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")] EPCArrayIn addItemsToContainer1) 
		{
			object[] results = this.Invoke("addItemsToContainer", new object[] {
																				   addItemsToContainer1});
			return ((resultType)(results[0]));
		}
    
		/// <remarks/>
		public System.IAsyncResult BeginaddItemsToContainer(EPCArrayIn addItemsToContainer1, System.AsyncCallback callback, object asyncState) 
		{
			return this.BeginInvoke("addItemsToContainer", new object[] {
																			addItemsToContainer1}, callback, asyncState);
		}
    
		/// <remarks/>
		public resultType EndaddItemsToContainer(System.IAsyncResult asyncResult) 
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((resultType)(results[0]));
		}
    
		/// <remarks/>
		[System.Web.Services.Protocols.SoapHeaderAttribute("AuthInfo")]
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1/removeConte" +
			 "nts", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
		[return: System.Xml.Serialization.XmlElementAttribute("result", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")]
		public resultType removeContents([System.Xml.Serialization.XmlElementAttribute("removeContents", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")] EPCIn removeContents1) 
		{
			object[] results = this.Invoke("removeContents", new object[] {
																			  removeContents1});
			return ((resultType)(results[0]));
		}
    
		/// <remarks/>
		public System.IAsyncResult BeginremoveContents(EPCIn removeContents1, System.AsyncCallback callback, object asyncState) 
		{
			return this.BeginInvoke("removeContents", new object[] {
																	   removeContents1}, callback, asyncState);
		}
    
		/// <remarks/>
		public resultType EndremoveContents(System.IAsyncResult asyncResult) 
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((resultType)(results[0]));
		}
    
		/// <remarks/>
		[System.Web.Services.Protocols.SoapHeaderAttribute("AuthInfo")]
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1/removeItems" +
			 "FromContainer", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
		[return: System.Xml.Serialization.XmlElementAttribute("result", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")]
		public resultType removeItemsFromContainer([System.Xml.Serialization.XmlElementAttribute("removeItemsFromContainer", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")] EPCArrayIn removeItemsFromContainer1) 
		{
			object[] results = this.Invoke("removeItemsFromContainer", new object[] {
																						removeItemsFromContainer1});
			return ((resultType)(results[0]));
		}
    
		/// <remarks/>
		public System.IAsyncResult BeginremoveItemsFromContainer(EPCArrayIn removeItemsFromContainer1, System.AsyncCallback callback, object asyncState) 
		{
			return this.BeginInvoke("removeItemsFromContainer", new object[] {
																				 removeItemsFromContainer1}, callback, asyncState);
		}
    
		/// <remarks/>
		public resultType EndremoveItemsFromContainer(System.IAsyncResult asyncResult) 
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((resultType)(results[0]));
		}
	}

	/// <remarks/>
	[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:schema:1")]
	public class messageType 
	{
    
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute("epc")]
		public string[] epc;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string description;
	}

	/// <remarks/>
	[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:schema:1")]
	public class resultType 
	{
    
		/// <remarks/>
		public bool status;
    
		/// <remarks/>
		public messageType message;
	}

	/// <remarks/>
	[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")]
	public class EPCArrayIn 
	{
    
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
		public string epc;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlArrayItemAttribute("epc", Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:schema:1", DataType="anyURI", IsNullable=false)]
		public string[] epcList;
    
		/// <remarks/>
		public System.DateTime time;
	}

	/// <remarks/>
	[System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:epc:specification:interchange:EPCIS:ContainmentProfile:xml:wsdl:1")]
	public class EPCIn 
	{
    
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(DataType="anyURI")]
		public string epc;
    
		/// <remarks/>
		public System.DateTime time;
	}

}
