Spring Tool Suite #Value completion not work - spring-tools-4

According to the Smart code editing feature in https://spring.io/tools, #Value("${serv}") should trigger the properties completion popup.
But when I use a fresh STS (spring-tool-suite-4-4.12.1.RELEASE-e4.21.0-linux.gtk.x86_64), live hover works but no #Value completion popup when I type serv within the #Value("${}").
The Spring Boot demo project is here
[t=1637037571574] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 319
[t=1637037571575] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":50,"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java"},"contentChanges":[{"range":{"start":{"line":14,"character":14},"end":{"line":14,"character":14}},"rangeLength":0,"text":"s"}]}}
[t=1637037571575] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","method":"sts/highlight","params":{"doc":{"version":50,"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java"},"codeLenses":[]}}
[t=1637037571584] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java","diagnostics":[]}}
[t=1637037572415] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 189
[t=1637037572415] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"35","method":"textDocument/codeLens","params":{"textDocument":{"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java"}}}
[t=1637037572416] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"35","result":[]}
[t=1637037594024] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 319
[t=1637037594024] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":51,"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java"},"contentChanges":[{"range":{"start":{"line":14,"character":15},"end":{"line":14,"character":15}},"rangeLength":0,"text":"e"}]}}
[t=1637037594025] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","method":"sts/highlight","params":{"doc":{"version":51,"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java"},"codeLenses":[]}}
[t=1637037594033] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java","diagnostics":[]}}
[t=1637037594931] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 189
[t=1637037594931] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"36","method":"textDocument/codeLens","params":{"textDocument":{"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java"}}}
[t=1637037594932] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"36","result":[]}
[t=1637037596128] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 319
[t=1637037596128] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"version":52,"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java"},"contentChanges":[{"range":{"start":{"line":14,"character":16},"end":{"line":14,"character":16}},"rangeLength":0,"text":"r"}]}}
[t=1637037596129] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","method":"sts/highlight","params":{"doc":{"version":52,"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java"},"codeLenses":[]}}
[t=1637037596137] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java","diagnostics":[]}}
[t=1637037596949] LSP4E to org.eclipse.languageserver.languages.springboot:
Content-Length: 189
[t=1637037596949] LSP4E to org.eclipse.languageserver.languages.springboot:
{"jsonrpc":"2.0","id":"37","method":"textDocument/codeLens","params":{"textDocument":{"uri":"file:///home/k/projects/spring-boot-demo/src/main/java/com/example/demo/HelloController.java"}}}
[t=1637037596950] org.eclipse.languageserver.languages.springboot to LSP4E:
{"jsonrpc":"2.0","id":"37","result":[]}

Related

pullsubscription no longer working with oAuth

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>

Deployment to Heroku success but when I open the URL, I get a blank page with the word "Error" on it?

I am deploying my Heroku web app, but am running into an issue. It deploys successfully on Heroku, but then when I try to open the web app/URL, I simply get a blank page with the word "Error" on it.
Here are the logs from Heroku, any ideas what could get going wrong?:
› Warning: heroku update available from 7.59.0 to 7.59.2.
2021-11-24T10:49:32.042026+00:00 app[web.1]: 10.1.20.123 - - [24/Nov/2021:10:49:32 +0000] "GET /twitter HTTP/1.1" 302 250 "-" "Mozilla/5.0 (compatible; DashLinkPreviews/5.1;)"
2021-11-24T10:49:32.042318+00:00 heroku[router]: at=info method=GET path="/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=e5293635-8393-4174-ab0a-e3bc9b002098 fwd="52.89.103.56" dyno=web.1 connect=0ms service=2ms status=302 bytes=488 protocol=https
2021-11-24T10:49:32.066448+00:00 app[web.1]: 10.1.23.180 - - [24/Nov/2021:10:49:32 +0000] "HEAD /twitter_login/twitter HTTP/1.1" 302 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18"
2021-11-24T10:49:32.066666+00:00 heroku[router]: at=info method=HEAD path="/twitter_login/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=14607c62-9237-4da5-9f10-fbeab9579597 fwd="52.89.103.56" dyno=web.1 connect=0ms service=144ms status=302 bytes=248 protocol=https
2021-11-24T10:49:32.482378+00:00 app[web.1]: 10.1.36.190 - - [24/Nov/2021:10:49:32 +0000] "GET /twitter_login/twitter HTTP/1.1" 302 364 "-" "Mozilla/5.0 (compatible; DashLinkPreviews/5.1;)"
2021-11-24T10:49:32.482595+00:00 heroku[router]: at=info method=GET path="/twitter_login/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=e88d2332-b22f-4d65-87c3-6ab092eda352 fwd="52.89.103.56" dyno=web.1 connect=0ms service=166ms status=302 bytes=612 protocol=https
2021-11-24T10:49:32.916388+00:00 app[web.1]: 10.1.13.177 - - [24/Nov/2021:10:49:32 +0000] "GET /twitter HTTP/1.1" 302 250 "-" "Mozilla/5.0 (compatible; DashLinkPreviews/5.1;)"
2021-11-24T10:49:32.916515+00:00 heroku[router]: at=info method=GET path="/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=20042fec-c958-4bbe-89d2-00f65ba028bf fwd="52.89.103.56" dyno=web.1 connect=0ms service=2ms status=302 bytes=488 protocol=https
2021-11-24T10:49:33.377172+00:00 heroku[router]: at=info method=GET path="/twitter_login/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=6f108754-d1c1-4462-b881-e7b36c8fdbe0 fwd="52.89.103.56" dyno=web.1 connect=0ms service=158ms status=302 bytes=612 protocol=https
2021-11-24T10:49:33.377192+00:00 app[web.1]: 10.1.82.149 - - [24/Nov/2021:10:49:33 +0000] "GET /twitter_login/twitter HTTP/1.1" 302 364 "-" "Mozilla/5.0 (compatible; DashLinkPreviews/5.1;)"
2021-11-24T10:51:54.000000+00:00 app[api]: Build started by user patrick_chong#hotmail.co.uk
2021-11-24T10:52:15.595446+00:00 app[api]: Deploy 2982047e by user patrick_chong#hotmail.co.uk
2021-11-24T10:52:15.595446+00:00 app[api]: Release v7 created by user patrick_chong#hotmail.co.uk
2021-11-24T10:52:16.184288+00:00 heroku[web.1]: Restarting
2021-11-24T10:52:16.558277+00:00 heroku[web.1]: State changed from up to starting
2021-11-24T10:52:17.303889+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2021-11-24T10:52:17.427599+00:00 app[web.1]: [2021-11-24 10:52:17 +0000] [10] [INFO] Worker exiting (pid: 10)
2021-11-24T10:52:17.427614+00:00 app[web.1]: [2021-11-24 10:52:17 +0000] [9] [INFO] Worker exiting (pid: 9)
2021-11-24T10:52:17.427615+00:00 app[web.1]: [2021-11-24 10:52:17 +0000] [4] [INFO] Handling signal: term
2021-11-24T10:52:17.430015+00:00 app[web.1]: [2021-11-24 10:52:17 +0000] [4] [WARNING] Worker with pid 10 was terminated due to signal 15
2021-11-24T10:52:17.527907+00:00 app[web.1]: [2021-11-24 10:52:17 +0000] [4] [INFO] Shutting down: Master
2021-11-24T10:52:17.662882+00:00 heroku[web.1]: Process exited with status 0
2021-11-24T10:52:20.111502+00:00 heroku[web.1]: Starting process with command `gunicorn app:app`
2021-11-24T10:52:21.319042+00:00 app[web.1]: [2021-11-24 10:52:21 +0000] [4] [INFO] Starting gunicorn 20.1.0
2021-11-24T10:52:21.319607+00:00 app[web.1]: [2021-11-24 10:52:21 +0000] [4] [INFO] Listening at: http://0.0.0.0:28290 (4)
2021-11-24T10:52:21.319669+00:00 app[web.1]: [2021-11-24 10:52:21 +0000] [4] [INFO] Using worker: sync
2021-11-24T10:52:21.322754+00:00 app[web.1]: [2021-11-24 10:52:21 +0000] [9] [INFO] Booting worker with pid: 9
2021-11-24T10:52:21.399802+00:00 app[web.1]: [2021-11-24 10:52:21 +0000] [10] [INFO] Booting worker with pid: 10
2021-11-24T10:52:21.743544+00:00 heroku[web.1]: State changed from starting to up
2021-11-24T10:52:24.000000+00:00 app[api]: Build succeeded
2021-11-24T10:52:32.574053+00:00 app[web.1]: 10.1.43.202 - - [24/Nov/2021:10:52:32 +0000] "GET / HTTP/1.1" 302 222 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15"
2021-11-24T10:52:32.574861+00:00 heroku[router]: at=info method=GET path="/" host=twitter-web-scrapper95823.herokuapp.com request_id=9a1a55fb-86e3-4e35-96e8-5f8090d237fe fwd="185.69.144.36" dyno=web.1 connect=0ms service=2ms status=302 bytes=446 protocol=https
2021-11-24T10:52:32.802757+00:00 app[web.1]: <Response [401]>
2021-11-24T10:52:32.804261+00:00 heroku[router]: at=info method=GET path="/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=3cee9316-b084-42ef-8636-c5b050264bc3 fwd="185.69.144.36" dyno=web.1 connect=0ms service=92ms status=200 bytes=181 protocol=https
2021-11-24T10:52:32.805749+00:00 app[web.1]: 10.1.31.245 - - [24/Nov/2021:10:52:32 +0000] "GET /twitter HTTP/1.1" 200 14 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15"
2021-11-24T10:54:35.365273+00:00 app[web.1]: 10.1.82.236 - - [24/Nov/2021:10:54:35 +0000] "GET /twitter HTTP/1.1" 302 250 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:54:35.367226+00:00 heroku[router]: at=info method=GET path="/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=3b1f34ec-c249-4346-9670-729ba1656693 fwd="103.132.244.181" dyno=web.1 connect=0ms service=3ms status=302 bytes=488 protocol=https
2021-11-24T10:54:35.821123+00:00 app[web.1]: 10.1.82.236 - - [24/Nov/2021:10:54:35 +0000] "GET /twitter_login/twitter HTTP/1.1" 302 364 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:54:35.822983+00:00 heroku[router]: at=info method=GET path="/twitter_login/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=b4d69734-2354-4b5d-84bd-cd806aa26953 fwd="103.132.244.181" dyno=web.1 connect=0ms service=213ms status=302 bytes=612 protocol=https
2021-11-24T10:54:38.917827+00:00 app[web.1]: 10.1.82.236 - - [24/Nov/2021:10:54:38 +0000] "GET /twitter_login/twitter/authorized?oauth_token=Jv_wVgAAAAABRQePAAABfVGVQMs&oauth_verifier=2YDe0VP1LE1XcO5EIDnGmbSVOd6iY7D5 HTTP/1.1" 302 208 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:54:38.919403+00:00 heroku[router]: at=info method=GET path="/twitter_login/twitter/authorized?oauth_token=Jv_wVgAAAAABRQePAAABfVGVQMs&oauth_verifier=2YDe0VP1LE1XcO5EIDnGmbSVOd6iY7D5" host=twitter-web-scrapper95823.herokuapp.com request_id=53b9b036-4c30-40d9-9f68-3866e1cb1bdc fwd="103.132.244.181" dyno=web.1 connect=0ms service=554ms status=302 bytes=754 protocol=https
2021-11-24T10:54:39.139120+00:00 app[web.1]: 10.1.82.236 - - [24/Nov/2021:10:54:39 +0000] "GET / HTTP/1.1" 302 222 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:54:39.141093+00:00 heroku[router]: at=info method=GET path="/" host=twitter-web-scrapper95823.herokuapp.com request_id=547ed339-97a3-4a7c-b705-ca6d2a7d4521 fwd="103.132.244.181" dyno=web.1 connect=0ms service=2ms status=302 bytes=446 protocol=https
2021-11-24T10:54:39.504505+00:00 app[web.1]: <Response [200]>
2021-11-24T10:54:39.626922+00:00 app[web.1]: 10.1.82.236 - - [24/Nov/2021:10:54:39 +0000] "GET /twitter HTTP/1.1" 200 28494 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:54:39.628757+00:00 heroku[router]: at=info method=GET path="/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=8c62f1a4-daa9-4a23-b3d6-794c6cedb093 fwd="103.132.244.181" dyno=web.1 connect=0ms service=268ms status=200 bytes=28664 protocol=https
2021-11-24T10:54:40.190311+00:00 app[web.1]: 10.1.82.236 - - [24/Nov/2021:10:54:40 +0000] "GET /assets/fonts/fontawesome5-overrides.min.css HTTP/1.1" 404 232 "https://twitter-web-scrapper95823.herokuapp.com/twitter" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:54:40.192314+00:00 heroku[router]: at=info method=GET path="/assets/fonts/fontawesome5-overrides.min.css" host=twitter-web-scrapper95823.herokuapp.com request_id=2cbb0178-b50a-4bf2-aced-03f88cd77c36 fwd="103.132.244.181" dyno=web.1 connect=0ms service=2ms status=404 bytes=393 protocol=https
2021-11-24T10:54:40.802549+00:00 app[web.1]: 10.1.82.236 - - [24/Nov/2021:10:54:40 +0000] "GET /favicon.ico HTTP/1.1" 404 232 "https://twitter-web-scrapper95823.herokuapp.com/twitter" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:54:40.804396+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=twitter-web-scrapper95823.herokuapp.com request_id=490ef232-d3fc-4b79-99e4-9e2f4b6c6b4e fwd="103.132.244.181" dyno=web.1 connect=0ms service=5ms status=404 bytes=393 protocol=https
2021-11-24T10:55:03.133764+00:00 app[web.1]: <Response [200]>
2021-11-24T10:55:03.312950+00:00 app[web.1]: 10.1.82.236 - - [24/Nov/2021:10:55:03 +0000] "GET /twitter HTTP/1.1" 200 28558 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:55:03.314591+00:00 heroku[router]: at=info method=GET path="/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=dae53511-b343-45b9-90e2-ceee62e264cf fwd="103.132.244.181" dyno=web.1 connect=0ms service=363ms status=200 bytes=28728 protocol=https
2021-11-24T10:55:03.833838+00:00 app[web.1]: 10.1.82.236 - - [24/Nov/2021:10:55:03 +0000] "GET /assets/fonts/fontawesome5-overrides.min.css HTTP/1.1" 404 232 "https://twitter-web-scrapper95823.herokuapp.com/twitter" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:55:03.835911+00:00 heroku[router]: at=info method=GET path="/assets/fonts/fontawesome5-overrides.min.css" host=twitter-web-scrapper95823.herokuapp.com request_id=9a03f7b4-ede8-40e8-89ce-67faa4eb4135 fwd="103.132.244.181" dyno=web.1 connect=0ms service=5ms status=404 bytes=393 protocol=https
2021-11-24T10:55:04.070467+00:00 app[web.1]: 10.1.82.236 - - [24/Nov/2021:10:55:04 +0000] "GET /favicon.ico HTTP/1.1" 404 232 "https://twitter-web-scrapper95823.herokuapp.com/twitter" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:55:04.072305+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=twitter-web-scrapper95823.herokuapp.com request_id=5999ece6-0e4f-49d4-b31d-0b6241926b11 fwd="103.132.244.181" dyno=web.1 connect=0ms service=4ms status=404 bytes=393 protocol=https
2021-11-24T10:55:25.030182+00:00 app[web.1]: 10.1.47.95 - - [24/Nov/2021:10:55:25 +0000] "GET /twitter HTTP/1.1" 302 250 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:55:25.030289+00:00 heroku[router]: at=info method=GET path="/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=fbf9fc5b-0ec9-43c0-8205-53dfce39e3e3 fwd="103.132.244.181" dyno=web.1 connect=0ms service=2ms status=302 bytes=488 protocol=https
2021-11-24T10:55:25.400682+00:00 heroku[router]: at=info method=GET path="/twitter_login/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=8a0578b7-5cd2-4953-bd2b-d103c0917358 fwd="103.132.244.181" dyno=web.1 connect=0ms service=162ms status=302 bytes=612 protocol=https
2021-11-24T10:55:25.400773+00:00 app[web.1]: 10.1.47.95 - - [24/Nov/2021:10:55:25 +0000] "GET /twitter_login/twitter HTTP/1.1" 302 364 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:55:33.987022+00:00 heroku[router]: at=info method=GET path="/twitter_login/twitter/authorized?oauth_token=Na9QiAAAAAABRQePAAABfVGWAok&oauth_verifier=15S65hCtV5LE9VmTrKBxM2YJaX1Ba5SZ" host=twitter-web-scrapper95823.herokuapp.com request_id=6b350b6a-87fa-4c8e-9037-491d4d6c6b8b fwd="103.132.244.181" dyno=web.1 connect=0ms service=406ms status=302 bytes=754 protocol=https
2021-11-24T10:55:33.987120+00:00 app[web.1]: 10.1.47.95 - - [24/Nov/2021:10:55:33 +0000] "GET /twitter_login/twitter/authorized?oauth_token=Na9QiAAAAAABRQePAAABfVGWAok&oauth_verifier=15S65hCtV5LE9VmTrKBxM2YJaX1Ba5SZ HTTP/1.1" 302 208 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:55:34.217622+00:00 app[web.1]: 10.1.47.95 - - [24/Nov/2021:10:55:34 +0000] "GET / HTTP/1.1" 302 222 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:55:34.217825+00:00 heroku[router]: at=info method=GET path="/" host=twitter-web-scrapper95823.herokuapp.com request_id=0efdcaf2-5113-42ce-b69d-aaa6478f3daa fwd="103.132.244.181" dyno=web.1 connect=0ms service=3ms status=302 bytes=446 protocol=https
2021-11-24T10:55:35.110572+00:00 app[web.1]: <Response [200]>
2021-11-24T10:55:35.239835+00:00 app[web.1]: 10.1.47.95 - - [24/Nov/2021:10:55:35 +0000] "GET /twitter HTTP/1.1" 200 28567 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:55:35.240115+00:00 heroku[router]: at=info method=GET path="/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=98de4b71-04a6-454a-84b6-1135c20be181 fwd="103.132.244.181" dyno=web.1 connect=0ms service=292ms status=200 bytes=28737 protocol=https
2021-11-24T10:55:35.876216+00:00 app[web.1]: 10.1.47.95 - - [24/Nov/2021:10:55:35 +0000] "GET /assets/fonts/fontawesome5-overrides.min.css HTTP/1.1" 404 232 "https://twitter-web-scrapper95823.herokuapp.com/twitter" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:55:35.877387+00:00 heroku[router]: at=info method=GET path="/assets/fonts/fontawesome5-overrides.min.css" host=twitter-web-scrapper95823.herokuapp.com request_id=14333b78-c492-4af2-84bb-400c7f972f6e fwd="103.132.244.181" dyno=web.1 connect=0ms service=3ms status=404 bytes=393 protocol=https
2021-11-24T10:55:37.587393+00:00 app[web.1]: 10.1.47.95 - - [24/Nov/2021:10:55:37 +0000] "GET /favicon.ico HTTP/1.1" 404 232 "https://twitter-web-scrapper95823.herokuapp.com/twitter" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
2021-11-24T10:55:37.587494+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=twitter-web-scrapper95823.herokuapp.com request_id=dc855a6f-fd9a-4bac-b58d-da98f722ccdc fwd="103.132.244.181" dyno=web.1 connect=2ms service=2ms status=404 bytes=393 protocol=https
2021-11-24T10:57:52.929244+00:00 heroku[router]: at=info method=HEAD path="/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=0d7e76a3-4f2c-47b9-ac95-63e4a03c9469 fwd="34.217.253.81" dyno=web.1 connect=0ms service=2ms status=302 bytes=238 protocol=https
2021-11-24T10:57:52.930464+00:00 app[web.1]: 10.1.8.241 - - [24/Nov/2021:10:57:52 +0000] "HEAD /twitter HTTP/1.1" 302 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18"
2021-11-24T10:57:53.388944+00:00 app[web.1]: 10.1.86.74 - - [24/Nov/2021:10:57:53 +0000] "HEAD /twitter_login/twitter HTTP/1.1" 302 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18"
2021-11-24T10:57:53.389860+00:00 heroku[router]: at=info method=HEAD path="/twitter_login/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=7065706d-356f-4cb9-b5b0-1a4f05cf073d fwd="34.217.253.81" dyno=web.1 connect=0ms service=170ms status=302 bytes=248 protocol=https
2021-11-24T11:19:04.000000+00:00 app[api]: Build started by user patrick_chong#hotmail.co.uk
2021-11-24T11:19:25.539500+00:00 app[api]: Deploy 71d3eda0 by user patrick_chong#hotmail.co.uk
2021-11-24T11:19:25.539500+00:00 app[api]: Release v8 created by user patrick_chong#hotmail.co.uk
2021-11-24T11:19:26.083179+00:00 heroku[web.1]: Restarting
2021-11-24T11:19:26.149732+00:00 heroku[web.1]: State changed from up to starting
2021-11-24T11:19:27.103543+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2021-11-24T11:19:27.154992+00:00 app[web.1]: [2021-11-24 11:19:27 +0000] [9] [INFO] Worker exiting (pid: 9)
2021-11-24T11:19:27.155835+00:00 app[web.1]: [2021-11-24 11:19:27 +0000] [4] [INFO] Handling signal: term
2021-11-24T11:19:27.156773+00:00 app[web.1]: [2021-11-24 11:19:27 +0000] [10] [INFO] Worker exiting (pid: 10)
2021-11-24T11:19:27.259037+00:00 app[web.1]: [2021-11-24 11:19:27 +0000] [4] [INFO] Shutting down: Master
2021-11-24T11:19:27.883321+00:00 heroku[web.1]: Process exited with status 0
2021-11-24T11:19:29.212075+00:00 heroku[web.1]: Starting process with command `gunicorn app:app`
2021-11-24T11:19:31.173921+00:00 app[web.1]: [2021-11-24 11:19:31 +0000] [4] [INFO] Starting gunicorn 20.1.0
2021-11-24T11:19:31.174465+00:00 app[web.1]: [2021-11-24 11:19:31 +0000] [4] [INFO] Listening at: http://0.0.0.0:52315 (4)
2021-11-24T11:19:31.174523+00:00 app[web.1]: [2021-11-24 11:19:31 +0000] [4] [INFO] Using worker: sync
2021-11-24T11:19:31.178139+00:00 app[web.1]: [2021-11-24 11:19:31 +0000] [9] [INFO] Booting worker with pid: 9
2021-11-24T11:19:31.230813+00:00 app[web.1]: [2021-11-24 11:19:31 +0000] [10] [INFO] Booting worker with pid: 10
2021-11-24T11:19:31.835296+00:00 heroku[web.1]: State changed from starting to up
2021-11-24T11:19:34.000000+00:00 app[api]: Build succeeded
2021-11-24T11:19:40.739464+00:00 heroku[router]: at=info method=GET path="/" host=twitter-web-scrapper95823.herokuapp.com request_id=27a313c0-7539-4053-9c5a-5e5a8b05085e fwd="185.69.144.36" dyno=web.1 connect=0ms service=2ms status=302 bytes=446 protocol=https
2021-11-24T11:19:40.739795+00:00 app[web.1]: 10.1.83.184 - - [24/Nov/2021:11:19:40 +0000] "GET / HTTP/1.1" 302 222 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15"
2021-11-24T11:19:40.949308+00:00 app[web.1]: <Response [401]>
2021-11-24T11:19:40.950472+00:00 heroku[router]: at=info method=GET path="/twitter" host=twitter-web-scrapper95823.herokuapp.com request_id=b9d01f77-76ae-4ec0-8285-831481a22ee4 fwd="185.69.144.36" dyno=web.1 connect=0ms service=93ms status=200 bytes=181 protocol=https
2021-11-24T11:19:40.951162+00:00 app[web.1]: 10.1.83.184 - - [24/Nov/2021:11:19:40 +0000] "GET /twitter HTTP/1.1" 200 14 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15
"
Do let me know if I should add any more details around the code or deployment. Not sure if this helps, but when I try to run the app on my local drive I get the same error. I also tested it with different twitter accounts, but I run into the same error each time.
To add some context, I am using the Twitter API to scrape the top 20 tweets of the user.
When I run the code on my local terminal, I get the following:
(base) patrickchong#Patricks-MacBook-Pro TwitterWebScrapper % flask run
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [25/Nov/2021 14:41:38] "GET / HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:38] "GET /twitter HTTP/1.1" 302 -
OAuth 1 request token error: Token request failed with code 403, response was '<?xml version='1.0' encoding='UTF-8'?><errors><error code="415">Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings</error></errors>'.
127.0.0.1 - - [25/Nov/2021 14:41:38] "GET /twitter_login/twitter HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:38] "GET / HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:38] "GET /twitter HTTP/1.1" 302 -
OAuth 1 request token error: Token request failed with code 403, response was '<?xml version='1.0' encoding='UTF-8'?><errors><error code="415">Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings</error></errors>'.
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET /twitter_login/twitter HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET / HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET /twitter HTTP/1.1" 302 -
OAuth 1 request token error: Token request failed with code 403, response was '<?xml version='1.0' encoding='UTF-8'?><errors><error code="415">Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings</error></errors>'.
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET /twitter_login/twitter HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET / HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET /twitter HTTP/1.1" 302 -
OAuth 1 request token error: Token request failed with code 403, response was '<?xml version='1.0' encoding='UTF-8'?><errors><error code="415">Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings</error></errors>'.
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET /twitter_login/twitter HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET / HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET /twitter HTTP/1.1" 302 -
OAuth 1 request token error: Token request failed with code 403, response was '<?xml version='1.0' encoding='UTF-8'?><errors><error code="415">Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings</error></errors>'.
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET /twitter_login/twitter HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET / HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:39] "GET /twitter HTTP/1.1" 302 -
OAuth 1 request token error: Token request failed with code 403, response was '<?xml version='1.0' encoding='UTF-8'?><errors><error code="415">Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings</error></errors>'.
127.0.0.1 - - [25/Nov/2021 14:41:40] "GET /twitter_login/twitter HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:40] "GET / HTTP/1.1" 302 -
127.0.0.1 - - [25/Nov/2021 14:41:40] "GET /twitter HTTP/1.1" 302 -
OAuth 1 request token error: Token request failed with code 403, response was '<?xml version='1.0' encoding='UTF-8'?><errors><error code="415">Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings</error></errors>'.
127.0.0.1 - - [25/Nov/2021 14:41:40] "GET /twitter_login/twitter HTTP/1.1" 302 -

WSS4J Invalid Security header -- wish to turn off "ec" prefix in InclusiveNamespace element

When hitting a producer web service with the following SOAP request I get a "invalid security header" message returned. When my test case with Oracle JDK 7, which uses JAX-WS RI 2.2.4-b01, it works fine.
I have to use WSS4j 1.6.0 and IBM JDK 6 as I am on Websphere -- I think the problem is with JAX-WS RI 2.1.6 that comes with IBM JDK 6.
I am trying to get my InclusiveNamspaces to look as follows without the "ec" prefix, as I notice this is one of the things different in the XML request shown below.
<S:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
S:mustUnderstand="1">
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="SIG-A45B0A5E750A47B9AE6EC49A362DB055">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#TS-1">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="wsse S urn urn1" />
But instead it is coming out with the "ec" prefix
<ec:InclusiveNamespaces PrefixList="wsse S urn urn1" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" />
I have tried this in my code but it does not remove it. Any ideas?
org.apache.xml.security.Init.init();
org.apache.xml.security.utils.ElementProxy.setDefaultPrefix("http://www.w3.org/2001/10/xml-exc-c14n#", "");
Here is a request that works when using Oracle JDK 7, notice that it is using JAX-WS RI 2.2.4-b01
POST /airp/aca/a2a/1095BC_Transmission_AATS2016 HTTP/1.1
Accept: text/xml, multipart/related
Content-Type: multipart/related;start="
<rootpart * d2bbd41-479c-4851-b6fb-5de42ba6573f #
example.jaxws.sun.com>
";type="application/xop+xml";boundary="uuid:6d2bbd41-479c-4851-b6fb-5de42ba6573f";start-info="text/xml"
SOAPAction: "BulkRequestTransmitter"
User-Agent: JAX-WS RI 2.2.4-b01
Host: la.www4.irs.gov
Connection: keep-alive
Content-Length: 325083
--uuid:6d2bbd41-479c-4851-b6fb-5de42ba6573f
Content-Id:
<rootpart * d2bbd41-479c-4851-b6fb-5de42ba6573f #
example.jaxws.sun.com>
Content-Type: application/xop+xml;charset=utf-8;type="text/xml"
Content-Transfer-Encoding: binary
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:us:gov:treasury:irs:ext:aca:air:7.0" xmlns:urn1="urn:us:gov:treasury:irs:common">
<S:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
S:mustUnderstand="1">
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="SIG-DEE23B9A923D4A3CA3211DF2A3CD881A">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod>
<ds:Reference URI="#TS-1">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="wsse S urn urn1"></InclusiveNamespaces>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>removed=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#id-4A79A4500D834A1688F0255D34F4B90A">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="S urn1"></InclusiveNamespaces>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>removed=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#id-1447A9BC79B048418D358EF9F861A302">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="S urn urn1"></InclusiveNamespaces>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>removed=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>removed==</ds:SignatureValue>
<ds:KeyInfo Id="KI-F84482F8FD684AF9811FCEA580F9FF93">
<wsse:SecurityTokenReference
wsu:Id="STR-71DE006212BB4C9FA21F3F59F79737CA">
<wsse:KeyIdentifier
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3">removed</wsse:KeyIdentifier>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
<wsu:Timestamp wsu:Id="TS-1">
<wsu:Created>2016-01-08T23:00:48.578Z</wsu:Created>
<wsu:Expires>2016-01-09T00:00:48.578Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
Here is the request using IBM JDK 6 that has JAX-WS 2.1 -- the only difference I can see is that it uses "ec" prefix and expressly states it's UTF-8
POST /airp/aca/a2a/1095BC_Transmission_AATS2016 HTTP/1.1
Soapaction:
"BulkRequestTransmitter"
Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-type:
multipart/related;start="
<rootpart * e-488d-80b8-4a137e7cb54e # example.jaxws.sun.com>
";type="application/xop+xml";boundary="uuid:94066996-016e-488d-80b8-4a137e7cb54e";start-info="text/xml"
User-Agent: JAX-WS RI 2.1.6 in JDK 6
Host: la.www4.irs.gov
Connection: keep-alive
Content-Length: 325122
--uuid:94066996-016e-488d-80b8-4a137e7cb54e
Content-Id:
<rootpart * e-488d-80b8-4a137e7cb54e # example.jaxws.sun.com>
Content-Type: application/xop+xml;charset=utf-8;type="text/xml"
Content-Transfer-Encoding: binary
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:us:gov:treasury:irs:ext:aca:air:7.0" xmlns:urn1="urn:us:gov:treasury:irs:common">
<S:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
S:mustUnderstand="1">
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Id="SIG-2533902FF05A4C3EAD4DF4394DDC7232">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod>
<ds:Reference URI="#TS-1">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces
xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="wsse S urn urn1"></ec:InclusiveNamespaces>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>removed=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#id-7E93AD40DB804D8D9241DE569606EC96">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces
xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="S urn1"></ec:InclusiveNamespaces>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>removed=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#id-2F77BCB77A484ABAB2FF110E580E2DD3">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces
xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="S urn urn1"></ec:InclusiveNamespaces>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>removed=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>removed==</ds:SignatureValue>
<ds:KeyInfo Id="KI-7A496D73BB5342EAA06616B8AF4FDCB0">
<wsse:SecurityTokenReference
wsu:Id="STR-BF7E3246416240B5B45DA733BC718073">
<wsse:KeyIdentifier
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3">removed</wsse:KeyIdentifier>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
<wsu:Timestamp wsu:Id="TS-1">
<wsu:Created>2016-01-08T23:04:33.001Z</wsu:Created>
<wsu:Expires>2016-01-09T00:04:33.001Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>

Recurring Appointment: no error, not visible

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

How to use f:ajax in Facelets with JSF2?

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" />

Resources