Hi there, has anyone successfully created an SCIS ...
# suitecommerce
h
Hi there, has anyone successfully created an SCIS extension? I am attempting to fetch extensions in a sandbox account so I can then deploy my extension, but I am getting the following error:
In this account, you must use account-specific domains with this SOAP web services endpoint. You can use the SOAP getDataCenterUrls operation to obtain the correct domain. Or, go to Setup > Company > Company Information in the NetSuite UI. Your domains are listed on the Company URLs tab.
I followed SuiteAnswer #97826 (https://netsuite.custhelp.com/app/answers/detail/a_id/97826/kw/token%20based%20authentication#subsect_161066440498) for generating a token for a non-production account. I added the key and secret and used
https://[accountid]-<http://sb1.restlets.api.netsuite.com|sb1.restlets.api.netsuite.com>
as the vm. I was then able to select the site, domain and subsidiary. It then proceeded to look for the Activation Manifest for the domain, but then it failed and threw the above error. In NetSuite I have run the extension manager on the SCIS site/domain, with no extensions, which seems to execute fine, but once it completes the activation doesn't show in the extension activation list. The documentation for extension fetching and deployment are all SCA focused and don't seem to give further information for SCIS variations. Running: • NetSuite 2020.2 • SCIS 2020.2.4 • SuiteCommerce Extension Management 2020.2.1
f
Regarding the activation not showing up in the SCEM UI, if you have done an activation without any extension, the SCEM does not consider it as an activation because it is not actually, so the UI ignores it.
👌 1
h
Hey @Flo Meilan I hadn't seen that. I have made the adjustments as outlined but I am still getting the same error returned.
f
Are you using a sandbox or a VM?
because if it´s a VM you need to create the integration record
I mean a NetSuite VM
h
Sandbox - I did create an integration record as well as per SuiteAnswer #97826
The gulp command I have been using is:
gulp extension:fetch --key <key-value> --secret <secret-value> --vm <accountid>-<http://sb1.restlets.api.netsuite.com|sb1.restlets.api.netsuite.com>
f
I have not seen that error before
try the following
gulp extension:fetch --to -m sb --key <key-value> --secret <secret-value>
h
Should I be attempting to create a new token?
f
yes
h
Or using the same one I already have
Ok
Got the following error:
Copy code
(node:1984) UnhandledPromiseRejectionWarning: Error: getaddrinfo ENOTFOUND <http://rest.sb.netsuite.com|rest.sb.netsuite.com>
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:64:26)
(node:1984) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhan
dled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see <https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode>). (rejection id: 1)
(node:1984) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
f
ok
I don´t have access to sandbox account, but let me try on a VM to see if it´s the same
h
Thanks!
f
try the following
message has been deleted
modify this • Theme or Extensions Dev Tools/ns_npm_repository/oauth1/index.js Replace: return this._baseStep(
${this.vm ? '' : account}${this.urls.step3}
, params);
With: return this._baseStep(
${this.vm ? '' : account.replace('_','-')}${this.urls.step3}
, params);
• Theme or Extensions Dev Tools/gulp/ns-deploy/net.js Replace: deploy.info.hostname = `${account}.restlets.api.${molecule}netsuite.com`; With: deploy.info.hostname = `${account.replace('_','-')}.restlets.api.${molecule}netsuite.com`;
h
Yep, I have made those changes 🙂
f
oh ok
I don´t know then
h
Thanks very much for your assistance anyway!
f
no problem
if you create a support case let me know the number and I will follow it to see if i can help
h
Thanks! Here is the support case #4138584
f
👍
Hi Harley. I checked with the dev team and they confirmed that sandbox do not need a vm attribute
h
Hey @Flo Meilan so should I be using a
--m
attribute instead?
f
No, there should be no attribute
h
Just
gulp extension:fetch
?
Hi @Flo Meilan I just attempted
gulp extension:fetch
after deleting and revoking all my tokens and updating my extension management tools to 2020.2.2. I also added the patch above to the files you referenced. I'm now getting the following error when attempting to create a new token with SB:
Copy code
[11:31:43] Continue the authentication process in the prompted browser.
(node:28072) UnhandledPromiseRejectionWarning: Error: Invalid login attempt.
    at OAuth1._baseStep (C:\Users\Harley\Documents\GitHub\Telegram-SCA\SCIS\ns_npm_repository\oauth1\index.js:306:19)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async OAuth1.issueToken (C:\Users\Harley\Documents\GitHub\Telegram-SCA\SCIS\ns_npm_repository\oauth1\index.js:360:25)
(node:28072) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see <https://nodej>
<http://s.org/api/cli.html#cli_unhandled_rejections_mode|s.org/api/cli.html#cli_unhandled_rejections_mode>). (rejection id: 1)
(node:28072) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[11:31:56] The following tasks did not complete: extension:fetch
[11:31:56] Did you forget to signal async completion?
f
Thanks. I will forward the error to the dev team to see if they have any feedback
👍 1
m
Looks like this exact issue right ?
f
Yes, but you are not actually using SCIS right? What product and version are you using?
Hi @Harley we have an open issue that may be related to yours. The issue number is #621764, please request TS to look if your case may be related to it.
h
Hi @Flo Meilan I have just worked it out. I think the issue was tied to me manually creating an integration record as per the SuiteAnswer in my initial message at the top of this thread. I believe this was clashing with the automatic integration record that was created and causing issues. I then had both blocked, but was then referred to the Help doc here: https://<accountid>.app.netsuite.com/app/help/helpcenter.nl?fid=section_1534941538.html, which allowed me to diagnose the issue. I then unblocked one of the integration records and we were all working again. I think the SuiteAnswer #97826 that I referenced should be updated to clearly state in what circumstances it should be used, because it doesn't sound like it should be used for prod or SB - which is why I ended up down this rabbit hole.
Thanks for your assistance.
f
Thank you Harley, I will request to have this updated.