Salesforce has come up with a feature to connect the third-party Content management systems with Salesforce communities. You can connect CMS components, HTML, JSON, CSS, and JavaScript to customize your community and keep its branding consistent with your website. CMS connect feature renders content dynamically from CMS systems.
Menu
Showing posts with label Salesforce. Show all posts
Showing posts with label Salesforce. Show all posts
Sunday, 14 July 2019
Tuesday, 18 July 2017
org.osgi.framework.BundleException: osgi.wiring.package=com.adobe.cq.mcm.salesforce
Sometimes when we try to deploy code, bundles may not be in active state in AEM 6.1. We can see below error message.
Error Message:
18.07.2017 23:44:01.519 *ERROR* [qtp1756110899-265] org.apache.felix.http.jetty %bundles.pluginTitle: Cannot start (org.osgi.framework.BundleException: Unresolved constraint in bundle com.aem.kishore.bundle-core [654]: Unable to resolve 654.1: missing requirement [654.1] osgi.wiring.package; (&(osgi.wiring.package=com.adobe.cq.mcm.salesforce)(version>=1.1.0)(!(version>=2.0.0))))
org.osgi.framework.BundleException: Unresolved constraint in bundle com.aem.kishore.bundle-core [654]: Unable to resolve 654.1: missing requirement [654.1] osgi.wiring.package; (&(osgi.wiring.package=com.adobe.cq.mcm.salesforce)(version>=1.1.0)(!(version>=2.0.0)))
Solution:
Error Message:
18.07.2017 23:44:01.519 *ERROR* [qtp1756110899-265] org.apache.felix.http.jetty %bundles.pluginTitle: Cannot start (org.osgi.framework.BundleException: Unresolved constraint in bundle com.aem.kishore.bundle-core [654]: Unable to resolve 654.1: missing requirement [654.1] osgi.wiring.package; (&(osgi.wiring.package=com.adobe.cq.mcm.salesforce)(version>=1.1.0)(!(version>=2.0.0))))
org.osgi.framework.BundleException: Unresolved constraint in bundle com.aem.kishore.bundle-core [654]: Unable to resolve 654.1: missing requirement [654.1] osgi.wiring.package; (&(osgi.wiring.package=com.adobe.cq.mcm.salesforce)(version>=1.1.0)(!(version>=2.0.0)))
Solution:
- Delete (or stop) the ''org.eclipse.equinox.region" bundle from the felix.
- Delete the existing custom bundle.
- Restart the server (check without restarting) and then redeploy your code bundle.
This bundle has some dependency with eclipse and should not be in AEM6.1, it was meant for AEM 6.2. But somehow it got introduced in this version.
If still issue is not resolved check this post.
If still issue is not resolved check this post.
Labels:
AEM 6.1
,
AEM 6.2
,
OSGi
,
Salesforce
,
Troubleshooting
Saturday, 13 May 2017
AEM - Salesforce lightning component - Access-Control-Allow-Origin
When I try to access salesforce lightning components in AEM, I was not able to access the lightning script from AEM server, I got below error in browser console.
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin'
header is present on the requested resource. Origin 'https://localhost:5544' is therefore not allowed access.
Issue:
XMLHttpRequest cannot load https://AAAAAA.lightning.force.com/lightning/lightning.out.js.Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin'
header is present on the requested resource. Origin 'https://localhost:5544' is therefore not allowed access.
Solution:
We need to whitelist the origin i.e. our aem server in salesforce.
- Goto salesforce.com site, click on Setup -> search for CORS
- Goto CORS console, give the AEM server url pattern, in my case it is https://localhost:5544
Sunday, 16 April 2017
Adobe Salesforce Connector - INVALID_SESSION_ID
Issue:
I have integrated AEM with Salesforce using salesforce cloud config. I am able to connect to salesforce successfully and able to pull data from salesforce. After sometime when I access aem page am getting error below
[{"message":"Session expired or invalid","errorCode":"INVALID_SESSION_ID"}]
I have also checked below settings in salesforce
- Session timeout after 4 hours of inactivity
- Selecte OAuth scopes
- Perform requests on your behalf at any time (refresh_token, offline_access)
- Access and manage your data (api)
- Full Access (Full)
Resolution:
In sales force we need to remove Full Access (Full) OAuth Scopes, if we use this then refresh token will not be effective.
Saturday, 8 April 2017
Salesforce REST API implementation - JAVA
This post demonstrates the following basic use cases for the REST API:
- authentication with OAuth 2.0 (This is for development purposes only. Not a real implementation.)
- querying (using account records)
- inserting (using a contact record related to one of the retrieved account records)
- updating (updates contact record added in previous step)
- authentication with OAuth 2.0 (This is for development purposes only. Not a real implementation.)
- querying (using account records)
- inserting (using a contact record related to one of the retrieved account records)
- updating (updates contact record added in previous step)
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.IOException; import java.io.UnsupportedEncodingException; import org.apache.http.Header; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicHeader; import org.apache.http.util.EntityUtils; import org.json.JSONException; import org.json.JSONObject;
Tuesday, 28 March 2017
Salesforce: Can't refresh access token. Response: {"error":"invalid_grant","error_description":"token validity expired"}
Sometimes we may not be able to refresh the Salesforce access_token using the rest api and get below error in logs
28.03.2017 23:41:40.184 *ERROR* [0:0:0:0:0:0:0:1 [1490724696957] GET /content/training/en/salesforce/jcr:content/par/salesforcesearch.html HTTP/1.1] com.adobe.cq.mcm.salesforce.SalesforceClient Can't refresh access token. Response: {"error":"invalid_grant","error_description":"token validity expired"}
Root cause:
This issue is due to the "Refresh Token Policy" settings of the connected app is set to "Immediately expire refresh token"
Follow the below steps to resolve this issue:
28.03.2017 23:41:40.184 *ERROR* [0:0:0:0:0:0:0:1 [1490724696957] GET /content/training/en/salesforce/jcr:content/par/salesforcesearch.html HTTP/1.1] com.adobe.cq.mcm.salesforce.SalesforceClient Can't refresh access token. Response: {"error":"invalid_grant","error_description":"token validity expired"}
Root cause:
This issue is due to the "Refresh Token Policy" settings of the connected app is set to "Immediately expire refresh token"
Follow the below steps to resolve this issue:
- Goto setup -> Connected apps ->Manage Policies
- Select Refresh Token Policy as Refresh token is valid until revoked
Friday, 24 March 2017
Integrate Adobe AEM with Salesforce
Adobe
AEM provide its extendable capabilities to integrate with other products.
Below demonstration describe how to connect Adobe AEM with Salesforce which is
the market’s leading cloud based CRM System. AEM provide OOTB
components for the integration purpose. It helps the organization to target the
customers through web channels as per their status in CRM.
Steps to Connect to Salesforce:
AEM uses OAuth mechanism to connect to Salesforce. So , first we
need to create an connected app inside salesforce to get customer secret and
access token.
Go to login.salesforce.com. Click on Setup on the top right corner. Search for Apps and create a custom app. Fill in
required details as shown in below images. Callback Url here accept only https
urls, so our AEM must be SSL configured. Check here how to configure SSL in AEM. Callback url is the url of cloud
service that we will create in AEM.
| Create new custom app |
Subscribe to:
Posts
(
Atom
)


