Connections: Difference between revisions
(Created page with "When you first open the app it will prompt you to create a connection. image 1 here Click the PlUS button and you will see a dialg dialog image 1. Enter in your CRM url i...") |
No edit summary |
||
(20 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''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. | 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]] | |||
Click the | Click the PLUS (+) button and you will see a dialog | ||
[[File:ac_connection2.png]] | |||
1. | 1. | ||
Line 26: | Line 34: | ||
8. Connect - Tries to login and saves the connection details | 8. Connect - Tries to login and saves the connection details | ||
===== | |||
'''Troubleshoot''' | |||
Help ref# 77342 | |||
If you get a CORS issue like the image below | |||
[[File:ac_corsissue.png]] | |||
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 |
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