本文整理汇总了C#中CssLib.WebServiceClient.InvokeService方法的典型用法代码示例。如果您正苦于以下问题:C# WebServiceClient.InvokeService方法的具体用法?C# WebServiceClient.InvokeService怎么用?C# WebServiceClient.InvokeService使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CssLib.WebServiceClient
的用法示例。
在下文中一共展示了WebServiceClient.InvokeService方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetAllCos
public int GetAllCos()
{
if (ZimbraValues.zimbraValues.COSes.Count > 0) // already got 'em
return 0;
lastError = "";
WebServiceClient client = new WebServiceClient {
Url = ZimbraValues.GetZimbraValues().Url, WSServiceType =
WebServiceClient.ServiceType.Traditional
};
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings)) {
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, true, true, false);
// body
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
writer.WriteStartElement("GetAllCosRequest", "urn:zimbraAdmin");
writer.WriteEndElement(); // GetAllCosRequest
writer.WriteEndElement(); // soap body
// end body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
if (client.status == 0)
{
ParseGetAllCos(rsp);
}
else
{
string soapReason = ParseSoapFault(client.errResponseMessage);
if (soapReason.Length > 0)
lastError = soapReason;
else
lastError = client.exceptionMessage;
}
return client.status;
}
示例2: CreateTag
public int CreateTag(string tag, string color, out string tagID)
{
tagID = "";
lastError = "";
int retval = 0;
WebServiceClient client = new WebServiceClient
{
Url = ZimbraValues.GetZimbraValues().Url,
WSServiceType =
WebServiceClient.ServiceType.Traditional
};
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, true, true, true);
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
CreateTagRequest(writer, tag, color, -1);
writer.WriteEndElement(); // soap body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
retval = client.status;
if (client.status == 0)
{
ParseCreateTag(rsp, out tagID); // get the id
}
else
{
string soapReason = ParseSoapFault(client.errResponseMessage);
if (soapReason.Length > 0)
lastError = soapReason;
else
lastError = client.exceptionMessage;
}
return retval;
}
示例3: GetAccount
public int GetAccount(string accountname)
{
int retval = 0;
lastError = "";
WebServiceClient client = new WebServiceClient {
Url = ZimbraValues.GetZimbraValues().Url, WSServiceType =
WebServiceClient.ServiceType.Traditional
};
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings)) {
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, true, true, false);
// body
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
writer.WriteStartElement("GetAccountRequest", "urn:zimbraAdmin");
WriteAccountBy(writer, accountname);
writer.WriteEndElement(); // GetAccountRequest
writer.WriteEndElement(); // soap body
// end body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
retval = client.status;
if (client.status == 0)
{
if (ParseGetAccount(rsp) == 0) // length of name is 0 -- this is bad
retval = ACCOUNT_NO_NAME;
}
else
{
string soapReason = ParseSoapFault(client.errResponseMessage);
if (soapReason.Length > 0)
lastError = soapReason;
else
lastError = client.exceptionMessage;
}
return retval;
}
示例4: Logon
//
// API methods /////////
public int Logon(string hostname, string port, string username, string password, bool
isSecure, bool isAdmin)
{
if (ZimbraValues.GetZimbraValues().AuthToken.Length > 0)
return 0; // already logged on
lastError = "";
// FBS Bug 73394 -- 4/26/12 -- rewrite this section
string mode = isSecure ? "https://" : "http://";
string svc = isAdmin ? "/service/admin/soap" : "/service/soap";
string urn = isAdmin ? "urn:zimbraAdmin" : "urn:zimbraAccount";
ZimbraValues.GetZimbraValues().Url = mode + hostname + ":" + port + svc;
// end Bug 73394
WebServiceClient client = new WebServiceClient {
Url = ZimbraValues.GetZimbraValues().Url, WSServiceType =
WebServiceClient.ServiceType.Traditional
};
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings)) {
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, false, false, false);
// body
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
writer.WriteStartElement("AuthRequest", urn);
if (isAdmin)
WriteNVPair(writer, "name", username);
else
WriteAccountBy(writer, username);
WriteNVPair(writer, "password", password);
writer.WriteEndElement(); // AuthRequest
writer.WriteEndElement(); // soap body
// end body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
if (client.status == 0)
{
ParseLogon(rsp, isAdmin);
ZimbraValues.GetZimbraValues().HostName = hostname;
ZimbraValues.GetZimbraValues().Port = port;
}
else
{
string soapReason = ParseSoapFault(client.errResponseMessage);
if (soapReason.Length > 0)
lastError = soapReason;
else
lastError = client.exceptionMessage;
}
return client.status;
}
示例5: CreateAccount
public int CreateAccount(string accountname, string displayname, string givenname, string sn, string zfp, string defaultpw, bool mustChangePW, string cosid)
{
int retval = 0;
lastError = "";
if (displayname.Length == 0)
{
displayname = accountname.Substring(0, accountname.IndexOf("@"));
}
string zimbraForeignPrincipal = (zfp.Length > 0) ? zfp : "ad:" + displayname;
WebServiceClient client = new WebServiceClient {
Url = ZimbraValues.GetZimbraValues().Url, WSServiceType =
WebServiceClient.ServiceType.Traditional
};
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings)) {
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, true, true, false);
// body
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
writer.WriteStartElement("CreateAccountRequest", "urn:zimbraAdmin");
WriteNVPair(writer, "name", accountname);
WriteNVPair(writer, "password", defaultpw);
WriteAttrNVPair(writer, "a", "n", "displayName", displayname);
if (givenname.Length > 0)
{
WriteAttrNVPair(writer, "a", "n", "givenName", givenname);
}
if (sn.Length > 0)
{
WriteAttrNVPair(writer, "a", "n", "sn", sn);
}
WriteAttrNVPair(writer, "a", "n", "zimbraForeignPrincipal", zimbraForeignPrincipal);
WriteAttrNVPair(writer, "a", "n", "zimbraCOSId", cosid);
if (mustChangePW)
{
WriteAttrNVPair(writer, "a", "n", "zimbraPasswordMustChange", "TRUE");
}
writer.WriteEndElement(); // CreateAccountRequest
writer.WriteEndElement(); // soap body
// end body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
retval = client.status;
if (client.status == 0)
{
if (ParseCreateAccount(rsp) == 0) // length of name is 0 -- this is bad
retval = ACCOUNT_CREATE_FAILED;
}
else
{
string soapReason = ParseSoapFault(client.errResponseMessage);
if (soapReason.Length > 0)
lastError = soapReason;
else
lastError = client.exceptionMessage;
}
return retval;
}
示例6: CreateContacts
public int CreateContacts(List<Dictionary<string, string> > lContacts, string folderPath =
"")
{
lastError = "";
// Create in Contacts unless another folder was desired
string folderId = "7";
if (folderPath.Length > 0)
{
folderId = FindFolder(folderPath);
if (folderId.Length == 0)
return CONTACT_CREATE_FAILED_FLDR;
}
// //////
WebServiceClient client = new WebServiceClient {
Url = ZimbraValues.GetZimbraValues().Url, WSServiceType =
WebServiceClient.ServiceType.Traditional
};
int retval = 0;
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings)) {
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, true, true, true);
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
writer.WriteStartElement("BatchRequest", "urn:zimbra");
for (int i = 0; i < lContacts.Count; i++)
{
Dictionary<string, string> contact = lContacts[i];
CreateContactRequest(writer, contact, folderId, i);
}
writer.WriteEndElement(); // BatchRequest
writer.WriteEndElement(); // soap body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
retval = client.status;
return retval;
}
示例7: AddRules
public int AddRules(Dictionary<string, string> rules)
{
lastError = "";
WebServiceClient client = new WebServiceClient
{
Url = ZimbraValues.GetZimbraValues().Url,
WSServiceType =
WebServiceClient.ServiceType.Traditional
};
int retval = 0;
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, true, true, true);
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
SetModifyFilterRulesRequest(writer, rules);
writer.WriteEndElement(); // soap body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
retval = client.status;
return retval;
}
示例8: AddTask
public int AddTask(Dictionary<string, string> appt, string folderPath = "")
{
lastError = "";
// Create in Tasks unless another folder was desired
string folderId = "15";
if (folderPath.Length > 0)
{
folderId = FindFolder(folderPath);
if (folderId.Length == 0)
return TASK_CREATE_FAILED_FLDR;
}
// //////
WebServiceClient client = new WebServiceClient
{
Url = ZimbraValues.GetZimbraValues().Url,
WSServiceType =
WebServiceClient.ServiceType.Traditional
};
int retval = 0;
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, true, true, true);
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
SetTaskRequest(writer, appt, folderId);
writer.WriteEndElement(); // soap body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
retval = client.status;
return retval;
}
示例9: AddOOO
public int AddOOO(string OOOInfo, bool isServer)
{
lastError = "";
if (OOOInfo.Length == 0)
{
return OOO_NO_TEXT;
}
bool isOOOEnabled = OOOInfo.Substring(0, 1) == "1";
if ((!isOOOEnabled) && (OOOInfo.Length == 2)) // 0:
{
return 0; // it's ok -- just no need to do anything
}
WebServiceClient client = new WebServiceClient
{
Url = ZimbraValues.GetZimbraValues().Url,
WSServiceType =
WebServiceClient.ServiceType.Traditional
};
int retval = 0;
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, true, true, isServer);
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
SetModifyPrefsRequest(writer, isOOOEnabled, OOOInfo);
writer.WriteEndElement(); // soap body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
retval = client.status;
return retval;
}
示例10: AddMessages
public int AddMessages(List<Dictionary<string, string> > lMessages)
{
int retval = 0;
lastError = "";
string uploadInfo = "";
System.Type type = typeof (ZimbraMessage);
FieldInfo[] myFields = type.GetFields(BindingFlags.Public | BindingFlags.Instance);
WebServiceClient client = new WebServiceClient {
Url = ZimbraValues.GetZimbraValues().Url, WSServiceType =
WebServiceClient.ServiceType.Traditional
};
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings)) {
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, true, true, true);
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
writer.WriteStartElement("BatchRequest", "urn:zimbra");
for (int i = 0; i < lMessages.Count; i++)
{
Dictionary<string, string> message = lMessages[i];
ZimbraMessage zm = new ZimbraMessage("", "", "", "", "");
for (int j = 0; j < myFields.Length; j++) // use reflection to set ZimbraMessage object values
{
string nam = (string)myFields[j].Name;
if (nam == "folderId")
myFields[j].SetValue(zm, FindFolder(message[nam]));
else
myFields[j].SetValue(zm, message[nam]);
}
bool isInline = false;
if (message["wstrmimeBuffer"].Length > 0)
{
//
}
else
{
FileInfo f = new FileInfo(zm.filePath);
isInline = (f.Length < INLINE_LIMIT);
}
if (isInline)
uploadInfo = zm.filePath;
else
{
Log.debug("Begin UploadFile");
string tmp = message["wstrmimeBuffer"];
retval = UploadFile(zm.filePath, tmp, "", "", STRING_MODE, out uploadInfo);
Log.debug("End UploadFile");
}
if (retval == 0)
AddMsgRequest(writer, uploadInfo, zm, isInline, -1);
File.Delete(zm.filePath);
}
writer.WriteEndElement(); // BatchRequest
writer.WriteEndElement(); // soap body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
retval = client.status;
return retval;
}
示例11: AddMessage
public int AddMessage(Dictionary<string, string> message)
{
lastError = "";
string uploadInfo = "";
int retval = 0;
ZimbraMessage zm = new ZimbraMessage("", "", "", "", "");
System.Type type = typeof (ZimbraMessage);
FieldInfo[] myFields = type.GetFields(BindingFlags.Public | BindingFlags.Instance);
for (int i = 0; i < myFields.Length; i++) // use reflection to set ZimbraMessage object values
{
string nam = (string)myFields[i].Name;
if (nam == "folderId")
myFields[i].SetValue(zm, FindFolder(message[nam]));
else
myFields[i].SetValue(zm, message[nam]);
}
bool isInline = false;
if (message["wstrmimeBuffer"].Length > 0)
{
//
}
else
{
FileInfo f = new FileInfo(zm.filePath);// use a try/catch?
isInline = (f.Length < INLINE_LIMIT);
}
if (isInline)
uploadInfo = zm.filePath;
else
{
//Log.debug("Begin UploadFile");
string tmp = message["wstrmimeBuffer"];
retval = UploadFile(zm.filePath, tmp, "", "", STRING_MODE, out uploadInfo);
//Log.debug("End UploadFile");
}
if (retval == 0)
{
WebServiceClient client = new WebServiceClient {
Url = ZimbraValues.GetZimbraValues().Url, WSServiceType =
WebServiceClient.ServiceType.Traditional
};
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings)) {
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, true, true, true);
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
AddMsgRequest(writer, uploadInfo, zm, isInline, -1);
writer.WriteEndElement(); // soap body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
retval = client.status;
if (client.status == 0)
{
string mID = "";
ParseAddMsg(rsp, out mID); // get the id
}
else
{
string soapReason = ParseSoapFault(client.errResponseMessage);
string errMsg = (soapReason.IndexOf("upload ID: null") != -1) // FBS bug 75159 -- 6/7/12
? "Unable to upload file. Please check server message size limits (Global Settings General Information and MTA)."
: soapReason;
if (soapReason.Length > 0)
{
lastError = soapReason;
Log.err("Error on message", message["Subject"], "--", errMsg);
}
else
{
lastError = client.exceptionMessage;
}
}
}
//File.Delete(zm.filePath);
return retval;
}
示例12: AddAppointment
public int AddAppointment(Dictionary<string, string> appt, string folderPath = "")
{
lastError = "";
// Create in Calendar unless another folder was desired
string folderId = "10";
if (folderPath.Length > 0)
{
folderId = FindFolder(folderPath);
if (folderId.Length == 0)
return APPT_CREATE_FAILED_FLDR;
}
// //////
WebServiceClient client = new WebServiceClient {
Url = ZimbraValues.GetZimbraValues().Url, WSServiceType =
WebServiceClient.ServiceType.Traditional
};
int retval = 0;
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(sb, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("soap", "Envelope",
"http://www.w3.org/2003/05/soap-envelope");
WriteHeader(writer, true, true, true);
writer.WriteStartElement("Body", "http://www.w3.org/2003/05/soap-envelope");
SetAppointmentRequest(writer, appt, folderId);
writer.WriteEndElement(); // soap body
writer.WriteEndElement(); // soap envelope
writer.WriteEndDocument();
}
string rsp = "";
WriteSoapLog(sb.ToString(),true);
client.InvokeService(sb.ToString(), out rsp);
WriteSoapLog(rsp.ToString(),false);
retval = client.status;
if (client.status != 0)
{
string soapReason = ParseSoapFault(client.errResponseMessage);
if (soapReason.Length > 0)
{
lastError = soapReason;
Log.err("Error on appointment", appt["su"], "--", soapReason);
}
}
return retval;
}