Connections: Difference between revisions
| No edit summary | No edit summary | ||
| Line 81: | Line 81: | ||
|    </system.webServer> |    </system.webServer> | ||
| then after  | then after </httpProtocol> (THIS IS THE CLOSING TAG AND NOT THE OPENING ONE)add in | ||
Revision as of 12:35, 15 June 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.
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 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="*" />
       <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|(.+\.)?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



