Soapui Netsuite错误:您必须在2019.1 SOAP web服务终结点中使用特定于帐户的域

Soapui Netsuite错误:您必须在2019.1 SOAP web服务终结点中使用特定于帐户的域,soapui,netsuite,Soapui,Netsuite,我正在使用SOAPUI调用netsuite的soap API,但是当我添加wsdlhttps://5450407-sb1.app.netsuite.com/wsdl/v2019_1_0/netsuite.wsdl 我遇到以下错误: <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=

我正在使用SOAPUI调用netsuite的soap API,但是当我添加wsdl
https://5450407-sb1.app.netsuite.com/wsdl/v2019_1_0/netsuite.wsdl

我遇到以下错误:

<?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>

soapenv:Server.userException
您必须在2019.1 SOAP web服务终结点中使用特定于帐户的域。您可以使用SOAP getDataCenterUrls操作来获取正确的域。或者,进入NetSuite UI中的设置>公司>公司信息。您的域列在“公司URL”选项卡上。
用户错误
您必须在2019.1 SOAP web服务终结点中使用特定于帐户的域。您可以使用SOAP getDataCenterUrls操作来获取正确的域。或者,进入NetSuite UI中的设置>公司>公司信息。您的域列在“公司URL”选项卡上。
partners022.prod.bos.netledger.com
当我从代码中调用相同的代码时,它工作得很好,但从soap API中,这只会给我带来错误。如果有人可以的话,请帮忙


谢谢

我找到了解决方案:使用URL
https://5450407.suitetalk.api.netsuite.com/services/NetSuitePort_2019_1

尝试了解netsuite soap API中的流程:

  • 它使用您帐户的凭据创建客户端,然后返回帐户id,然后
  • 使用soap端点将创建的帐户id来访问其他netsuite API

  • 这就像身份验证安全一样。

    因为与NetSuite的最佳实践集成必须与数据中心无关。永远不要硬编码URL来指定数据中心,因为帐户可以从一个数据中心移动到另一个数据中心。 在NetSuite中,有两种类型的URL:

    • 数据中心特定域的URL:例如,system.na3.netsuite.com(na3/NA Central)此数据中心承载北美的生产帐户
    • 特定于帐户的域的URL:它包含帐户ID及其不依赖于托管帐户的数据中心
    请转到设置>公司>公司信息,然后单击公司URL以查看您的帐户中可用的特定于帐户的域。

    正如我在您的问题中看到的,您的帐户是沙箱帐户。因此,您必须在请求头和URl中使用帐户id:5450407-sb1。