Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Netsuite error: You must use account-specific domains with the 2019.1 SOAP web services endpoint

I am using SOAPUI to call soap API of netsuite but when i add wsdl https://5450407-sb1.app.netsuite.com/wsdl/v2019_1_0/netsuite.wsdl

i am getting following error:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <soapenv:Fault>
            <faultcode>
                soapenv:Server.userException
            </faultcode>
            <faultstring>
                You must use account-specific domains with the 2019.1 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.
            </faultstring>
            <detail>
                <platformFaults:unexpectedErrorFault xmlns:platformFaults="urn:faults_2019_1.platform.webservices.netsuite.com">
                    <platformFaults:code>
                        USER_ERROR
                    </platformFaults:code>
                    <platformFaults:message>
                        You must use account-specific domains with the 2019.1 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.
                    </platformFaults:message>
                </platformFaults:unexpectedErrorFault>
                <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">
                    partners022.prod.bos.netledger.com
                </ns1:hostname>
            </detail>
        </soapenv:Fault>
    </soapenv:Body>
</soapenv:Envelope>

When i call same from code thi work fine but from soap API this only give me error. Please help for this if anyone can.

Thanks

like image 241
ankit Avatar asked Dec 11 '22 02:12

ankit


2 Answers

I got you solution: use URL https://5450407.suitetalk.api.netsuite.com/services/NetSuitePort_2019_1

Try to understand the flow in netsuite soap API:

  1. it create client with credentials of you account and then it return account id, then
  2. using that account id you soap endpoint will create for hitting other netsuite API

This is just like a authentication security.

like image 96
AKA Avatar answered Dec 12 '22 16:12

AKA


As best practice integrations with NetSuite must be data centre agnostic. Never hard-code URLs to specify a data centre, because accounts can be moved from one data center to another. In NetSuite, there are two types of URLs:

  • URLs for Data Center-Specific Domains: for example, system.na3.netsuite.com (na3/NA Central) this data center hosts production accounts in North America.
  • URLs for account-specific Domains: it contains the account ID and its not dependent on the data center where an account is hosted.

Please go to Setup> Company > Company Information and click the Company URL to view the account-specific domains available in your account. enter image description here

like image 45
Saeed Anabtawi Avatar answered Dec 12 '22 14:12

Saeed Anabtawi