Mule NetSuite自定义字段搜索失败

Mule NetSuite自定义字段搜索失败,mule,netsuite,mule-component,Mule,Netsuite,Mule Component,我在使用MuleSoft NetSuite连接器时遇到错误。我正在搜索在沙盒环境中正确执行的自定义字段,但在NetSuite的生产实例中收到以下错误 我可能遗漏了什么,导致此搜索在沙箱中正常工作,但在生产中无法正常工作?我已经检查了角色、字段名称等。是否有某种类型的权限可以通过API使用来启用自定义字段搜索?用户是管理员 错误 WARN 2017-04-24 15:08:21,209 [[sfdc-netsuite-integration].sfdcAccountToNSCustomerCre

我在使用MuleSoft NetSuite连接器时遇到错误。我正在搜索在沙盒环境中正确执行的自定义字段,但在NetSuite的生产实例中收到以下错误

我可能遗漏了什么,导致此搜索在沙箱中正常工作,但在生产中无法正常工作?我已经检查了角色、字段名称等。是否有某种类型的权限可以通过API使用来启用自定义字段搜索?用户是管理员

错误

WARN  2017-04-24 15:08:21,209 [[sfdc-netsuite-integration].sfdcAccountToNSCustomerCreate.stage1.02] org.apache.cxf.phase.PhaseInterceptorChain: Interceptor for {urn:platform_2016_2.webservices.netsuite.com}NetSuitePortTypeService#{urn:platform_2016_2.webservices.netsuite.com}search has thrown exception, unwinding now
    org.apache.cxf.interceptor.Fault: Response was of unexpected text/html ContentType.  Incoming portion of HTML stream: <!DOCTYPE html>
    <html>

    <head>
    <title>Error</title>
    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
        <script type='text/javascript' src='/ui/jquery/jquery-1.11.3.min.js?NS_VER=2017.1.0&minver=63'></script>
        <script type='text/javascript' src='/ui/jquery/jquery_isolation.js?NS_VER=2017.1.0&minver=63'></script>
        <script type='text/javascript' src='/javascript/NLUtil.jsp?NS_VER=2017.1.0&minver=63&JSP_VER=1&JSP_VER=1&JSP_VER=1'></script>
        <script type='text/javascript' src='/javascript/NLUtil.js?NS_VER=2017.1.0&minver=63'></script>
        <script type='text/javascript' src='/javascript/NLUIWidgets.jsp?NS_VER=2017.1.0&minver=63&JSP_VER=1&JSP_VER=1&JSP_VER=1'></script>
        <script type='text/javascript' src='/assets/legacy_widgets/1701411811.js?NS_VER=2017.1.0&minver=63'></script>
        <script type='text/javascript' src='/assets/legacy_apputil/1733410633.js?NS_VER=2017.1.0&minver=63'></script>
        <script type='text/javascript' src='/javascript/NLAppUtil.jsp?NS_VER=2017.1.0&minver=63&JSP_VER=1&JSP_VER=1&JSP_VER=1'></script>
        <script type='text/javascript' src='/uirefresh/script/global.js__NS_VER=2017.1.0&minver=63.nlqs?NS_VER=2017.1.0&minver=63'></script>
    <link rel='stylesheet' href='/core/styles/pagestyles.nl?ct=-2&bglt=F2F4F6&bgmd=EDF1F7&bgdk=737A82&bgon=5C7499&bgoff=AFB5BF&bgbar=5C7499&tasktitletext=E4EAF4&crumbtext=E4EAF4&headertext=E4EAF4&ontab=FFFFFF&offtab=000000&text=000000&link=000000&bgbody=FFFFFF&bghead=FFFFFF&portlet=C0CAD9&portletlabel=000000&bgbutton=FFE599&bgrequiredfld=FFFFE5&font=Verdana%2CHelvetica%2Csans-serif&size_site_content=9pt&size_site_title=9pt&size=1.0&nlinputstyles=T&accessibility=F&NS_VER=2017.1.0'><link rel='stylesheet' type='text/css' href='/uirefresh/css/button.css' />
    </head>

    <body bgcolor='#FFFFFF' link='#000000' vlink='#000000' alink='#330099' text='#000000' topmargin='0' marginheight='1' onload='page_init()' class='error-page'>
    <img src='/images/nav/stretch.gif' width='20'><a href='http://www.netsuite.com/portal/home.shtml'><img class='uir-logo' src='/images/logos/netsuite-reskin.png' height='30' border=0 style='margin-right:30px;'></a>
    <table border=0 cellPadding=0 cellSpacing=0 width=100%>

    <tr><td class='bglt'>
    <table border='0' cellspacing='0' cellpadding='5' width='100%'>
    <tr><td class='textboldnolink'>Error</td></tr>
    <tr><td vAlign='top'>
    <table border='0' cellspacing='0' cellpadding='0' width='100%'>
    <tr><td class='text'>&nbsp;</td></tr>

    <tr><td class=text><img src='/images/5square.gif' width=5 height=5>An unexpected error has occurred. Please go back and try again.</td></tr>

    <tr><td class='text'>&nbsp;</td></tr>
    <tr><td class='text'>&nbsp;</td></tr>
    </table></td></tr></table></td></tr>
    <tr><td class='text'>&nbsp;</td></tr>
    </table>

    <script language='JavaScript' type='text/javascript'>
    function page_init() {
    }
    </script>

    </body>
    </html>
WARN 2017-04-24 15:08:21209[[sfdc-netsuite integration].sfdcaccounttonscustomecreate.stage1.02]org.apache.cxf.PhaseInterceptorChain:urn:platform_2016_2.webservices.netsuite.com}NetSuitePortTypeService{urn platform_2016_2.webservices.netsuite.com}搜索引发异常,正在解除
org.apache.cxf.interceptor.Fault:响应为意外的text/html内容类型。HTML流的传入部分:
错误
错误
发生意外错误。请返回并重试。
函数页_init(){
}
建立搜索

public class SearchNSCustomerBySFDCAccountId extends AbstractMessageTransformer  {

    private final String FLOW_VAR_SFDCACCOUNT = "SFDCAccount";
    private final String SFDCACCOUNT_ID = "Id";
    private final String SFDC_ACCOUNT_ID_FIELD = "custentitysfdc_account_id";

    @Override
    public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException {
        //Retrieve FlowVar - SFDCAccount
        HashMap<String, String> sfdcAcct = (HashMap<String, String>) message.getInvocationProperty(FLOW_VAR_SFDCACCOUNT);
        if(sfdcAcct == null) return null;

        String sfdcAcctId = sfdcAcct.get(SFDCACCOUNT_ID);
        if(StringUtils.isBlank(sfdcAcctId)) return null;

        //Building CustomField Search - SFDC Account Id
        CustomerSearchBasic custBasicSearch = new CustomerSearchBasic();
        SearchCustomFieldList searchCustomFieldList = new SearchCustomFieldList();
        List<SearchCustomField> listOfCustomFields = new ArrayList<SearchCustomField>();

        SearchStringCustomField sfdcAcctIdCustomField = new SearchStringCustomField();
        sfdcAcctIdCustomField.setOperator(SearchStringFieldOperator.IS);
        sfdcAcctIdCustomField.setScriptId(SFDC_ACCOUNT_ID_FIELD);
        sfdcAcctIdCustomField.setSearchValue(sfdcAcctId);

        listOfCustomFields.add(sfdcAcctIdCustomField);
        searchCustomFieldList.setCustomField(listOfCustomFields);
        custBasicSearch.setCustomFieldList(searchCustomFieldList);

        return custBasicSearch;
    }
}
公共类searchnsCustomerBySdCaccountId扩展了AbstractMessageTransformer{
私有最终字符串流\u VAR\u SFDCACCOUNT=“SFDCACCOUNT”;
私有最终字符串SFDCACCOUNT\u ID=“ID”;
私有最终字符串SFDC\u ACCOUNT\u ID\u FIELD=“cusentitysfdc\u ACCOUNT\u ID”;
@凌驾
公共对象transformMessage(多消息消息、字符串输出编码)引发TransformerException{
//检索FlowVar-SFDCAccount
HashMap sfdcAcct=(HashMap)message.getInvocationProperty(FLOW\u VAR\u SFDCACCOUNT);
if(sfdcAcct==null)返回null;
字符串sfdcAcctId=sfdcAcct.get(SFDCACCOUNT\u ID);
if(StringUtils.isBlank(sfdcAcctId))返回null;
//正在生成CustomField搜索-SFDC帐户Id
CustomerSearchBasic custBasicSearch=新CustomerSearchBasic();
SearchCustomFieldList SearchCustomFieldList=新建SearchCustomFieldList();
List-listOfCustomFields=new-ArrayList();
SearchStringCustomField sfdcAcctIdCustomField=新的SearchStringCustomField();
sfdcAcctIdCustomField.setOperator(SearchStringFieldOperator.IS);
setScriptId(SFDC账户ID字段);
设置搜索值(sfdcAcctId);
添加(sfdcAcctIdCustomField);
searchCustomFieldList.setCustomField(listOfCustomFields);
custBasicSearch.setCustomFieldList(searchCustomFieldList);
返回客户基本搜索;
}
}

您用于在生产环境中配置NetSuite API的端点URL是什么


如果是,您可以试试吗?

我正在使用,我注意到还有一个新的2017.1版本。请使用生产凭据获取dataCenterURL。确保您没有在API中传递端点URL,将其保留为空。我可以使用上述URL对生产环境执行许多不同的操作。我不明白为什么它不允许我在自定义字段上执行此搜索。还有别的吗?我试试看。我相信它默认为我上面列出的URL。几周前我也遇到过同样的情况。同一流程中的同一操作用于处理一个自定义记录,但在另一个自定义记录中失败。一旦我获得了该特定帐户ID的datacenterURL,所有接口都开始按预期工作。