Try to run virto storefront had error on Graphql

Try to run virto storefront by setup from document but I had this error when run virto storefront.

index.js:39 Uncaught (in promise) ApolloError: GraphQL.Validation.Errors.FieldsOnCorrectTypeError: Cannot query field 'store' on type 'Query'.
GraphQL.Validation.Errors.FieldsOnCorrectTypeError: Cannot query field 'englishName' on type 'CurrencyType'.
GraphQL.Validation.Errors.FieldsOnCorrectTypeError: Cannot query field 'cultureName' on type 'CurrencyType'.
GraphQL.Validation.Errors.KnownTypeNamesError: Unknown type LanguageType. Did you mean 'ImageType', 'PageType', 'FacetRangeType', 'LineItemType', or 'ContractType'?
    at new t (index.js:39:28)
    at QueryManager.js:756:47
    at p (asyncMap.js:22:31)
    at asyncMap.js:11:72
    at new Promise (<anonymous>)
    at Object.then (asyncMap.js:11:24)
    at Object.next (asyncMap.js:24:49)
    at GO (module.js:132:18)
    at Jh (module.js:176:3)
    at t.next (module.js:225:5)
await in t.next (async)		
(anonymous)	@	main.ts:3
Show 19 more frames

what did I do wrong from setting?

Could you explain your configuration? Which OS? Which version of the theme, storefront, platform, modules? Are you using sample data set?

This is my config on storefront

{
  "ConnectionStrings": {
    "ContentConnectionString": "provider=LocalStorage;rootPath=~/cms-content"
    // Set this connection string to switch the cache to hybrid mode. The Redis server will keep the local memory cache of multiple instances in a consistent state.
    //"RedisConnectionString": "127.0.0.1:6379,ssl=False"
  },
  "VirtoCommerce": {
    "DefaultStore": "B2B-store",
    "StoreUrls": {
      // Define  mapping of  concrete stores with public urls in this section
      //"{store id}":"{store public url}"
    },
    "CacheEnabled": "true",
    "CacheSlidingExpiration": "0:10:0",
    //The setting  responds of frequency storefront requests to platform /api/changes/lastmodifieddate to get the latest timestamps of any data changes and use it for the cached data expiration,
    //any data changes in the platform side will invalidate all data cache in storefront because of hard to implement graceful cache invalidation for dependencies
    "ChangesPollingInterval": "0:0:15",
    "Redis": {
      // The name of the channel. All instances with the same ChannelName will only receive events within their own channel.
      "ChannelName": "VirtoCommerceStorefrontChannel",
      "BusRetryCount": 3
    },
    "PageSizeMaxValue": 100,
    "Endpoint": {
      "Url": "http://arcadiadev.ddns.net:5000/",
      // Use AppId and SecretKey for Platform API authentication (has higher priority than UserName/Password)
      //"AppId": "27e0d789f12641049bd0e939185b4fd2",
      //"SecretKey": "34f0a3c12c9dbb59b63b5fece955b7b2b9a3b20f84370cba1524dd5c53503a2e2cb733536ecf7ea1e77319a47084a3a2c9d94d36069a432ecc73b72aeba6ea78",

      // Use client credential flow for Platform API authentication
      //"ClientId": "",
      //"ClientSecret": "", 

      // Use UserName and Password for Platform API authentication
      "UserName": "admin",
      "Password": "Admin1234",
      "RequestTimeout": "0:0:30"
    },
    "LiquidThemeEngine": {
      "RethrowLiquidRenderErrors": false,
      // The path to the base theme that will be used to discover the theme resources not found by the path of theme for current store.
      // This parameter can be used for theme inheritance logic.
      // Example values: Electronics/default_theme -> wwwroot/cms-content/Themes/Electronics/default_theme
      "BaseThemePath": "B2B-store/default",
      // Set to true if you want to merge current theme settings with base theme settings instead of placement
      "MergeBaseSettings": false
    },
    "RequireHttps": {
      "Enabled": false,
      "StatusCode": "308",
      "Port": "443"
    },
    "AzureBlobStorage": {
      "PollForChanges": true,
      "ChangesPollingInterval": "0:0:15"
    },
    // This option sets how notification is delivered in reset password workflow. Possible values: "Email", "Phone".
    "ResetPasswordNotificationGateway": "Email",
    // This option sets how notification is delivered in two factor authentication workflow. Possible values: "Email", "Phone".
    "TwoFactorAuthenticationNotificationGateway": "Phone"
  },
  "CookieAuthenticationOptions": {
    "Cookie": {
      "HttpOnly": true
    },
    "ExpireTimeSpan": "00:30:00",
    "LoginPath": "/sign-in",
    "LogoutPath": "/sign-out",
    "AccessDeniedPath": "/error/accessdenied",
    "SlidingExpiration": true
  },
  "IdentityOptions": {
    "Password": {
      "RequiredLength": 8,
      "RequireDigit": false,
      "RequireNonAlphanumeric": false
    },
    "Lockout": {
      "DefaultLockoutTimeSpan": "0:15:0"
    }
  },
  "SnapshotCollectorConfiguration": {
    "IsEnabledInDeveloperMode": false,
    "ThresholdForSnapshotting": 1,
    "MaximumSnapshotsRequired": 3,
    "MaximumCollectionPlanSize": 50,
    "ReconnectInterval": "00:15:00",
    "ProblemCounterResetInterval": "1.00:00:00",
    "SnapshotsPerTenMinutesLimit": 1,
    "SnapshotsPerDayLimit": 30,
    "SnapshotInLowPriorityThread": true,
    "ProvideAnonymousTelemetry": true,
    "FailedRequestLimit": 3
  }
}

Run on Linux and theme is vc-theme-b2b-vue, storefront and platform ,I cloned from dev repo.

@commond140
I think some thing wrong with backend configuration.

Is it possible to get temporary access to your backend (virto commerce)? If yes, send domain and credentials to support@virtocommerce.com, we will review configuration and do test API call from postman.

If No, could you:

  1. Share http://arcadiadev.ddns.net:5000/health result
  2. Share Platform Information Details
  3. Do you see any errors in the platform log(console) when you do API call?

this is health check result:

{
  "Modules health": {
    "Data": {},
    "Description": "All modules are loaded",
    "Duration": "00:00:00.0001113",
    "Exception": null,
    "Status": "Healthy",
    "Tags": [
      "Modules"
    ]
  },
  "Cache health": {
    "Data": {},
    "Description": "Cache is active",
    "Duration": "00:00:00.0000015",
    "Exception": null,
    "Status": "Healthy",
    "Tags": [
      "Cache"
    ]
  },
  "Redis health": {
    "Data": {},
    "Description": null,
    "Duration": "00:00:00.0027657",
    "Exception": null,
    "Status": "Healthy",
    "Tags": [
      "Cache"
    ]
  }
}

this is file platform info:

@commond140, finally, could you Capture web session traffic - support - Virto Commerce when you open frontend application and share HAR file?

This is HAR file:

I already updated the modules and it works now.

1 Like

:fire: Thank you for the update