I'm having an issue around adding a VCalendar to my email using boundaries.
I'm not getting an error in gmail, it just doesn't show that the message contains an event.
This is the email source:
Content-class: urn:content-classes:calendarmessage
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="b1_83e86bab65095a2eb1fc16096e160ba2"
--b1_83e86bab65095a2eb1fc16096e160ba2
Content-Type: multipart/alternative;
boundary="b2_83e86bab65095a2eb1fc16096e160ba2"
--b2_83e86bab65095a2eb1fc16096e160ba2
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
This is to advise that your booking on the following course has been
cancelled:
--b2_83e86bab65095a2eb1fc16096e160ba2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 8bit
This is to advise that your booking on the following course has been cancelled:
--b2_83e86bab65095a2eb1fc16096e160ba2--
Content-Type: text/calendar;name="meeting.ics";method=REQUEST;
Content-Transfer-Encoding: 8bit
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 10.0 MIMEDIR//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:Eastern Time
BEGIN:STANDARD
DTSTART:20091101T020000
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20090301T020000
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDST
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
ORGANIZER;CN="webmaster":MAILTO:webmaster#example.com
ATTENDEE;CN="Joseph";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:test#email.com
LAST-MODIFIED:20150323T95540
UID:20151112T1800002068512894#exchangecore.com
DTSTAMP:20150323T95540
DTSTART;TZID="Eastern Time":20151112T180000
DTEND;TZID="Eastern Time":20151112T190000
TRANSP:OPAQUE
SEQUENCE:1
SUMMARY:My Test Subject
LOCATION:Joe's House
CLASS:PUBLIC
PRIORITY:5
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR
--b1_83e86bab65095a2eb1fc16096e160ba2--
I seems like I'm getting the boundaries wrong.
Thanks in advance.
I worked out what the issue was. The boundary I put before the VCALENDAR:
--b2_83e86bab65095a2eb1fc16096e160ba2--
was the closing boundary. Changed it to this and it worked:
--b2_4c2e4ee4b47bcb7c7521ef7d785e2701
Content-Type: text/calendar;name="meeting.ics";method=REQUEST; charset="UTF-8"
Content-Transfer-Encoding: 8bit
BEGIN:VCALENDAR
[VLAC DETAILS]
END:VCALENDAR
--b2_4c2e4ee4b47bcb7c7521ef7d785e2701--
--b1_4c2e4ee4b47bcb7c7521ef7d785e2701--
Related
Looks like there is hardly any activity on EWS here but maybe...
I am in the process of supporting Oauth in my EWS app but i'm stuck on getting events from a pullsubscription.
There's no issue for mailbox folders, only public folders.
The only change in the code is that the exchange service now has Oauthcredentials and impersonates an email address that has owner permissions on the public folder .
When using basic authentication the exchange service credentials are that of a "service account" email address and it does not use impersonation to get a pullsubscribtion on the public folder.
I'm not getting errors when setting the pullsubscription, and I can check that it has an ID, so it is there. However when I issue the getevents method (after adding some items to the folder) nothing fires.
this is the trace of the getevents (i made sure there were events in the folder)
26-8-2022 17:56:31 : EwsRequestHttpHeaders --- <Trace Tag="EwsRequestHttpHeaders" Tid="1" Time="2022-08-26 15:56:31Z">
POST /EWS/Exchange.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
Accept: text/xml
User-Agent:
ExchangeServicesClient/15.00.0913.015
Accept-Encoding: gzip,deflate
X-AnchorMailbox: publicfolderstore_bac380fe#domainname.onmicrosoft.com
X-PublicFolderMailbox: publicfolderstore_bac380fe#domainname.onmicrosoft.com
X-PreferServerAffinity: True
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6IkRPRTZVMFJHdnM0X3FHanBhbU9KTjM1VHVsdmNRWUtjNHlFVDk2YnhfQjgiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWMFRPSSIsImtpZCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWMFRPSSJ9.eyJhdWQiOiJodHRwczovL291dGxvb2sub2ZmaWNlMzY1LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0L2VkMDc0NDQxLWI4MjUtNDJjYy04ODU2LTE3YWUzYjBiMmY0Mi8iLCJpYXQiOjE2NjE1Mjg5NjcsIm5iZiI6MTY2MTUyODk2NywiZXhwIjoxNjYxNTMyODY3LCJhaW8iOiJFMlpnWUxpVHNzZktUS2x6bGtGdzNoS3Z5WmIyQUE9PSIsImFwcF9kaXNwbGF5bmFtZSI6IkV4Y2hhbmdlR3JvdXBDYWxlbmRhciIsImFwcGlkIjoiZmRlYTFhZmYtZmVhYS00ZDA0LWI3OTUtNTVkODczZjIyODNiIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvZWQwNzQ0NDEtYjgyNS00MmNjLTg4NTYtMTdhZTNiMGIyZjQyLyIsIm9pZCI6IjM4MDkxNzg0LWU5NzItNDk4ZS05ZTlkLTZmMGE2NzQ4MTMyZSIsInJoIjoiMC5BVThBUVVRSDdTVzR6RUtJVmhldU93c3ZRZ0lBQUFBQUFQRVB6Z0FBQUFBQUFBQlBBQUEuIiwicm9sZXMiOlsiZnVsbF9hY2Nlc3NfYXNfYXBwIl0sInNpZCI6IjYwN2UxMDI4LTUwOTAtNDRjMS04NDc1LTFiNDFmZjQ0NGI4OSIsInN1YiI6IjM4MDkxNzg0LWU5NzItNDk4ZS05ZTlkLTZmMGE2NzQ4MTMyZSIsInRpZCI6ImVkMDc0NDQxLWI4MjUtNDJjYy04ODU2LTE3YWUzYjBiMmY0MiIsInV0aSI6Ik5oY3hiMHIxeUVpbGlIR2hWRFU0QUEiLCJ2ZXIiOiIxLjAiLCJ3aWRzIjpbIjA5OTdhMWQwLTBkMWQtNGFjYi1iNDA4LWQ1Y2E3MzEyMWU5MCJdfQ.GeDfpt7ABAp5WpL9su265dV9UvilX6lxt5eCj7FWrBqGLhSNOL6fRfGGH-98nOKbqONmpEiXe0M61cOagKnrlNoyNgnvsC6bE1v6Nt_Uk44MPHfAs4MW1GDn9RtGbL9EEIDTZFg4qwrfRToOkyliFIcsfpXnXKmBiVSN0XFXtyHdvJpCjrb7Jj4o-qzGKKF1BREAVHrpIHBMz1r8u3UVihMQBEnI8X-a_qOF7MmgeyKBCLabZ5oFXOVsVPCI9re89W0q9jx04d0gnBLSAsjSHh94aG0P7ffpjupu3GSpZAm6Y9AkWv629EDO_C1wOshdI8--F9yyqhJ44Oh90Ha9xw
</Trace>
26-8-2022 17:56:31 : EwsRequest --- <Trace Tag="EwsRequest" Tid="1" Time="2022-08-26 15:56:31Z" Version="15.00.0913.015">
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2013" />
<t:ExchangeImpersonation>
<t:ConnectingSID>
<t:SmtpAddress>account#domainname.com</t:SmtpAddress>
</t:ConnectingSID>
</t:ExchangeImpersonation>
</soap:Header>
<soap:Body>
<m:GetEvents>
<m:SubscriptionId>JwBhczhwcjA3bWI3OTI1LmV1cnByZDA3LnByb2Qub3V0bG9vay5jb20QAAAAS114Ai9w+UayiTSZLtc6DY6SxEJ7h9oIEAAAAAAAAAAAAAAAAAAAAAAAAAA=</m:SubscriptionId>
<m:Watermark>AQAAABTg+YC4KZFNttW01ElEHaecAgsrAAAAAAA=</m:Watermark>
</m:GetEvents>
</soap:Body>
</soap:Envelope>
</Trace>
26-8-2022 17:56:31 : EwsResponseHttpHeaders --- <Trace Tag="EwsResponseHttpHeaders" Tid="1" Time="2022-08-26 15:56:31Z">
HTTP/1.1 200 OK
Transfer-Encoding: chunked
request-id: de8811fe-8069-c2ff-15a7-5ac62e39d3f5
Alt-Svc: h3=":443",h3-29=":443"
X-CalculatedFETarget: AM6PR01CU002.internal.outlook.com
X-BackEndHttpStatus: 200,200
X-CalculatedBETarget: AS8PR07MB7925.eurprd07.PROD.OUTLOOK.COM
X-RUM-Validated: 1
x-ms-appId: fdea1aff-feaa-4d04-b795-55d873f2283b
Restrict-Access-Confirm: 1
x-EwsHandler: GetEvents
X-BeSku: WCS6
X-DiagInfo: AS8PR07MB7925
X-BEServer: AS8PR07MB7925
X-Proxy-RoutingCorrectness: 1
X-Proxy-BackendServerStatus: 200
X-FEProxyInfo: AM0PR02CA0136.EURPRD02.PROD.OUTLOOK.COM
X-FEEFZInfo: AMS
X-FEServer: AM6PR01CA0042,AM0PR02CA0136
X-FirstHopCafeEFZ: AMS
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Date: Fri, 26 Aug 2022 15:56:28 GMT
Set-Cookie: exchangecookie=52d38d4eb5c14276b165655c6cd18691; path=/; secure
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
</Trace>
26-8-2022 17:56:31 : EwsResponse --- <Trace Tag="EwsResponse" Tid="1" Time="2022-08-26 15:56:31Z" Version="15.00.0913.015">
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="20" MajorBuildNumber="5588" MinorBuildNumber="3" Version="V2018_01_08" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body>
<m:GetEventsResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:GetEventsResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Notification>
<t:SubscriptionId>JwBhczhwcjA3bWI3OTI1LmV1cnByZDA3LnByb2Qub3V0bG9vay5jb20QAAAAS114Ai9w+UayiTSZLtc6DY6SxEJ7h9oIEAAAAAAAAAAAAAAAAAAAAAAAAAA=</t:SubscriptionId>
<t:PreviousWatermark>AQAAABTg+YC4KZFNttW01ElEHaecAgsrAAAAAAA=</t:PreviousWatermark>
<t:MoreEvents>false</t:MoreEvents>
<t:StatusEvent>
<t:Watermark>AQAAABTg+YC4KZFNttW01ElEHaf4BQsrAAAAAAE=</t:Watermark>
</t:StatusEvent>
</m:Notification>
</m:GetEventsResponseMessage>
</m:ResponseMessages>
</m:GetEventsResponse>
</s:Body>
</s:Envelope>
</Trace>
What could be the issue? Any suggestions are much appreciated!
Are there more the one Public Mailbox Folder doing the hosting, from what you describing it sounds like you create the subscription on the mailbox/cas that is hosting the hierarchy but the content is hosted on another public folder mailbox. A few thing to be aware of are
With Push and Pull notification they are hosted on a particular CAS server https://learn.microsoft.com/en-us/exchange/client-developer/web-service-reference/getevents-operation
The SubscriptionID of the request is confirmed to be a valid subscription that is hosted on the Client Access server. If it is not, the GetEvents call fails.
So the first thing that might be happening is that routing of the request if failing. One thing you might want to do is compare the headers
X-CalculatedFETarget: AM6PR01CU002.internal.outlook.com
X-BackEndHttpStatus: 200,200
X-CalculatedBETarget:
From when you using Basic and it working to when you using the oAuth
The SMTP address of the authenticated user for the request is compared to the SMTP address of the user who created the subscription. If they do not match, the GetEvents request fails.
This is the other reason I could see it failing when using the client credentials flow. Impersonation from a Service Principal vs a User Principal maybe happening different on the back-end (could be bug). Probably the way to confirm that is test it using a Delegate that has a Mailbox and EWS Impersonation rights and use ROPC (or ever auth code flow) and see if the same thing happens.
These later thing should give different errors however.
Thanks for your help Glen.
I have one public folder mailbox with one public folder in it. (It's on office365 ofcourse.)
I am including the full trace of subscription and response at the bottom.
The subscription ID is the same in both the subscription as the getevents.
I am not getting an error that the subscription was not found. So I would think that the problem is not routing?
The headers are these for resp subscribing and polling:
CalculatedFETarget: AM6P193CU004.internal.outlook.com
X-BackEndHttpStatus: 200,200
X-CalculatedBETarget: AS8PR07MB7925.eurprd07.PROD.OUTLOOK.COM
CalculatedFETarget: AS8PR04CU007.internal.outlook.com
X-BackEndHttpStatus: 200,200
X-CalculatedBETarget: AS8PR07MB7925.eurprd07.PROD.OUTLOOK.COM
The CalculatedFETarget is different. Is this the hiarchy? Do you think this could be an issue?
This "Probably the way to confirm that is test it using a Delegate that has a Mailbox and EWS Impersonation rights and use ROPC (or ever auth code flow) and see if the same thing happens." is over my head.
In the current code, the account that is impersonated by the oAuth authenticated ExchangeService has application impersonation permissions and is listed as owner of the public folder.
I would like to emphasize that everything works fine for mailbox folders. In that case the owner/email address of the mailbox is impersonated by the oAuth authenticated ExchangeService.
"Impersonation from a Service Principal vs a User Principal maybe happening different on the back-end (could be bug)."
It could indeed be a bug. Do you know how a single person like me can still get access to Microsoft for this. One used to be able to raise a (paid) incident but now you need a prem. support contract to reach them.
========== subscription ==========
1-9-2022 12:57:13 : EwsRequestHttpHeaders --- <Trace Tag="EwsRequestHttpHeaders" Tid="1" Time="2022-09-01 10:57:13Z">
POST /EWS/Exchange.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
Accept: text/xml
User-Agent: ExchangeServicesClient/15.00.0913.015
Accept-Encoding: gzip,deflate
X-AnchorMailbox: publicfolderstore_bac380fe#MyDomain.onmicrosoft.com
X-PublicFolderMailbox: publicfolderstore_bac380fe#MyDomain.onmicrosoft.com
X-PreferServerAffinity: true
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6InA5eWx3dnE4RW9zQzJMdjNCeklmYzZxTlh1bjVmQzl3QXAyWENGbG1QOVkiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWMFRPSSIsImtpZCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWMFRPSSJ9.eyJhdWQiOiJodHRwczovL291dGxvb2sub2ZmaWNlMzY1LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0L2VkMDc0NDQxLWI4MjUtNDJjYy04ODU2LTE3YWUzYjBiMmY0Mi8iLCJpYXQiOjE2NjIwMjk1MjgsIm5iZiI6MTY2MjAyOTUyOCwiZXhwIjoxNjYyMDMzNDI4LCJhaW8iOiJFMlpnWUhob1p6K3ZvcFh0VnZWZklhK1ZvVEtWQUE9PSIsImFwcF9kaXNwbGF5bmFtZSI6IkV4Y2hhbmdlR3JvdXBDYWxlbmRhciIsImFwcGlkIjoiZmRlYTFhZmYtZmVhYS00ZDA0LWI3OTUtNTVkODczZjIyODNiIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvZWQwNzQ0NDEtYjgyNS00MmNjLTg4NTYtMTdhZTNiMGIyZjQyLyIsIm9pZCI6IjM4MDkxNzg0LWU5NzItNDk4ZS05ZTlkLTZmMGE2NzQ4MTMyZSIsInJoIjoiMC5BVThBUVVRSDdTVzR6RUtJVmhldU93c3ZRZ0lBQUFBQUFQRVB6Z0FBQUFBQUFBQlBBQUEuIiwicm9sZXMiOlsiZnVsbF9hY2Nlc3NfYXNfYXBwIl0sInNpZCI6IjE1MzQ5NThhLThmYjYtNDg4Ny05ZWU0LWFkZDM2ZGQ4ZDVlYyIsInN1YiI6IjM4MDkxNzg0LWU5NzItNDk4ZS05ZTlkLTZmMGE2NzQ4MTMyZSIsInRpZCI6ImVkMDc0NDQxLWI4MjUtNDJjYy04ODU2LTE3YWUzYjBiMmY0MiIsInV0aSI6InZtR2ZDS0ZSWTBPS2R2OTVaU0Z1QUEiLCJ2ZXIiOiIxLjAiLCJ3aWRzIjpbIjA5OTdhMWQwLTBkMWQtNGFjYi1iNDA4LWQ1Y2E3MzEyMWU5MCJdfQ.IlPfIOgl6H7Kenn999w6GPrHjPKyT_T_JLxSQc2w1Pjs8W_W4_brehe_wVX8YdqQPLEOo4fYX9l3gHHZeXtuOkgir1hM9w6TomM_FP6vBTeuGjVe7xLL0fSPvAd63pwvQicCj7SbX-RQBpvKeAapf5zA70UOYfo_NKic_ErJSWoYkSvDDX67LipjQrZ68X8XQQe3z_U7PfbwKABY91twQftzI4WXbQoRcEv8AgCQ9dxhFTIJgdzeV6slf-vnPHQ2Ic2bSnHpIJRGW-TV3o7zb6eRkTib1xs6SDBd3PIWAZoEz-uQbJ1MXwUEETfcDLNGkGYk25WqgI0tIGbqQoG_oQ
</Trace>
1-9-2022 12:57:13 : EwsRequest --- <Trace Tag="EwsRequest" Tid="1" Time="2022-09-01 10:57:13Z" Version="15.00.0913.015">
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2013" />
<t:ExchangeImpersonation>
<t:ConnectingSID>
<t:SmtpAddress>UserAccount#Domain.com</t:SmtpAddress>
</t:ConnectingSID>
</t:ExchangeImpersonation>
</soap:Header>
<soap:Body>
<m:Subscribe>
<m:PullSubscriptionRequest>
<t:FolderIds>
<t:FolderId Id="AQEuAAADTfhLNwPj+06PL1ijINAF1AEACMU9HL7QIUqU8ZZs9tXeAQAAAxYAAAA=" />
</t:FolderIds>
<t:EventTypes>
<t:EventType>CreatedEvent</t:EventType>
<t:EventType>CopiedEvent</t:EventType>
<t:EventType>DeletedEvent</t:EventType>
<t:EventType>ModifiedEvent</t:EventType>
<t:EventType>MovedEvent</t:EventType>
</t:EventTypes>
<t:Timeout>90</t:Timeout>
</m:PullSubscriptionRequest>
</m:Subscribe>
</soap:Body>
</soap:Envelope>
</Trace>
1-9-2022 12:57:13 : EwsResponseHttpHeaders --- <Trace Tag="EwsResponseHttpHeaders" Tid="1" Time="2022-09-01 10:57:13Z">
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Encoding: gzip
Vary: Accept-Encoding
request-id: 020ba111-367c-5403-10d0-edb4d8408dc5
X-CalculatedFETarget: AM6P193CU004.internal.outlook.com
X-BackEndHttpStatus: 200,200
X-CalculatedBETarget: AS8PR07MB7925.eurprd07.PROD.OUTLOOK.COM
X-RUM-Validated: 1
x-ms-appId: fdea1aff-feaa-4d04-b795-55d873f2283b
Restrict-Access-Confirm: 1
x-EwsHandler: Subscribe
X-BeSku: WCS6
X-DiagInfo: AS8PR07MB7925
X-BEServer: AS8PR07MB7925
X-Proxy-RoutingCorrectness: 1
X-Proxy-BackendServerStatus: 200
X-FEProxyInfo: AM3PR05CA0132.EURPRD05.PROD.OUTLOOK.COM
X-FEEFZInfo: AMS
X-FEServer: AM6P193CA0116,AM3PR05CA0132
X-FirstHopCafeEFZ: AMS
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Date: Thu, 01 Sep 2022 10:57:10 GMT
Set-Cookie: exchangecookie=fae0cd80fcd944e9b2e3ac0e021b8dc8; path=/; secure
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
</Trace>
1-9-2022 12:57:13 : EwsResponse --- <Trace Tag="EwsResponse" Tid="1" Time="2022-09-01 10:57:13Z" Version="15.00.0913.015">
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="20" MajorBuildNumber="5612" MinorBuildNumber="5" Version="V2018_01_08" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body>
<m:SubscribeResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:SubscribeResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:SubscriptionId>JwBhczhwcjA3bWI3OTI1LmV1cnByZDA3LnByb2Qub3V0bG9vay5jb20QAAAAcX9pz2c1LEavlEM3OLE6OTYrWLgIjNoIEAAAAAAAAAAAAAAAAAAAAAAAAAA=</m:SubscriptionId>
<m:Watermark>AQAAABTg+YC4KZFNttW01ElEHadDSGwrAAAAAAA=</m:Watermark>
</m:SubscribeResponseMessage>
</m:ResponseMessages>
</m:SubscribeResponse>
</s:Body>
</s:Envelope>
</Trace>
============= get events ==============
1-9-2022 13:00:23 : EwsRequestHttpHeaders --- <Trace Tag="EwsRequestHttpHeaders" Tid="1" Time="2022-09-01 11:00:23Z">
POST /EWS/Exchange.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
Accept: text/xml
User-Agent: ExchangeServicesClient/15.00.0913.015
Accept-Encoding: gzip,deflate
X-AnchorMailbox: publicfolderstore_bac380fe#MyDomain.onmicrosoft.com
X-PublicFolderMailbox: publicfolderstore_bac380fe#MyDomain.onmicrosoft.com
X-PreferServerAffinity: True
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6InA5eWx3dnE4RW9zQzJMdjNCeklmYzZxTlh1bjVmQzl3QXAyWENGbG1QOVkiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWMFRPSSIsImtpZCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWMFRPSSJ9.eyJhdWQiOiJodHRwczovL291dGxvb2sub2ZmaWNlMzY1LmNvbSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0L2VkMDc0NDQxLWI4MjUtNDJjYy04ODU2LTE3YWUzYjBiMmY0Mi8iLCJpYXQiOjE2NjIwMjk1MjgsIm5iZiI6MTY2MjAyOTUyOCwiZXhwIjoxNjYyMDMzNDI4LCJhaW8iOiJFMlpnWUhob1p6K3ZvcFh0VnZWZklhK1ZvVEtWQUE9PSIsImFwcF9kaXNwbGF5bmFtZSI6IkV4Y2hhbmdlR3JvdXBDYWxlbmRhciIsImFwcGlkIjoiZmRlYTFhZmYtZmVhYS00ZDA0LWI3OTUtNTVkODczZjIyODNiIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvZWQwNzQ0NDEtYjgyNS00MmNjLTg4NTYtMTdhZTNiMGIyZjQyLyIsIm9pZCI6IjM4MDkxNzg0LWU5NzItNDk4ZS05ZTlkLTZmMGE2NzQ4MTMyZSIsInJoIjoiMC5BVThBUVVRSDdTVzR6RUtJVmhldU93c3ZRZ0lBQUFBQUFQRVB6Z0FBQUFBQUFBQlBBQUEuIiwicm9sZXMiOlsiZnVsbF9hY2Nlc3NfYXNfYXBwIl0sInNpZCI6IjE1MzQ5NThhLThmYjYtNDg4Ny05ZWU0LWFkZDM2ZGQ4ZDVlYyIsInN1YiI6IjM4MDkxNzg0LWU5NzItNDk4ZS05ZTlkLTZmMGE2NzQ4MTMyZSIsInRpZCI6ImVkMDc0NDQxLWI4MjUtNDJjYy04ODU2LTE3YWUzYjBiMmY0MiIsInV0aSI6InZtR2ZDS0ZSWTBPS2R2OTVaU0Z1QUEiLCJ2ZXIiOiIxLjAiLCJ3aWRzIjpbIjA5OTdhMWQwLTBkMWQtNGFjYi1iNDA4LWQ1Y2E3MzEyMWU5MCJdfQ.IlPfIOgl6H7Kenn999w6GPrHjPKyT_T_JLxSQc2w1Pjs8W_W4_brehe_wVX8YdqQPLEOo4fYX9l3gHHZeXtuOkgir1hM9w6TomM_FP6vBTeuGjVe7xLL0fSPvAd63pwvQicCj7SbX-RQBpvKeAapf5zA70UOYfo_NKic_ErJSWoYkSvDDX67LipjQrZ68X8XQQe3z_U7PfbwKABY91twQftzI4WXbQoRcEv8AgCQ9dxhFTIJgdzeV6slf-vnPHQ2Ic2bSnHpIJRGW-TV3o7zb6eRkTib1xs6SDBd3PIWAZoEz-uQbJ1MXwUEETfcDLNGkGYk25WqgI0tIGbqQoG_oQ
</Trace>
1-9-2022 13:00:23 : EwsRequest --- <Trace Tag="EwsRequest" Tid="1" Time="2022-09-01 11:00:23Z" Version="15.00.0913.015">
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2013" />
<t:ExchangeImpersonation>
<t:ConnectingSID>
<t:SmtpAddress>UserAccount#Domain.com</t:SmtpAddress>
</t:ConnectingSID>
</t:ExchangeImpersonation>
</soap:Header>
<soap:Body>
<m:GetEvents>
<m:SubscriptionId>JwBhczhwcjA3bWI3OTI1LmV1cnByZDA3LnByb2Qub3V0bG9vay5jb20QAAAAcX9pz2c1LEavlEM3OLE6OTYrWLgIjNoIEAAAAAAAAAAAAAAAAAAAAAAAAAA=</m:SubscriptionId>
<m:Watermark>AQAAABTg+YC4KZFNttW01ElEHadDSGwrAAAAAAA=</m:Watermark>
</m:GetEvents>
</soap:Body>
</soap:Envelope>
</Trace>
1-9-2022 13:00:23 : EwsResponseHttpHeaders --- <Trace Tag="EwsResponseHttpHeaders" Tid="1" Time="2022-09-01 11:00:23Z">
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Encoding: gzip
Vary: Accept-Encoding
request-id: 614cb84b-af3f-c278-0910-971429e39c7b
X-CalculatedFETarget: AS8PR04CU007.internal.outlook.com
X-BackEndHttpStatus: 200,200
X-CalculatedBETarget: AS8PR07MB7925.eurprd07.PROD.OUTLOOK.COM
X-RUM-Validated: 1
x-ms-appId: fdea1aff-feaa-4d04-b795-55d873f2283b
Restrict-Access-Confirm: 1
x-EwsHandler: GetEvents
X-BeSku: WCS6
X-DiagInfo: AS8PR07MB7925
X-BEServer: AS8PR07MB7925
X-Proxy-RoutingCorrectness: 1
X-Proxy-BackendServerStatus: 200
X-FEProxyInfo: AM4P190CA0002.EURP190.PROD.OUTLOOK.COM
X-FEEFZInfo: AMS
X-FEServer: AS8PR04CA0209,AM4P190CA0002
X-FirstHopCafeEFZ: AMS
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Date: Thu, 01 Sep 2022 11:00:20 GMT
Set-Cookie: exchangecookie=fae0cd80fcd944e9b2e3ac0e021b8dc8; path=/; secure
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
</Trace>
1-9-2022 13:00:23 : EwsResponse --- <Trace Tag="EwsResponse" Tid="1" Time="2022-09-01 11:00:23Z" Version="15.00.0913.015">
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="20" MajorBuildNumber="5612" MinorBuildNumber="5" Version="V2018_01_08" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body>
<m:GetEventsResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:GetEventsResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Notification>
<t:SubscriptionId>JwBhczhwcjA3bWI3OTI1LmV1cnByZDA3LnByb2Qub3V0bG9vay5jb20QAAAAcX9pz2c1LEavlEM3OLE6OTYrWLgIjNoIEAAAAAAAAAAAAAAAAAAAAAAAAAA=</t:SubscriptionId>
<t:PreviousWatermark>AQAAABTg+YC4KZFNttW01ElEHadDSGwrAAAAAAA=</t:PreviousWatermark>
<t:MoreEvents>false</t:MoreEvents>
<t:StatusEvent>
<t:Watermark>AQAAABTg+YC4KZFNttW01ElEHafKVmwrAAAAAAE=</t:Watermark>
</t:StatusEvent>
</m:Notification>
</m:GetEventsResponseMessage>
</m:ResponseMessages>
</m:GetEventsResponse>
</s:Body>
</s:Envelope>
</Trace>
I am attempting to fetch data from Taleo Enterprise SOAP API
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:itk="http://www.taleo.com/ws/integration/toolkit/2011/05/management"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body>
<itk:getLargeDocumentByKey><messageKey>124110901</messageKey>
</itk:getLargeDocumentByKey></soap:Body></soap:Envelope>
and I get an error the number of entities returned by this export request (787026) has exceeded the maximum allowed (100000).
------=_Part_99112_1948897443.1507649297078
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: 8bit
Content-ID: <soap.xml#xfire.codehaus.org>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<ns1:getLargeDocumentByKeyResponse xmlns:ns1="http://www.taleo.com/ws/integration/toolkit/2011/05/management">
<ns1:Document xmlns:ns2="http://www.w3.org/2004/11/xmlmime" ns2:contentType="text/xml; charset=UTF-8">
<Include xmlns="http://www.w3.org/2004/08/xop/include" href="cid:1507649297078209382008132646#http://www.w3.org/2001/XMLSchema"/>
</ns1:Document></ns1:getLargeDocumentByKeyResponse></soap:Body>
</soap:Envelope>
------=_Part_99112_1948897443.1507649297078
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: binary
Content-ID: <1507649297078209382008132646#http://www.w3.org/2001/XMLSchema>
<Document xmlns="http://www.taleo.com/ws/integration/toolkit/2011/05">
<Attributes><Attribute name="count">0</Attribute>
<Attribute name="duration">0:00:00.790</Attribute>
<Attribute name="mode">T-XML</Attribute>
<Attribute name="version">http://www.taleo.com/ws/tee800/2009/01</Attribute></Attributes>
<Content><ExportErrors><Error>
<Code>ServerError</Code><Subcode>itk:ExportTooManyRecords</Subcode>
<Reason>The number of entities returned by this export request (787026) has exceeded the maximum allowed (100000).</Reason></Error></ExportErrors>
</Content></Document>
------=_Part_99112_1948897443.1507649297078--
Is there any way to split or limit of the export. Any help is much appreciated.
Thank you.
I want to build a ws proxy so I use an http:inbound-gateway. It worked fine but I'm having some trouble with the encoding. All responses have Content-Type: text/plain; charset=iso-8859-1 instead of Content-Type: text/xml; charset=utf-8, so when the response has special characters, they are not sent correctly
please, could you tell me how to config this?
here's my flow:
<int-http:inbound-gateway request-channel="channel"
path="/services/router" supported-methods="POST"
reply-channel="channel" >
<int-http:request-mapping consumes="text/xml"
produces="text/xml" />
</int-http:inbound-gateway>
<int:channel id="channel">
<int:interceptors>
<int:wire-tap channel="logger" />
</int:interceptors>
</int:channel>
<int:logging-channel-adapter log-full-message="true" id="logger"/>
thanks in advance
regards
Guzman
Is that what you're receiving from the proxied server?
You can always change the outgoing content type by adding a header enricher to the reply flow...
<int:header-enricher>
<int:header name="Content-Type" value="text/xml;charset=utf-8" override="true"/>
</int:header-enricher>
I am creating a recurring appointment via EWS managed API.
Creating Weekly appointments works.
Creating Monthly Appointments doesn't work.
When EWS posts my monthly appointment to the server, Exchange does not return any error, yet the appointment is not there.
All I can see, it should be there - but it isn't!
Does anyone here know why?
Here is the trace of the recurrence posted to the server:
<t:Recurrence>
<t:RelativeMonthlyRecurrence>
<t:Interval>1</t:Interval>
<t:DaysOfWeek>Saturday</t:DaysOfWeek>
<t:DayOfWeekIndex>Last</t:DayOfWeekIndex>
</t:RelativeMonthlyRecurrence>
<t:NumberedRecurrence> <br /> <t:StartDate>2014-04-26</t:StartDate>
<t:NumberOfOccurrences>10</t:NumberOfOccurrences>;
</t:NumberedRecurrence>
</t:Recurrence>
and here is the trace of the response header
<Trace Tag="EwsResponseHttpHeaders" Tid="18" Time="2014-04-25 14:00:56Z">
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Encoding: gzip
Vary: Accept-Encoding
X-EwsPerformanceData: RpcC=13;RpcL=919;LdapC=0;LdapL=0;
Persistent-Auth: true
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Date: Fri, 25 Apr 2014 14:00:56 GMT
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
</Trace>
and the response body.
<Trace Tag="EwsResponse" Tid="18" Time="2014-04-25 14:00:56Z" Version="15.00.0516.014"> <br /> <?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="14" MinorVersion="0" MajorBuildNumber="722" MinorBuildNumber="0" Version="Exchange2010" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<m:CreateItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:CreateItemResponseMessage ResponseClass="Success"> r /> <m:ResponseCode>NoError</m:ResponseCode>
<m:Items>
<t:CalendarItem>
<t:ItemId Id="AAMkADZmMGNlYzkwLWE0NGUtNGQxMC04MTc4LTE3MWM3MzExM2UzMQBGAAAAAAAVFLM1uwjxTpI7ZWapZLFDBwAG/DdYA3s2SJJPro446HsmAAAAAAAgAAAG/DdYA3s2SJJPro446HsmAAAOswdMAAA=" ChangeKey="DwAAABYAAAAG/DdYA3s2SJJPro446HsmAAAOsyvo" />
</t:CalendarItem>
</m:Items>
</m:CreateItemResponseMessage>
</m:ResponseMessages> r /> </m:CreateItemResponse>
</s:Body>
</s:Envelope>
</Trace>
Given that your XML is invalid, no surprise:
<t:DaysOfWeek>Saturday</t:DaysOfWeek>
^^^^---- should be just <
<t:DayOfWeekIndex>Last</t:DayOfWeekIndex>
^^^^----ditto
<t:NumberedRecurrence> <br /> <t:StartDate>2014-04-26</t:StartDate>
^^^^^^---huh? ^^^^----ditto
I am trying to use the f:ajax tag to fire my validators on an inputText box but I am not having any luck. It just doesn't seem to fire the validators. But the validators do fire on form submit.
This is what I am using.
<td>
<h:inputText id="email" value="#{contactInfo.email}">
<f:validator validatorId="com.tcs.trn.validator.EmailValidator"></f:validator>
<f:validator validatorId="com.tcs.trn.validator.TcsEmailValidator"></f:validator>
<f:ajax execute="#this" event="blur" render="emailMessage"></f:ajax>
</h:inputText>
</td>
<td>
<h:message for="email" warnClass="warningMessage" errorClass="errorMessage" id="emailMessage"></h:message>
</td>
Request Header
Request URL:http://localhost:9080/JSF2Template/javax.faces.resource/jsf.js.xhtml?ln=javax.faces&stage=Development
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Cookie:oam.Flash.RENDERMAP.TOKEN=y4ftx6y5q; JSESSIONID=0000N5Uz-oCoU910GNVdCP3M8jc:-1
Host:localhost:9080
Referer:http://localhost:9080/JSF2Template/login/userDetails.xhtml
User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11
Query String Parametersview URL encoded
ln:javax.faces
stage:Development
Response Headersview source
Content-Language:en-US
Content-Type:application/x-javascript
Date:Thu, 14 Mar 2013 19:32:10 GMT
Expires:Thu, 14 Mar 2013 19:32:10 GMT
Last-Modified:Thu, 14 Mar 2013 18:33:59 GMT
Server:WebSphere Application Server/7.0
Transfer-Encoding:chunked
This was resolved by adding this to the head. The script link was showing up by default but this actually allowed it to work for some reason.
<h:outputScript name="jsf.js" library="javax.faces" />