Expand my Community achievements bar.

AEM 6.3 - Magento Connector Issue

Avatar

Former Community Member

Hi,

I have integrated AEM 6.3(Author) with Magento2 using Magento2 connector with which i am able to import the products from Magento2 to AEM6.3.

But while deploying Magento connector to AEM6.3 Publish i am getting "ConstraintViolationException" as given below.

[ERROR] Request failed: org.apache.jackrabbit.vault.packaging.PackageException: javax.jcr.nodetype.C

onstraintViolationException: OakConstraint0001: /apps/commerce/gui/content/catalogs/importblueprints

wizard[[nt:folder]]: No matching definition found for child node importers with effective type [nt:u

nstructured] (500)

Any pointers on the same will be highly appreciable.

Thanks

Jaideep S.Rawat

7 Replies

Avatar

Level 10

See the official documentation here: Magento

Avatar

Level 10

Also - if it works on Author - something has to be different on Pub to account for this difference. Did you install all dependencies that you have on Author onto Publisher?

Avatar

Level 4

I am getting error in author, it is not installing. giving following error

[INFO] --- content-package-maven-plugin:0.0.24:install (install-package) @ magento2.content ---

[INFO] Installing magento2.content (/Users/mohammed_ahmed/Documents/Perficient/reviews/adobe-cif/aem-connector/ui.apps/target/magento2.content-1.0.1-SNAPSHOT.zip) to http://localhost:6302/crx/packmgr/service.jsp

[ERROR] Request failed: org.apache.jackrabbit.vault.packaging.PackageException: javax.jcr.nodetype.ConstraintViolationException: OakConstraint0001: /apps/commerce/gui/content/catalogs/importblueprintswizard/importers[[nt:folder]]: No matching definition found for child node magento with effective type [nt:unstructured] (500)

[INFO] ------------------------------------------------------------------------

Avatar

Level 1

Hi jair9202193​ , smacdonald2008

Can you please help me to integrate magento2 with AEM 6.3.

It shows the json for the products be imported and I do not see a problem with the json stream.

Below is my json response :

response ::{"items":[{"id":1,"sku":"24-MB01","name":"Joust Duffle Bag","attribute_set_id":15,"price":34,"status":1,"visibility":4,"type_id":"simple","created_at":"2018-03-12 12:54:19","updated_at":"2018-03-12 12:54:19","extension_attributes":[],"product_links":[],"tier_prices":[],"custom_attributes":[{"attribute_code":"description","value":"<p>The sporty Joust Duffle Bag can't be .......

But after getting json response am getting below exception

23.03.2018 18:45:58.339 *ERROR* [0:0:0:0:0:0:0:1 [1521810572717] POST /libs/commerce/products HTTP/1.1] com.infield.magento.catalog.connector.MagentoConnectorService Error getting Product List: ERROR: Can not construct instance of com.infield.magento.catalog.connector.models.MagentoProduct, problem: null

Could you please help me with this.

Avatar

Level 2

kumarsonumishra kumarsonumishra

I don't know if this will help but in the instance of the connector that I have downloaded for aem 6.3 when I got that error I had to modify the HashMap() class found in the \magento2-aem-connector-master\aem-connector\core\src\main\java\com\infield\magento\catalog\connector\models\MagentoProduct.java

to handle empty this.custom_attributes
I also had to modify the

@JsonCreator

        public MagentoProduct(@...) to handle when this.price = new BigDecimal(price); is null once I handled those two exceptions then the importer continued on.

The problem lies within Magento as there are parent products that don't have custom attributes or prices. The MagentoProduct.java does not take this into account and returns a poorly handled exception that does not really correlate to the issue.

Hope this helps.

Avatar

Level 2

@shajiahmed

I don't know if you got an answer for this but for me to make it work on my 6.3 instance I had to do the following:

  1. go to a 6.2 instance and install the connector
  2. change the sling:resourceType from: granite/ui/components/foundation/well  to:  /libs/granite/ui/components/foundation/layouts/well

on the following nodes:

/apps/commerce/gui/content/products/importproductswizard/importers/magento

/apps/commerce/gui/content/products/importproductswizard/importers/geometrixx

/apps/commerce/gui/content/catalogs/importblueprintswizard/importers/geometrixx

/apps/commerce/gui/content/catalogs/importblueprintswizard/importers/magento

*note:  granite/ui/components/foundation/well  is depreciated and  /libs/granite/ui/components/foundation/layouts/well is supported 6.2 and up.

also the geometrixx components will not be installed on your 6.3 instances as it is no longer supported. However, I changed it for consistency.

  1. now create a new package with these newly updated jcr nodes
  2. build the new package and download
  3. export the newly updated jcr nodes to your local copy of the magento to aem connector in their correct place
  4. modify the pom found at the aem.connector root to:

       comment out the org.apache.log

       update the uber jar from 6.2.0 to 6.3.0

  1. rebuild the connector through maven
  2. upload/reinstall on 6.3

now you will not see any install errors and the OSGI configuration on the http://localhost:4507/system/console/configMgr console will allow you to create your identity provider, OSGI configs for the importer itself,  the default sync job, etc

Avatar

Level 1

Hi Jaideep..I am trying to connect AEM 6.3 author with Magento 2. Any pointers how to proceed. Where to get Magento2 connector ?

Thanks,

Amit