ankit
ankit

Reputation: 2845

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

Upvotes: 4

Views: 4322

Answers (2)

Saeed Anabtawi
Saeed Anabtawi

Reputation: 192

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

Upvotes: 5

AKA
AKA

Reputation: 638

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.

Upvotes: 9

Related Questions