|
|
|
date: Mon, 22 Aug 2005 23:43:01 -0700,
group: microsoft.public.exchange2000.applications
back
Re: Notification(message read/deleted)
I did something like this for setting the SACL. Is this correct? will it give
me the notification when a message is read/deleted for that particular
folder? But where am i specifying the log file? Am i using the security log
file? Or will i be able to use the cutom registered log file?
CoInitialize(NULL);
bstr_t yourServerName = "ICOPE-LDAP";
bstr_t sUrl = "http:/" + yourServerName +
"/exchange/sampleuser1/inbox";
bstr_t sMethod = "PROPPATCH";
_variant_t vUser = L"ICOPE-LDAP\\Administrator"; //sampleuser1
_variant_t vPassword = L"mks"; //sampleuser1
MSXML::IXMLHttpRequest* pXMLHttpReq=NULL;
HRESULT hr = ::CoCreateInstance(__uuidof(XMLHTTPRequest),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IXMLHttpRequest),
(LPVOID*)&pXMLHttpReq);
if (S_OK != hr)
{
printf("XML Http Request pointer creation failed\n");
return 0;
}
_variant_t vAsync = (bool)FALSE;
pXMLHttpReq->open(sMethod,
sUrl,
vAsync,
vUser,
vPassword);
pXMLHttpReq->setRequestHeader((bstr_t)"Content-Type",
(bstr_t)"text/xml");
bstr_t sReq;
bstr_t sNewVal="audit_on_success:audit_on_failure";
sReq = "<?xml version='1.0'?>";
sReq = sReq + "<a:propertyupdate xmlns:a='DAV:' xmlns:o=" +
"'urn:schemas:httpmail:inbox'>" + "xmlns:f=
'http://schemas.microsoft.com/security/'>";
sReq = sReq + "<a:set><a:prop>";
sReq = sReq + "<s:security_descriptor>";
sReq = sReq + "<s:sacl>" + sNewVal + "<s:sacl>";
sReq = sReq + "</s:security_descriptor >";
sReq = sReq + "</a:prop></a:set></a:propertyupdate>";
// Send the request to set the search criteria.
pXMLHttpReq->send(sReq);
********************************************************
"Michael" wrote:
> Do you want to set security descriptor property?
> You can use WebDAV to set security descriptor.
>
> Also you can use WebDAV for notification but I am not sure if this is good
> solution for 40000 mailboxes.
> Have you tried WebDAV notification?
>
> Michael
> -------------------------------
> If you need WebDAV API for Exchange server,
> use our component WebDAV .NET for Exchange.
> Check out http://www.independentsoft.com
>
>
> "Melbin" wrote in message
> news:B844D9AA-0E26-440D-A56E-54AE780BAD60@microsoft.com...
> > I want to develop an application for getting the notifications
> when
> > some particular messages are read/deleted for about 40,000 mailboxes.
> > I am using Exchange server 2000. i am using that as the email
> > server also.
> > I tried to use the Advisesink using MAPI but then i came across the
> problem
> > of the limitation of 255 mailboxes in a single process. For 40,000
> mailboxes
> > if i am using seperate processes it will come upto 200 processes which is
> not
> > feasible. So i wanted to know which way i can do this.
> > I did "Exchange store events: synchronous events, asynchronous
> events,
> > and system events" . But from here i will be getting only the delete event
> > not read event.
> > So for that will i be able to us the auditing? (issue a PROPPATCH on
> the
> > folder on which you want to enable the auditing
> >
> (http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_exch2k_accessing_item_de
> scriptors.asp),
> > and pass along a security descriptor containing a SACL). If it can be used
> > then how is it done?
> > Or is there aome other way to do this?
> > Thanks a lotz in advance
> >
> >
> >
> >
> >
> >
>
>
>
date: Tue, 23 Aug 2005 04:39:01 -0700
author: Melbin
Re: Notification(message read/deleted)
Do you plan to set this property to all 40 000 mailboxes?
Michael
-------------------------------
If you need WebDAV API for Exchange server,
use our component WebDAV .NET for Exchange.
Check out http://www.independentsoft.com
"Melbin" wrote in message
news:479C1076-CD10-4DFD-A6FF-069F9F0001EF@microsoft.com...
> I did something like this for setting the SACL. Is this correct? will it
give
> me the notification when a message is read/deleted for that particular
> folder? But where am i specifying the log file? Am i using the security
log
> file? Or will i be able to use the cutom registered log file?
>
> CoInitialize(NULL);
> bstr_t yourServerName = "ICOPE-LDAP";
> bstr_t sUrl = "http:/" + yourServerName +
> "/exchange/sampleuser1/inbox";
> bstr_t sMethod = "PROPPATCH";
>
> _variant_t vUser = L"ICOPE-LDAP\\Administrator"; //sampleuser1
> _variant_t vPassword = L"mks"; //sampleuser1
>
> MSXML::IXMLHttpRequest* pXMLHttpReq=NULL;
> HRESULT hr = ::CoCreateInstance(__uuidof(XMLHTTPRequest),
> NULL,
> CLSCTX_INPROC_SERVER,
> __uuidof(IXMLHttpRequest),
> (LPVOID*)&pXMLHttpReq);
>
> if (S_OK != hr)
> {
> printf("XML Http Request pointer creation failed\n");
> return 0;
> }
> _variant_t vAsync = (bool)FALSE;
> pXMLHttpReq->open(sMethod,
> sUrl,
> vAsync,
> vUser,
> vPassword);
>
> pXMLHttpReq->setRequestHeader((bstr_t)"Content-Type",
> (bstr_t)"text/xml");
>
> bstr_t sReq;
> bstr_t sNewVal="audit_on_success:audit_on_failure";
>
>
> sReq = "<?xml version='1.0'?>";
> sReq = sReq + "<a:propertyupdate xmlns:a='DAV:' xmlns:o=" +
> "'urn:schemas:httpmail:inbox'>" + "xmlns:f=
> 'http://schemas.microsoft.com/security/'>";
> sReq = sReq + "<a:set><a:prop>";
> sReq = sReq + "<s:security_descriptor>";
> sReq = sReq + "<s:sacl>" + sNewVal + "<s:sacl>";
> sReq = sReq + "</s:security_descriptor >";
> sReq = sReq + "</a:prop></a:set></a:propertyupdate>";
> // Send the request to set the search criteria.
> pXMLHttpReq->send(sReq);
> ********************************************************
>
> "Michael" wrote:
>
> > Do you want to set security descriptor property?
> > You can use WebDAV to set security descriptor.
> >
> > Also you can use WebDAV for notification but I am not sure if this is
good
> > solution for 40000 mailboxes.
> > Have you tried WebDAV notification?
> >
> > Michael
> > -------------------------------
> > If you need WebDAV API for Exchange server,
> > use our component WebDAV .NET for Exchange.
> > Check out http://www.independentsoft.com
> >
> >
> > "Melbin" wrote in message
> > news:B844D9AA-0E26-440D-A56E-54AE780BAD60@microsoft.com...
> > > I want to develop an application for getting the notifications
> > when
> > > some particular messages are read/deleted for about 40,000 mailboxes.
> > > I am using Exchange server 2000. i am using that as the email
> > > server also.
> > > I tried to use the Advisesink using MAPI but then i came across the
> > problem
> > > of the limitation of 255 mailboxes in a single process. For 40,000
> > mailboxes
> > > if i am using seperate processes it will come upto 200 processes which
is
> > not
> > > feasible. So i wanted to know which way i can do this.
> > > I did "Exchange store events: synchronous events, asynchronous
> > events,
> > > and system events" . But from here i will be getting only the delete
event
> > > not read event.
> > > So for that will i be able to us the auditing? (issue a PROPPATCH
on
> > the
> > > folder on which you want to enable the auditing
> > >
> >
(http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_exch2k_accessing_item_de
> > scriptors.asp),
> > > and pass along a security descriptor containing a SACL). If it can be
used
> > > then how is it done?
> > > Or is there aome other way to do this?
> > > Thanks a lotz in advance
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
date: Tue, 23 Aug 2005 14:22:27 +0200
author: Michael
Re: Notification(message read/deleted)
Yes. Otherwise how will i get notified for all those mailboxes. Will this
work? Is this idea correct?
"Michael" wrote:
> Do you plan to set this property to all 40 000 mailboxes?
>
> Michael
> -------------------------------
> If you need WebDAV API for Exchange server,
> use our component WebDAV .NET for Exchange.
> Check out http://www.independentsoft.com
>
>
> "Melbin" wrote in message
> news:479C1076-CD10-4DFD-A6FF-069F9F0001EF@microsoft.com...
> > I did something like this for setting the SACL. Is this correct? will it
> give
> > me the notification when a message is read/deleted for that particular
> > folder? But where am i specifying the log file? Am i using the security
> log
> > file? Or will i be able to use the cutom registered log file?
> >
> > CoInitialize(NULL);
> > bstr_t yourServerName = "ICOPE-LDAP";
> > bstr_t sUrl = "http:/" + yourServerName +
> > "/exchange/sampleuser1/inbox";
> > bstr_t sMethod = "PROPPATCH";
> >
> > _variant_t vUser = L"ICOPE-LDAP\\Administrator"; //sampleuser1
> > _variant_t vPassword = L"mks"; //sampleuser1
> >
> > MSXML::IXMLHttpRequest* pXMLHttpReq=NULL;
> > HRESULT hr = ::CoCreateInstance(__uuidof(XMLHTTPRequest),
> > NULL,
> > CLSCTX_INPROC_SERVER,
> > __uuidof(IXMLHttpRequest),
> > (LPVOID*)&pXMLHttpReq);
> >
> > if (S_OK != hr)
> > {
> > printf("XML Http Request pointer creation failed\n");
> > return 0;
> > }
> > _variant_t vAsync = (bool)FALSE;
> > pXMLHttpReq->open(sMethod,
> > sUrl,
> > vAsync,
> > vUser,
> > vPassword);
> >
> > pXMLHttpReq->setRequestHeader((bstr_t)"Content-Type",
> > (bstr_t)"text/xml");
> >
> > bstr_t sReq;
> > bstr_t sNewVal="audit_on_success:audit_on_failure";
> >
> >
> > sReq = "<?xml version='1.0'?>";
> > sReq = sReq + "<a:propertyupdate xmlns:a='DAV:' xmlns:o=" +
> > "'urn:schemas:httpmail:inbox'>" + "xmlns:f=
> > 'http://schemas.microsoft.com/security/'>";
> > sReq = sReq + "<a:set><a:prop>";
> > sReq = sReq + "<s:security_descriptor>";
> > sReq = sReq + "<s:sacl>" + sNewVal + "<s:sacl>";
> > sReq = sReq + "</s:security_descriptor >";
> > sReq = sReq + "</a:prop></a:set></a:propertyupdate>";
> > // Send the request to set the search criteria.
> > pXMLHttpReq->send(sReq);
> > ********************************************************
> >
> > "Michael" wrote:
> >
> > > Do you want to set security descriptor property?
> > > You can use WebDAV to set security descriptor.
> > >
> > > Also you can use WebDAV for notification but I am not sure if this is
> good
> > > solution for 40000 mailboxes.
> > > Have you tried WebDAV notification?
> > >
> > > Michael
> > > -------------------------------
> > > If you need WebDAV API for Exchange server,
> > > use our component WebDAV .NET for Exchange.
> > > Check out http://www.independentsoft.com
> > >
> > >
> > > "Melbin" wrote in message
> > > news:B844D9AA-0E26-440D-A56E-54AE780BAD60@microsoft.com...
> > > > I want to develop an application for getting the notifications
> > > when
> > > > some particular messages are read/deleted for about 40,000 mailboxes.
> > > > I am using Exchange server 2000. i am using that as the email
> > > > server also.
> > > > I tried to use the Advisesink using MAPI but then i came across the
> > > problem
> > > > of the limitation of 255 mailboxes in a single process. For 40,000
> > > mailboxes
> > > > if i am using seperate processes it will come upto 200 processes which
> is
> > > not
> > > > feasible. So i wanted to know which way i can do this.
> > > > I did "Exchange store events: synchronous events, asynchronous
> > > events,
> > > > and system events" . But from here i will be getting only the delete
> event
> > > > not read event.
> > > > So for that will i be able to us the auditing? (issue a PROPPATCH
> on
> > > the
> > > > folder on which you want to enable the auditing
> > > >
> > >
> (http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_exch2k_accessing_item_de
> > > scriptors.asp),
> > > > and pass along a security descriptor containing a SACL). If it can be
> used
> > > > then how is it done?
> > > > Or is there aome other way to do this?
> > > > Thanks a lotz in advance
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
>
>
>
date: Tue, 23 Aug 2005 05:30:13 -0700
author: Melbin
Re: Notification(message read/deleted)
Yes. Otherwise how will i get notified when a message is read/deleted in any
of those mailboxes. Is this way correct?
"Michael" wrote:
> Do you plan to set this property to all 40 000 mailboxes?
>
> Michael
> -------------------------------
> If you need WebDAV API for Exchange server,
> use our component WebDAV .NET for Exchange.
> Check out http://www.independentsoft.com
>
>
> "Melbin" wrote in message
> news:479C1076-CD10-4DFD-A6FF-069F9F0001EF@microsoft.com...
> > I did something like this for setting the SACL. Is this correct? will it
> give
> > me the notification when a message is read/deleted for that particular
> > folder? But where am i specifying the log file? Am i using the security
> log
> > file? Or will i be able to use the cutom registered log file?
> >
> > CoInitialize(NULL);
> > bstr_t yourServerName = "ICOPE-LDAP";
> > bstr_t sUrl = "http:/" + yourServerName +
> > "/exchange/sampleuser1/inbox";
> > bstr_t sMethod = "PROPPATCH";
> >
> > _variant_t vUser = L"ICOPE-LDAP\\Administrator"; //sampleuser1
> > _variant_t vPassword = L"mks"; //sampleuser1
> >
> > MSXML::IXMLHttpRequest* pXMLHttpReq=NULL;
> > HRESULT hr = ::CoCreateInstance(__uuidof(XMLHTTPRequest),
> > NULL,
> > CLSCTX_INPROC_SERVER,
> > __uuidof(IXMLHttpRequest),
> > (LPVOID*)&pXMLHttpReq);
> >
> > if (S_OK != hr)
> > {
> > printf("XML Http Request pointer creation failed\n");
> > return 0;
> > }
> > _variant_t vAsync = (bool)FALSE;
> > pXMLHttpReq->open(sMethod,
> > sUrl,
> > vAsync,
> > vUser,
> > vPassword);
> >
> > pXMLHttpReq->setRequestHeader((bstr_t)"Content-Type",
> > (bstr_t)"text/xml");
> >
> > bstr_t sReq;
> > bstr_t sNewVal="audit_on_success:audit_on_failure";
> >
> >
> > sReq = "<?xml version='1.0'?>";
> > sReq = sReq + "<a:propertyupdate xmlns:a='DAV:' xmlns:o=" +
> > "'urn:schemas:httpmail:inbox'>" + "xmlns:f=
> > 'http://schemas.microsoft.com/security/'>";
> > sReq = sReq + "<a:set><a:prop>";
> > sReq = sReq + "<s:security_descriptor>";
> > sReq = sReq + "<s:sacl>" + sNewVal + "<s:sacl>";
> > sReq = sReq + "</s:security_descriptor >";
> > sReq = sReq + "</a:prop></a:set></a:propertyupdate>";
> > // Send the request to set the search criteria.
> > pXMLHttpReq->send(sReq);
> > ********************************************************
> >
> > "Michael" wrote:
> >
> > > Do you want to set security descriptor property?
> > > You can use WebDAV to set security descriptor.
> > >
> > > Also you can use WebDAV for notification but I am not sure if this is
> good
> > > solution for 40000 mailboxes.
> > > Have you tried WebDAV notification?
> > >
> > > Michael
> > > -------------------------------
> > > If you need WebDAV API for Exchange server,
> > > use our component WebDAV .NET for Exchange.
> > > Check out http://www.independentsoft.com
> > >
> > >
> > > "Melbin" wrote in message
> > > news:B844D9AA-0E26-440D-A56E-54AE780BAD60@microsoft.com...
> > > > I want to develop an application for getting the notifications
> > > when
> > > > some particular messages are read/deleted for about 40,000 mailboxes.
> > > > I am using Exchange server 2000. i am using that as the email
> > > > server also.
> > > > I tried to use the Advisesink using MAPI but then i came across the
> > > problem
> > > > of the limitation of 255 mailboxes in a single process. For 40,000
> > > mailboxes
> > > > if i am using seperate processes it will come upto 200 processes which
> is
> > > not
> > > > feasible. So i wanted to know which way i can do this.
> > > > I did "Exchange store events: synchronous events, asynchronous
> > > events,
> > > > and system events" . But from here i will be getting only the delete
> event
> > > > not read event.
> > > > So for that will i be able to us the auditing? (issue a PROPPATCH
> on
> > > the
> > > > folder on which you want to enable the auditing
> > > >
> > >
> (http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_exch2k_accessing_item_de
> > > scriptors.asp),
> > > > and pass along a security descriptor containing a SACL). If it can be
> used
> > > > then how is it done?
> > > > Or is there aome other way to do this?
> > > > Thanks a lotz in advance
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
>
>
>
date: Tue, 23 Aug 2005 06:02:02 -0700
author: Melbin
Re: Notification(message read/deleted)
I know about WebDAV notification.
With WebDAV you can use one account (Admin) and subscribe for events in all
40 000 mailboxes.
We have not tested with large number of mailboxes like you have, but this
means that you must send 40 000 requests to your server to subscribe in all
mailboxes.
With WebDAV there is no limit of 256 open mailboxes because to subscribe for
event with WebDAV you do not need to "open mailbox"
Because you have such large number of mailboxes you can try to use WebDAV
SUBSCRIBE method (see documentation in Exchange SDK) and subscribe for
events with callback.
Problem with WebDAV is that maximun subscription lifetime is 1 hour (3600
seconds) and after that you must renew your subscription.
Michael
-------------------------------
If you need WebDAV API for Exchange server,
use our component WebDAV .NET for Exchange.
Check out http://www.independentsoft.com
"Melbin" wrote in message
news:95F52A49-3D86-4C43-A999-94F3D68EA54A@microsoft.com...
> Yes. Otherwise how will i get notified for all those mailboxes. Will this
> work? Is this idea correct?
>
> "Michael" wrote:
>
> > Do you plan to set this property to all 40 000 mailboxes?
> >
> > Michael
> > -------------------------------
> > If you need WebDAV API for Exchange server,
> > use our component WebDAV .NET for Exchange.
> > Check out http://www.independentsoft.com
> >
> >
> > "Melbin" wrote in message
> > news:479C1076-CD10-4DFD-A6FF-069F9F0001EF@microsoft.com...
> > > I did something like this for setting the SACL. Is this correct? will
it
> > give
> > > me the notification when a message is read/deleted for that particular
> > > folder? But where am i specifying the log file? Am i using the
security
> > log
> > > file? Or will i be able to use the cutom registered log file?
> > >
> > > CoInitialize(NULL);
> > > bstr_t yourServerName = "ICOPE-LDAP";
> > > bstr_t sUrl = "http:/" + yourServerName +
> > > "/exchange/sampleuser1/inbox";
> > > bstr_t sMethod = "PROPPATCH";
> > >
> > > _variant_t vUser = L"ICOPE-LDAP\\Administrator"; //sampleuser1
> > > _variant_t vPassword = L"mks"; //sampleuser1
> > >
> > > MSXML::IXMLHttpRequest* pXMLHttpReq=NULL;
> > > HRESULT hr = ::CoCreateInstance(__uuidof(XMLHTTPRequest),
> > > NULL,
> > > CLSCTX_INPROC_SERVER,
> > > __uuidof(IXMLHttpRequest),
> > > (LPVOID*)&pXMLHttpReq);
> > >
> > > if (S_OK != hr)
> > > {
> > > printf("XML Http Request pointer creation failed\n");
> > > return 0;
> > > }
> > > _variant_t vAsync = (bool)FALSE;
> > > pXMLHttpReq->open(sMethod,
> > > sUrl,
> > > vAsync,
> > > vUser,
> > > vPassword);
> > >
> > > pXMLHttpReq->setRequestHeader((bstr_t)"Content-Type",
> > > (bstr_t)"text/xml");
> > >
> > > bstr_t sReq;
> > > bstr_t sNewVal="audit_on_success:audit_on_failure";
> > >
> > >
> > > sReq = "<?xml version='1.0'?>";
> > > sReq = sReq + "<a:propertyupdate xmlns:a='DAV:' xmlns:o=" +
> > > "'urn:schemas:httpmail:inbox'>" + "xmlns:f=
> > > 'http://schemas.microsoft.com/security/'>";
> > > sReq = sReq + "<a:set><a:prop>";
> > > sReq = sReq + "<s:security_descriptor>";
> > > sReq = sReq + "<s:sacl>" + sNewVal + "<s:sacl>";
> > > sReq = sReq + "</s:security_descriptor >";
> > > sReq = sReq + "</a:prop></a:set></a:propertyupdate>";
> > > // Send the request to set the search criteria.
> > > pXMLHttpReq->send(sReq);
> > > ********************************************************
> > >
> > > "Michael" wrote:
> > >
> > > > Do you want to set security descriptor property?
> > > > You can use WebDAV to set security descriptor.
> > > >
> > > > Also you can use WebDAV for notification but I am not sure if this
is
> > good
> > > > solution for 40000 mailboxes.
> > > > Have you tried WebDAV notification?
> > > >
> > > > Michael
> > > > -------------------------------
> > > > If you need WebDAV API for Exchange server,
> > > > use our component WebDAV .NET for Exchange.
> > > > Check out http://www.independentsoft.com
> > > >
> > > >
> > > > "Melbin" wrote in message
> > > > news:B844D9AA-0E26-440D-A56E-54AE780BAD60@microsoft.com...
> > > > > I want to develop an application for getting the
notifications
> > > > when
> > > > > some particular messages are read/deleted for about 40,000
mailboxes.
> > > > > I am using Exchange server 2000. i am using that as the
email
> > > > > server also.
> > > > > I tried to use the Advisesink using MAPI but then i came across
the
> > > > problem
> > > > > of the limitation of 255 mailboxes in a single process. For 40,000
> > > > mailboxes
> > > > > if i am using seperate processes it will come upto 200 processes
which
> > is
> > > > not
> > > > > feasible. So i wanted to know which way i can do this.
> > > > > I did "Exchange store events: synchronous events,
asynchronous
> > > > events,
> > > > > and system events" . But from here i will be getting only the
delete
> > event
> > > > > not read event.
> > > > > So for that will i be able to us the auditing? (issue a
PROPPATCH
> > on
> > > > the
> > > > > folder on which you want to enable the auditing
> > > > >
> > > >
> >
(http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_exch2k_accessing_item_de
> > > > scriptors.asp),
> > > > > and pass along a security descriptor containing a SACL). If it can
be
> > used
> > > > > then how is it done?
> > > > > Or is there aome other way to do this?
> > > > > Thanks a lotz in advance
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> >
> >
> >
date: Tue, 23 Aug 2005 18:01:18 +0200
author: Michael
Re: Notification(message read/deleted)
Hello,
the WebDAV notify will not solve the problem, because no notifications are
send when elements are being read.
AFAIK, the 256 mailbox limit was with Exchange 2000, where a hotfix exist.
Exchange 2003 should not exhibit this behavior.
Greetings,
Henning Krause
MVP - Exchange
http://www.infinitec.de
"Michael" wrote in message
news:e7AVpv$pFHA.3980@TK2MSFTNGP15.phx.gbl...
>I know about WebDAV notification.
> With WebDAV you can use one account (Admin) and subscribe for events in
> all
> 40 000 mailboxes.
> We have not tested with large number of mailboxes like you have, but this
> means that you must send 40 000 requests to your server to subscribe in
> all
> mailboxes.
> With WebDAV there is no limit of 256 open mailboxes because to subscribe
> for
> event with WebDAV you do not need to "open mailbox"
>
> Because you have such large number of mailboxes you can try to use WebDAV
> SUBSCRIBE method (see documentation in Exchange SDK) and subscribe for
> events with callback.
> Problem with WebDAV is that maximun subscription lifetime is 1 hour (3600
> seconds) and after that you must renew your subscription.
>
> Michael
> -------------------------------
> If you need WebDAV API for Exchange server,
> use our component WebDAV .NET for Exchange.
> Check out http://www.independentsoft.com
>
>
> "Melbin" wrote in message
> news:95F52A49-3D86-4C43-A999-94F3D68EA54A@microsoft.com...
>> Yes. Otherwise how will i get notified for all those mailboxes. Will this
>> work? Is this idea correct?
>>
>> "Michael" wrote:
>>
>> > Do you plan to set this property to all 40 000 mailboxes?
>> >
>> > Michael
>> > -------------------------------
>> > If you need WebDAV API for Exchange server,
>> > use our component WebDAV .NET for Exchange.
>> > Check out http://www.independentsoft.com
>> >
>> >
>> > "Melbin" wrote in message
>> > news:479C1076-CD10-4DFD-A6FF-069F9F0001EF@microsoft.com...
>> > > I did something like this for setting the SACL. Is this correct? will
> it
>> > give
>> > > me the notification when a message is read/deleted for that
>> > > particular
>> > > folder? But where am i specifying the log file? Am i using the
> security
>> > log
>> > > file? Or will i be able to use the cutom registered log file?
>> > >
>> > > CoInitialize(NULL);
>> > > bstr_t yourServerName = "ICOPE-LDAP";
>> > > bstr_t sUrl = "http:/" + yourServerName +
>> > > "/exchange/sampleuser1/inbox";
>> > > bstr_t sMethod = "PROPPATCH";
>> > >
>> > > _variant_t vUser = L"ICOPE-LDAP\\Administrator"; //sampleuser1
>> > > _variant_t vPassword = L"mks"; //sampleuser1
>> > >
>> > > MSXML::IXMLHttpRequest* pXMLHttpReq=NULL;
>> > > HRESULT hr = ::CoCreateInstance(__uuidof(XMLHTTPRequest),
>> > > NULL,
>> > > CLSCTX_INPROC_SERVER,
>> > > __uuidof(IXMLHttpRequest),
>> > > (LPVOID*)&pXMLHttpReq);
>> > >
>> > > if (S_OK != hr)
>> > > {
>> > > printf("XML Http Request pointer creation failed\n");
>> > > return 0;
>> > > }
>> > > _variant_t vAsync = (bool)FALSE;
>> > > pXMLHttpReq->open(sMethod,
>> > > sUrl,
>> > > vAsync,
>> > > vUser,
>> > > vPassword);
>> > >
>> > > pXMLHttpReq->setRequestHeader((bstr_t)"Content-Type",
>> > > (bstr_t)"text/xml");
>> > >
>> > > bstr_t sReq;
>> > > bstr_t sNewVal="audit_on_success:audit_on_failure";
>> > >
>> > >
>> > > sReq = "<?xml version='1.0'?>";
>> > > sReq = sReq + "<a:propertyupdate xmlns:a='DAV:' xmlns:o=" +
>> > > "'urn:schemas:httpmail:inbox'>" + "xmlns:f=
>> > > 'http://schemas.microsoft.com/security/'>";
>> > > sReq = sReq + "<a:set><a:prop>";
>> > > sReq = sReq + "<s:security_descriptor>";
>> > > sReq = sReq + "<s:sacl>" + sNewVal + "<s:sacl>";
>> > > sReq = sReq + "</s:security_descriptor >";
>> > > sReq = sReq + "</a:prop></a:set></a:propertyupdate>";
>> > > // Send the request to set the search criteria.
>> > > pXMLHttpReq->send(sReq);
>> > > ********************************************************
>> > >
>> > > "Michael" wrote:
>> > >
>> > > > Do you want to set security descriptor property?
>> > > > You can use WebDAV to set security descriptor.
>> > > >
>> > > > Also you can use WebDAV for notification but I am not sure if this
> is
>> > good
>> > > > solution for 40000 mailboxes.
>> > > > Have you tried WebDAV notification?
>> > > >
>> > > > Michael
>> > > > -------------------------------
>> > > > If you need WebDAV API for Exchange server,
>> > > > use our component WebDAV .NET for Exchange.
>> > > > Check out http://www.independentsoft.com
>> > > >
>> > > >
>> > > > "Melbin" wrote in message
>> > > > news:B844D9AA-0E26-440D-A56E-54AE780BAD60@microsoft.com...
>> > > > > I want to develop an application for getting the
> notifications
>> > > > when
>> > > > > some particular messages are read/deleted for about 40,000
> mailboxes.
>> > > > > I am using Exchange server 2000. i am using that as the
> email
>> > > > > server also.
>> > > > > I tried to use the Advisesink using MAPI but then i came across
> the
>> > > > problem
>> > > > > of the limitation of 255 mailboxes in a single process. For
>> > > > > 40,000
>> > > > mailboxes
>> > > > > if i am using seperate processes it will come upto 200 processes
> which
>> > is
>> > > > not
>> > > > > feasible. So i wanted to know which way i can do this.
>> > > > > I did "Exchange store events: synchronous events,
> asynchronous
>> > > > events,
>> > > > > and system events" . But from here i will be getting only the
> delete
>> > event
>> > > > > not read event.
>> > > > > So for that will i be able to us the auditing? (issue a
> PROPPATCH
>> > on
>> > > > the
>> > > > > folder on which you want to enable the auditing
>> > > > >
>> > > >
>> >
> (http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_exch2k_accessing_item_de
>> > > > scriptors.asp),
>> > > > > and pass along a security descriptor containing a SACL). If it
>> > > > > can
> be
>> > used
>> > > > > then how is it done?
>> > > > > Or is there aome other way to do this?
>> > > > > Thanks a lotz in advance
>> > > > >
>> > > > >
>> > > > >
>> > > > >
>> > > > >
>> > > > >
>> > > >
>> > > >
>> > > >
>> >
>> >
>> >
>
>
date: Tue, 23 Aug 2005 19:04:29 +0200
author: Henning Krause [MVP - Exchange]
Re: Notification(message read/deleted)
Sorry Henning. I thought you are busy and that is why you are not replying.
Any way thanks to Henning and Micheal for replying.
So i can't use webdav notifications also. Now the only way is
Auditing. But how am i telling that i need the success and failure of
messages in a folder? The code i did is as follows,
CoInitialize(NULL);
bstr_t yourServerName = "SERVERI";
bstr_t sUrl = "http:/" + yourServerName +
"/exchange/sampleuser1/inbox";
bstr_t sMethod = "PROPPATCH";
_variant_t vUser = L"SERVERI\\Administrator"; //sampleuser1
_variant_t vPassword = L"mks"; //sampleuser1
MSXML::IXMLHttpRequest* pXMLHttpReq=NULL;
HRESULT hr = ::CoCreateInstance(__uuidof(XMLHTTPRequest),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IXMLHttpRequest),
(LPVOID*)&pXMLHttpReq);
if (S_OK != hr)
{
printf("XML Http Request pointer creation failed\n");
return 0;
}
_variant_t vAsync = (bool)FALSE;
pXMLHttpReq->open(sMethod,
sUrl,
vAsync,
vUser,
vPassword);
pXMLHttpReq->setRequestHeader((bstr_t)"Content-Type",
(bstr_t)"text/xml");
bstr_t sReq;
bstr_t sNewVal="audit_on_success:audit_on_failure";
sReq = "<?xml version='1.0'?>";
sReq = sReq + "<a:propertyupdate xmlns:a='DAV:' xmlns:o=" +
"'urn:schemas:httpmail:inbox'>" + "xmlns:f=
'http://schemas.microsoft.com/security/'>";
sReq = sReq + "<a:set><a:prop>";
sReq = sReq + "<s:security_descriptor>";
sReq = sReq + "<s:sacl>" + sNewVal + "<s:sacl>";
sReq = sReq + "</s:security_descriptor >";
sReq = sReq + "</a:prop></a:set></a:propertyupdate>";
// Send the request to set the search criteria.
pXMLHttpReq->send(sReq);
********************************************************
"Melbin" wrote:
> Yes. Otherwise how will i get notified when a message is read/deleted in any
> of those mailboxes. Is this way correct?
>
> "Michael" wrote:
>
> > Do you plan to set this property to all 40 000 mailboxes?
> >
> > Michael
> > -------------------------------
> > If you need WebDAV API for Exchange server,
> > use our component WebDAV .NET for Exchange.
> > Check out http://www.independentsoft.com
> >
> >
> > "Melbin" wrote in message
> > news:479C1076-CD10-4DFD-A6FF-069F9F0001EF@microsoft.com...
> > > I did something like this for setting the SACL. Is this correct? will it
> > give
> > > me the notification when a message is read/deleted for that particular
> > > folder? But where am i specifying the log file? Am i using the security
> > log
> > > file? Or will i be able to use the cutom registered log file?
> > >
> > > CoInitialize(NULL);
> > > bstr_t yourServerName = "ICOPE-LDAP";
> > > bstr_t sUrl = "http:/" + yourServerName +
> > > "/exchange/sampleuser1/inbox";
> > > bstr_t sMethod = "PROPPATCH";
> > >
> > > _variant_t vUser = L"ICOPE-LDAP\\Administrator"; //sampleuser1
> > > _variant_t vPassword = L"mks"; //sampleuser1
> > >
> > > MSXML::IXMLHttpRequest* pXMLHttpReq=NULL;
> > > HRESULT hr = ::CoCreateInstance(__uuidof(XMLHTTPRequest),
> > > NULL,
> > > CLSCTX_INPROC_SERVER,
> > > __uuidof(IXMLHttpRequest),
> > > (LPVOID*)&pXMLHttpReq);
> > >
> > > if (S_OK != hr)
> > > {
> > > printf("XML Http Request pointer creation failed\n");
> > > return 0;
> > > }
> > > _variant_t vAsync = (bool)FALSE;
> > > pXMLHttpReq->open(sMethod,
> > > sUrl,
> > > vAsync,
> > > vUser,
> > > vPassword);
> > >
> > > pXMLHttpReq->setRequestHeader((bstr_t)"Content-Type",
> > > (bstr_t)"text/xml");
> > >
> > > bstr_t sReq;
> > > bstr_t sNewVal="audit_on_success:audit_on_failure";
> > >
> > >
> > > sReq = "<?xml version='1.0'?>";
> > > sReq = sReq + "<a:propertyupdate xmlns:a='DAV:' xmlns:o=" +
> > > "'urn:schemas:httpmail:inbox'>" + "xmlns:f=
> > > 'http://schemas.microsoft.com/security/'>";
> > > sReq = sReq + "<a:set><a:prop>";
> > > sReq = sReq + "<s:security_descriptor>";
> > > sReq = sReq + "<s:sacl>" + sNewVal + "<s:sacl>";
> > > sReq = sReq + "</s:security_descriptor >";
> > > sReq = sReq + "</a:prop></a:set></a:propertyupdate>";
> > > // Send the request to set the search criteria.
> > > pXMLHttpReq->send(sReq);
> > > ********************************************************
> > >
> > > "Michael" wrote:
> > >
> > > > Do you want to set security descriptor property?
> > > > You can use WebDAV to set security descriptor.
> > > >
> > > > Also you can use WebDAV for notification but I am not sure if this is
> > good
> > > > solution for 40000 mailboxes.
> > > > Have you tried WebDAV notification?
> > > >
> > > > Michael
> > > > -------------------------------
> > > > If you need WebDAV API for Exchange server,
> > > > use our component WebDAV .NET for Exchange.
> > > > Check out http://www.independentsoft.com
> > > >
> > > >
> > > > "Melbin" wrote in message
> > > > news:B844D9AA-0E26-440D-A56E-54AE780BAD60@microsoft.com...
> > > > > I want to develop an application for getting the notifications
> > > > when
> > > > > some particular messages are read/deleted for about 40,000 mailboxes.
> > > > > I am using Exchange server 2000. i am using that as the email
> > > > > server also.
> > > > > I tried to use the Advisesink using MAPI but then i came across the
> > > > problem
> > > > > of the limitation of 255 mailboxes in a single process. For 40,000
> > > > mailboxes
> > > > > if i am using seperate processes it will come upto 200 processes which
> > is
> > > > not
> > > > > feasible. So i wanted to know which way i can do this.
> > > > > I did "Exchange store events: synchronous events, asynchronous
> > > > events,
> > > > > and system events" . But from here i will be getting only the delete
> > event
> > > > > not read event.
> > > > > So for that will i be able to us the auditing? (issue a PROPPATCH
> > on
> > > > the
> > > > > folder on which you want to enable the auditing
> > > > >
> > > >
> > (http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_exch2k_accessing_item_de
> > > > scriptors.asp),
> > > > > and pass along a security descriptor containing a SACL). If it can be
> > used
> > > > > then how is it done?
> > > > > Or is there aome other way to do this?
> > > > > Thanks a lotz in advance
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> >
> >
> >
date: Tue, 23 Aug 2005 21:09:02 -0700
author: Melbin
Re: Notification(message read/deleted)
Sorry Henning. I thought you are busy and that is why you are not replying.
Any way thanks to Henning and Micheal for replying.
So i can't use webdav notifications also. Now the only way is
Auditing. But how am i telling that i need the success and failure of
messages in a folder? I saw something like "urn:schemas:httpmail:read ". Is
this the one for read? then for delete what?
The code i did is as follows. This code is giving OK response but not
getting any read/delete events.
CoInitialize(NULL);
bstr_t yourServerName = "SERVERI";
bstr_t sUrl = "http:/" + yourServerName +
"/exchange/sampleuser1/inbox";
bstr_t sMethod = "PROPPATCH";
_variant_t vUser = L"SERVERI\\Administrator"; //sampleuser1
_variant_t vPassword = L"mks"; //sampleuser1
MSXML::IXMLHttpRequest* pXMLHttpReq=NULL;
HRESULT hr = ::CoCreateInstance(__uuidof(XMLHTTPRequest),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IXMLHttpRequest),
(LPVOID*)&pXMLHttpReq);
if (S_OK != hr)
{
printf("XML Http Request pointer creation failed\n");
return 0;
}
_variant_t vAsync = (bool)FALSE;
pXMLHttpReq->open(sMethod,
sUrl,
vAsync,
vUser,
vPassword);
pXMLHttpReq->setRequestHeader((bstr_t)"Content-Type",
(bstr_t)"text/xml");
bstr_t sReq;
bstr_t sNewVal="audit_on_success:audit_on_failure";
sReq = "<?xml version='1.0'?>";
sReq = sReq + "<a:propertyupdate xmlns:a='DAV:'
xmlns:o='urn:schemas:httpmail:inbox'>";
sReq = sReq + "<a:set><a:prop>";
sReq = sReq + "<b:security_descriptor xmlns:b=
'http://schemas.microsoft.com/security/'>";
sReq = sReq + "<o:sacl>" + sNewVal + "</o:sacl>";
sReq = sReq + "</b:security_descriptor >";
sReq = sReq + "</a:prop></a:set></a:propertyupdate>";
pXMLHttpReq->send(sReq);
********************************************************
"Melbin" wrote:
> Sorry Henning. I thought you are busy and that is why you are not replying.
> Any way thanks to Henning and Micheal for replying.
> So i can't use webdav notifications also. Now the only way is
> Auditing. But how am i telling that i need the success and failure of
> messages in a folder? The code i did is as follows,
> CoInitialize(NULL);
> bstr_t yourServerName = "SERVERI";
> bstr_t sUrl = "http:/" + yourServerName +
> "/exchange/sampleuser1/inbox";
> bstr_t sMethod = "PROPPATCH";
>
> _variant_t vUser = L"SERVERI\\Administrator"; //sampleuser1
> _variant_t vPassword = L"mks"; //sampleuser1
>
> MSXML::IXMLHttpRequest* pXMLHttpReq=NULL;
> HRESULT hr = ::CoCreateInstance(__uuidof(XMLHTTPRequest),
> NULL,
> CLSCTX_INPROC_SERVER,
> __uuidof(IXMLHttpRequest),
> (LPVOID*)&pXMLHttpReq);
>
> if (S_OK != hr)
> {
> printf("XML Http Request pointer creation failed\n");
> return 0;
> }
> _variant_t vAsync = (bool)FALSE;
> pXMLHttpReq->open(sMethod,
> sUrl,
> vAsync,
> vUser,
> vPassword);
>
> pXMLHttpReq->setRequestHeader((bstr_t)"Content-Type",
> (bstr_t)"text/xml");
>
> bstr_t sReq;
> bstr_t sNewVal="audit_on_success:audit_on_failure";
>
>
> sReq = "<?xml version='1.0'?>";
> sReq = sReq + "<a:propertyupdate xmlns:a='DAV:' xmlns:o=" +
> "'urn:schemas:httpmail:inbox'>" + "xmlns:f=
> 'http://schemas.microsoft.com/security/'>";
> sReq = sReq + "<a:set><a:prop>";
> sReq = sReq + "<s:security_descriptor>";
> sReq = sReq + "<s:sacl>" + sNewVal + "<s:sacl>";
> sReq = sReq + "</s:security_descriptor >";
> sReq = sReq + "</a:prop></a:set></a:propertyupdate>";
> // Send the request to set the search criteria.
> pXMLHttpReq->send(sReq);
> ********************************************************
>
>
> "Melbin" wrote:
>
> > Yes. Otherwise how will i get notified when a message is read/deleted in any
> > of those mailboxes. Is this way correct?
> >
> > "Michael" wrote:
> >
> > > Do you plan to set this property to all 40 000 mailboxes?
> > >
> > > Michael
> > > -------------------------------
> > > If you need WebDAV API for Exchange server,
> > > use our component WebDAV .NET for Exchange.
> > > Check out http://www.independentsoft.com
> > >
> > >
> > > "Melbin" wrote in message
> > > news:479C1076-CD10-4DFD-A6FF-069F9F0001EF@microsoft.com...
> > > > I did something like this for setting the SACL. Is this correct? will it
> > > give
> > > > me the notification when a message is read/deleted for that particular
> > > > folder? But where am i specifying the log file? Am i using the security
> > > log
> > > > file? Or will i be able to use the cutom registered log file?
> > > >
> > > > CoInitialize(NULL);
> > > > bstr_t yourServerName = "ICOPE-LDAP";
> > > > bstr_t sUrl = "http:/" + yourServerName +
> > > > "/exchange/sampleuser1/inbox";
> > > > bstr_t sMethod = "PROPPATCH";
> > > >
> > > > _variant_t vUser = L"ICOPE-LDAP\\Administrator"; //sampleuser1
> > > > _variant_t vPassword = L"mks"; //sampleuser1
> > > >
> > > > MSXML::IXMLHttpRequest* pXMLHttpReq=NULL;
> > > > HRESULT hr = ::CoCreateInstance(__uuidof(XMLHTTPRequest),
> > > > NULL,
> > > > CLSCTX_INPROC_SERVER,
> > > > __uuidof(IXMLHttpRequest),
> > > > (LPVOID*)&pXMLHttpReq);
> > > >
> > > > if (S_OK != hr)
> > > > {
> > > > printf("XML Http Request pointer creation failed\n");
> > > > return 0;
> > > > }
> > > > _variant_t vAsync = (bool)FALSE;
> > > > pXMLHttpReq->open(sMethod,
> > > > sUrl,
> > > > vAsync,
> > > > vUser,
> > > > vPassword);
> > > >
> > > > pXMLHttpReq->setRequestHeader((bstr_t)"Content-Type",
> > > > (bstr_t)"text/xml");
> > > >
> > > > bstr_t sReq;
> > > > bstr_t sNewVal="audit_on_success:audit_on_failure";
> > > >
> > > >
> > > > sReq = "<?xml version='1.0'?>";
> > > > sReq = sReq + "<a:propertyupdate xmlns:a='DAV:' xmlns:o=" +
> > > > "'urn:schemas:httpmail:inbox'>" + "xmlns:f=
> > > > 'http://schemas.microsoft.com/security/'>";
> > > > sReq = sReq + "<a:set><a:prop>";
> > > > sReq = sReq + "<s:security_descriptor>";
> > > > sReq = sReq + "<s:sacl>" + sNewVal + "<s:sacl>";
> > > > sReq = sReq + "</s:security_descriptor >";
> > > > sReq = sReq + "</a:prop></a:set></a:propertyupdate>";
> > > > // Send the request to set the search criteria.
> > > > pXMLHttpReq->send(sReq);
> > > > ********************************************************
> > > >
> > > > "Michael" wrote:
> > > >
> > > > > Do you want to set security descriptor property?
> > > > > You can use WebDAV to set security descriptor.
> > > > >
> > > > > Also you can use WebDAV for notification but I am not sure if this is
> > > good
> > > > > solution for 40000 mailboxes.
> > > > > Have you tried WebDAV notification?
> > > > >
> > > > > Michael
> > > > > -------------------------------
> > > > > If you need WebDAV API for Exchange server,
> > > > > use our component WebDAV .NET for Exchange.
> > > > > Check out http://www.independentsoft.com
> > > > >
> > > > >
> > > > > "Melbin" wrote in message
> > > > > news:B844D9AA-0E26-440D-A56E-54AE780BAD60@microsoft.com...
> > > > > > I want to develop an application for getting the notifications
> > > > > when
> > > > > > some particular messages are read/deleted for about 40,000 mailboxes.
> > > > > > I am using Exchange server 2000. i am using that as the email
> > > > > > server also.
> > > > > > I tried to use the Advisesink using MAPI but then i came across the
> > > > > problem
> > > > > > of the limitation of 255 mailboxes in a single process. For 40,000
> > > > > mailboxes
> > > > > > if i am using seperate processes it will come upto 200 processes which
> > > is
> > > > > not
> > > > > > feasible. So i wanted to know which way i can do this.
> > > > > > I did "Exchange store events: synchronous events, asynchronous
> > > > > events,
> > > > > > and system events" . But from here i will be getting only the delete
> > > event
> > > > > > not read event.
> > > > > > So for that will i be able to us the auditing? (issue a PROPPATCH
> > > on
> > > > > the
> > > > > > folder on which you want to enable the auditing
> > > > > >
> > > > >
> > > (http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_exch2k_accessing_item_de
> > > > > scriptors.asp),
> > > > > > and pass along a security descriptor containing a SACL). If it can be
> > > used
> > > > > > then how is it done?
> > > > > > Or is there aome other way to do this?
> > > > > > Thanks a lotz in advance
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > >
> > >
> > >
date: Wed, 24 Aug 2005 03:00:02 -0700
author: Melbin
|
|