Home All Groups Group Topic Archive Search About

problem using updateItem() in Exchange Web Services

Author
19 May 2009 9:16 AM
macca
Hi, Im having a problem updating calendar items using EWS and PHP.

This is the code that I am using:

$UpdateItem->ConflictResolution = "AlwaysOverwrite";
$UpdateItem->ItemChanges->ItemChange->ItemId->Id = $item_id;
$UpdateItem->ItemChanges->ItemChange->ItemId->ChangeKey = $change_key;
$UpdateItem->ItemChanges->ItemChange->Updates->SetItemField->FieldURI-
>FieldURI = "item:ReminderMinutesBeforeStart";
$UpdateItem->ItemChanges->ItemChange->Updates->SetItemField-
>CalendarItem->ReminderMinutesBeforeStart = "0";

$result = $this->client->UpdateItem($UpdateItem);

which translates to:

<UpdateItem xmlns="http://schemas.microsoft.com/exchange/services/2006/
messages"
        ConflictResolution="AlwaysOverwrite"
        SendMeetingInvitationsOrCancellations="SendToAllAndSaveCopy">
          <ItemChanges>
            <ItemChange>
                <ItemId Id="AS0Ab3J..." ChangeKey="AAGUomp..." />
                      <Updates>

                          <SetItemField>
                              <FieldURI FieldURI="item:ReminderMinutesBeforeStart" />
                              <CalendarItem>
                                <ReminderMinutesBeforeStart>0</
ReminderMinutesBeforeStart>
                              </CalendarItem>
                        </SetItemField>

                      </Updates>
            </ItemChange>
          </ItemChanges>
        </UpdateItem>

But this is not working and all I get is the erroe : SOAP-ERROR:
Encoding: object hasn't 'Path' property

Please help me!!!

Thanks

Author
21 May 2009 10:20 AM
macca
On 19 May, 10:16, macca <ptmcna***@googlemail.com> wrote:
Show quoteHide quote
> Hi, Im having a problem updating calendar items using EWS and PHP.
>
> This is the code that I am using:
>
> $UpdateItem->ConflictResolution = "AlwaysOverwrite";
> $UpdateItem->ItemChanges->ItemChange->ItemId->Id = $item_id;
> $UpdateItem->ItemChanges->ItemChange->ItemId->ChangeKey = $change_key;
> $UpdateItem->ItemChanges->ItemChange->Updates->SetItemField->FieldURI->FieldURI = "item:ReminderMinutesBeforeStart";
>
> $UpdateItem->ItemChanges->ItemChange->Updates->SetItemField-
>
> >CalendarItem->ReminderMinutesBeforeStart = "0";
>
> $result = $this->client->UpdateItem($UpdateItem);
>
> which translates to:
>
> <UpdateItem xmlns="http://schemas.microsoft.com/exchange/services/2006/
> messages"
>         ConflictResolution="AlwaysOverwrite"
>         SendMeetingInvitationsOrCancellations="SendToAllAndSaveCopy">
>                 <ItemChanges>
>                 <ItemChange>
>                                 <ItemId Id="AS0Ab3J..." ChangeKey="AAGUomp..." />
>                                 <Updates>
>
>                                         <SetItemField>
>                                                 <FieldURI FieldURI="item:ReminderMinutesBeforeStart" />
>                                                 <CalendarItem>
>                                                 <ReminderMinutesBeforeStart>0</
> ReminderMinutesBeforeStart>
>                                                 </CalendarItem>
>                                         </SetItemField>
>
>                                 </Updates>
>                 </ItemChange>
>                 </ItemChanges>
>                 </UpdateItem>
>
> But this is not working and all I get is the erroe : SOAP-ERROR:
> Encoding: object hasn't 'Path' property
>
> Please help me!!!
>
> Thanks

Anybody?
Author
26 May 2009 11:46 AM
julien.banville
On 21 mai, 12:20, macca <ptmcna***@googlemail.com> wrote:
Show quoteHide quote
> On 19 May, 10:16, macca <ptmcna***@googlemail.com> wrote:
>
>
>
> > Hi, Im having a problem updating calendar items using EWS and PHP.
>
> > This is the code that I am using:
>
> > $UpdateItem->ConflictResolution = "AlwaysOverwrite";
> > $UpdateItem->ItemChanges->ItemChange->ItemId->Id = $item_id;
> > $UpdateItem->ItemChanges->ItemChange->ItemId->ChangeKey = $change_key;
> > $UpdateItem->ItemChanges->ItemChange->Updates->SetItemField->FieldURI->FieldURI = "item:ReminderMinutesBeforeStart";
>
> > $UpdateItem->ItemChanges->ItemChange->Updates->SetItemField-
>
> > >CalendarItem->ReminderMinutesBeforeStart = "0";
>
> > $result = $this->client->UpdateItem($UpdateItem);
>
> > which translates to:
>
> > <UpdateItemxmlns="http://schemas.microsoft.com/exchange/services/2006/
> > messages"
> >         ConflictResolution="AlwaysOverwrite"
> >         SendMeetingInvitationsOrCancellations="SendToAllAndSaveCopy">
> >                 <ItemChanges>
> >                 <ItemChange>
> >                                 <ItemId Id="AS0Ab3J..." ChangeKey="AAGUomp..." />
> >                                 <Updates>
>
> >                                         <SetItemField>
> >                                                 <FieldURI FieldURI="item:ReminderMinutesBeforeStart" />
> >                                                 <CalendarItem>
> >                                                 <ReminderMinutesBeforeStart>0</
> > ReminderMinutesBeforeStart>
> >                                                 </CalendarItem>
> >                                         </SetItemField>
>
> >                                 </Updates>
> >                 </ItemChange>
> >                 </ItemChanges>
> >                 </UpdateItem>
>
> > But this is not working and all I get is the erroe : SOAP-ERROR:
> > Encoding: object hasn't 'Path' property
>
> > Please help me!!!
>
> > Thanks
>
> Anybody?

Hi,

I think it's a problem with the PHP SOAP implementation. This bug is
reported to php.net : http://bugs.php.net/bug.php?id=47924
Author
26 May 2009 1:10 PM
macca
Hi Julien, thanks for the response,

Thanks for pointing that to to me, I had a sneaking suspicion that it
may be a PHP SOAP problem from what I've seen elsewhere. I'll follow
the bug report on php.net and look for another SOAP solution.

Regards,

Paul