Open-Xchange-SOAP-C-Sharp: Difference between revisions
From Open-Xchange
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
Here is an example on how create a C# project in Microsoft Visual Studio 2010. | Here is an example on how create a C# project in Microsoft Visual Studio 2010. | ||
'''NOTE:''' please use <tt>/webservices</tt> instead of <tt>/servlet/axis2/services</tt> since the latter is deprecated and might be removed at any time. | |||
== Create a web reference == | == Create a web reference == | ||
Latest revision as of 14:33, 16 April 2015
How to provision Open-Xchange with C# and SOAP
Here is an example on how create a C# project in Microsoft Visual Studio 2010.
NOTE: please use /webservices instead of /servlet/axis2/services since the latter is deprecated and might be removed at any time.
Create a web reference
In your C# project, right click on References and then on Add Service Reference:
In the dialogue click on Advanced:
In the following dialogue, select Add Web Reference:
and in the URL input field enter the URL to your open-xchange servers OXContextService:
after clicking on Add Reference, the new service should be visible like shown below:
Example code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OXSOAPBranding.OXContextService;
namespace OXSOAPBranding
{
class Program
{
static void Main(string[] args)
{
OXContextService.OXContextService ctxsrv = new OXContextService.OXContextService();
// define credentials
Credentials creds = new Credentials() { login = "oxadminmaster", password = "secret" };
// Context Admin user
User oxadmin = new User();
oxadmin.name = "oxadmin";
oxadmin.sur_name = "Context";
oxadmin.given_name = "Admin";
oxadmin.display_name = "Context Admin";
oxadmin.primaryEmail = oxadmin.email1 = "oxadmin@example.com";
oxadmin.password = "secret";
// Context for the Groupware4You brand
Context ctx_gw4u = new Context();
ctx_gw4u.id = 424242;
ctx_gw4u.idSpecified = true;
ctx_gw4u.maxQuota = 5000;
ctx_gw4u.maxQuotaSpecified = true;
ctx_gw4u.name = "Groupware4You";
Entry[] entries_gw4u = new Entry[1] { new Entry() { key = "types", value = "gw4u" } };
SOAPMapEntry[] attrs_gw4u = new SOAPMapEntry[] {new SOAPMapEntry() { key = "taxonomy", value = entries_gw4u} };
ctx_gw4u.userAttributes = attrs_gw4u;
try
{
// create the context and
ctxsrv.create(ctx_gw4u, oxadmin, creds);
// get it back to check
Context ret = ctxsrv.getData(ctx_gw4u, creds);
// whether attributes have been set
SOAPMapEntry[] attrs = ret.userAttributes;
if (null != attrs && attrs.Length > 0)
{
Entry[] ents = attrs[0].value;
if (null != ents && ents.Length > 0)
{
Entry e = ents[0];
Console.WriteLine(ret.name + " : " + e.key + " -> " + e.value);
}
}
// cleanup
ctxsrv.delete(new OXContextService.delete() { ctx = ctx_gw4u, auth = creds });
}
catch (Exception ex)
{
System.Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace);
}
// wait for input
System.Console.ReadLine();
}
}
}




