Connections: Difference between revisions
No edit summary |
No edit summary |
||
(7 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
When you first open the app it will prompt you to create a connection. | When you first open the app it will prompt you to create a connection. | ||
Note: If running on the Office 365 add-in your CRM needs to be accessible from the internet and runs on https:// (SSL) | |||
EG | |||
https://crm.yourdomain.com/crm | |||
[[File:ac_connection1.png]] | [[File:ac_connection1.png]] | ||
Line 49: | Line 55: | ||
<httpProtocol> | <httpProtocol> | ||
<customHeaders> | <customHeaders> | ||
<add name="Access-Control-Allow-Origin" value=" | <add name="Access-Control-Allow-Origin" value="*" /> | ||
<add name="Access-Control-Allow-Headers" value="*" /> | <add name="Access-Control-Allow-Headers" value="*" /> | ||
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,PATCH,OPTIONS" /> | <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,PATCH,OPTIONS" /> | ||
Line 58: | Line 64: | ||
....leave any code in between thats there already...and do not copy this line in :) | ....leave any code in between thats there already...and do not copy this line in :) | ||
</system.webServer> | </system.webServer> | ||
'''If you do see it check that | |||
"Access-Control-Allow-Headers" | |||
has the value | |||
"Content-type, App-Mode, App-Capacitor-Platform, App-Connector, App-Container, App-version, Authorization" | |||
set | |||
'''If you do not see it then add it in. ''' | '''If you do not see it then add it in. ''' | ||
Line 66: | Line 78: | ||
<customHeaders> | <customHeaders> | ||
<add name="Access-Control-Allow-Origin" value="*" /> | <add name="Access-Control-Allow-Origin" value="*" /> | ||
<add name="Access-Control-Allow-Headers" value=" | <add name="Access-Control-Allow-Headers" value="Content-type, App-Mode, App-Capacitor-Platform, App-Connector, App-Container, App-version, Authorization" /> | ||
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,PATCH,OPTIONS" /> | <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,PATCH,OPTIONS" /> | ||
<add name="Access-Control-Allow-Credentials" value="true" /> | <add name="Access-Control-Allow-Credentials" value="true" /> | ||
Line 81: | Line 93: | ||
</system.webServer> | </system.webServer> | ||
then after | then after </httpProtocol> (THIS IS THE CLOSING TAG AND NOT THE OPENING ONE)add in | ||
<rewrite> | |||
<outboundRules> | <outboundRules> | ||
<clear /> | <clear /> | ||
Line 89: | Line 102: | ||
<match serverVariable="RESPONSE_Access_Control_Allow_Origin" pattern=".*" /> | <match serverVariable="RESPONSE_Access_Control_Allow_Origin" pattern=".*" /> | ||
<conditions logicalGrouping="MatchAll" trackAllCaptures="true"> | <conditions logicalGrouping="MatchAll" trackAllCaptures="true"> | ||
<add input="{HTTP_ORIGIN}" pattern="(http(s)?://((.+\.)?crmtogether\.com|(.+\.)?localhost\#|(.+\.)?capacitor\.com))" /> | <add input="{HTTP_ORIGIN}" pattern="(http(s)?://((.+\.)?crmtogether\.com|(.+\.)?mail.google\.com|(.+\.)?localhost\#|(.+\.)?capacitor\.com))" /> | ||
</conditions> | </conditions> | ||
<action type="Rewrite" value="{C:0}" /> | <action type="Rewrite" value="{C:0}" /> | ||
Line 102: | Line 115: | ||
It appears that a wildcard header in the “Access-Control-Allow-Origin” header is no longer accepted. This causes a CORS issue and you cannot log in. | It appears that a wildcard header in the “Access-Control-Allow-Origin” header is no longer accepted. This causes a CORS issue and you cannot log in. | ||
We fixed this | We fixed this using the details above | ||
Latest revision as of 15:02, 2 September 2024
This page is to help you set up your Sage CRM connection
When you first open the app it will prompt you to create a connection.
Note: If running on the Office 365 add-in your CRM needs to be accessible from the internet and runs on https:// (SSL)
EG
https://crm.yourdomain.com/crm
Click the PLUS (+) button and you will see a dialog
1. Enter in your CRM url in one fo the formats
* https://crm.yourserver.com/CRM/ * http://yourserver/CRM/
2. CRM Username
3. CRM User password
4. Remember me (stores the password)
5. Connection name - Internal name
6. Connection Caption - The text you see in the screen
7. Enabled - Tab is not shown if not enabled
8. Connect - Tries to login and saves the connection details
=
Troubleshoot
Help ref# 77342
If you get a CORS issue like the image below
It could be an issue with your web.config in that it is missing the CORS xml code
On your CRM server open "custompages/sagecrmws/web.config" and search for the "<system.webServer>" section.
You should see a number of "Access-Control-Allow-..." options within the "<system.webServer>" section.
<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="*" /> <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,PATCH,OPTIONS" /> <add name="Access-Control-Allow-Credentials" value="true" /> <add name="Access-Control-Allow-Private-Network" value="true" /> </customHeaders> </httpProtocol>
....leave any code in between thats there already...and do not copy this line in :)
</system.webServer>
If you do see it check that
"Access-Control-Allow-Headers"
has the value
"Content-type, App-Mode, App-Capacitor-Platform, App-Connector, App-Container, App-version, Authorization"
set
If you do not see it then add it in.
Add in the section
<httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="Content-type, App-Mode, App-Capacitor-Platform, App-Connector, App-Container, App-version, Authorization" /> <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,PATCH,OPTIONS" /> <add name="Access-Control-Allow-Credentials" value="true" /> <add name="Access-Control-Allow-Private-Network" value="true" /> </customHeaders> </httpProtocol>
between
<system.webServer>
and
</system.webServer>
then after </httpProtocol> (THIS IS THE CLOSING TAG AND NOT THE OPENING ONE)add in
<rewrite> <outboundRules> <clear /> <rule name="AddCrossDomainHeader"> <match serverVariable="RESPONSE_Access_Control_Allow_Origin" pattern=".*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="true"> <add input="{HTTP_ORIGIN}" pattern="(http(s)?://((.+\.)?crmtogether\.com|(.+\.)?mail.google\.com|(.+\.)?localhost\#|(.+\.)?capacitor\.com))" /> </conditions> <action type="Rewrite" value="{C:0}" /> </rule> </outboundRules> </rewrite>
No need to restart IIS or anything. Just save the file.
- UPDATE: 17 March 2024 ***
It appears that a wildcard header in the “Access-Control-Allow-Origin” header is no longer accepted. This causes a CORS issue and you cannot log in. We fixed this using the details above