<br><b>Code</b>: rsb:print<br><b>Error</b>: Formatter [ extraconnectionnotes ] failed in the evaluation of <p>??????(<a href="https://www.collabo-style.co.jp/">www.collabo-style.co.jp/</a> )???????????????????????????????????????????????JavaScript????????????REST API????????????????????????????????????????[service] ????CData API Server ?????????????????????????????????Lookup ?????????????????????????????</p> <h2>API Server ???</h2> <p>??????????????? REST API ????????????</p> <h3>????</h3> <p>API Server ?????????????Windows ???????????????????????????IIS ??????????????????Java ????Java servlet ?????API Server ?WAR ??????????? ???????????????????????API Server ? <a href="/kb/articles/odata-azure.rst">Microsoft Azure</a>? <a href="/kb/articles/odata-amazon.rst">Amazon EC2</a>?<a href="/kb/articles/odata-heroku.rst">Heroku</a> ??????????KB ?????????</p> <h3>[service] ????</h3> <ul> <li>API Server ?????????[??]?[??]??????????????</li> <img src="../articles/apiserver-collaboflow-1.png" title="CollaboFlow" width="600" /> <li>[service] ????????????API Server ????????????API Server ?Java ?????<a href="[x|UrlRoot]/jdbc/">JDBC Drivers</a>?API Server ?Windows ?????<a href="[x|UrlRoot]/ado/">ADO.NET Data Providers</a>??[service] ??????API Server ????????????????API Server ????????</li> <li>[service] ??????????????????????????????????????????????</li> <li>[extraconnectionnotes]</li> <img src="../articles/apiserver-collaboflow-2.png" title="CollaboFlow" width="600" /> <li>???????[??]?[????]????????????REST API ????????????????????</li> <img src="../articles/apiserver-collaboflow-3.png" title="CollaboFlow" width="600" /> </ul> <h3>API Server ???????</h3> <p>[??]?[????]??API ???????????????????????API Server ???????????????????? IP ?????API ????????????????????????????????????????????????????SSL ?????????</p> <img src="../articles/apiserver-collaboflow-4.png" title="CollaboFlow" width="600" /> <h2>????????[service] ????????</h2> <h3>????????API Server ????????JavaScript ???</h3> <p>????????????API Server ?????JavaScript???????</p> <code> (function () { 'use strict'; // Setting Propeties const AutocompleteSetting = { // Autocomplete target field for Collaboflow InputName: 'fid0', // Collaboflow item detils line number ListRowNumber : 15, // Autocomplete tartget field for API Server ApiListupFiledColumn : '[rootadoname|tolower]_column', // Key Column Name for API Server resource ApiListupKeyColumn : '[rootadoname|tolower]_keycolumn', // Mapping between Collaboflow field and API Server column Mappings: \[ { PartsName: 'fid1', // Collabo flow field name APIName: '[rootadoname|tolower]_column1' // API Server column name }, { PartsName: 'fid2', APIName: '[rootadoname|tolower]_column2' }, { PartsName: 'fid3', APIName: '[rootadoname|tolower]_column3' }, { PartsName: 'fid4', APIName: '[rootadoname|tolower]_column4' } \] }; const CDataAPIServerSetting = { // API Server URL ApiServerUrl : 'http://XXXXXX', // API Server Resource Name ApiServerResourceName : '[rootadoname|tolower]_table', // API Server Key Headers : { Authorization: 'Basic YOUR_BASIC_AUTHENTICATION' }, // General Properties ParseType : 'json', get BaseUrl() { return CDataAPIServerSetting.ApiServerUrl + '/api.rsc/' + CDataAPIServerSetting.ApiServerResourceName } } let results = \[\]; let records = \[\]; // Set autocomplete processing for target input field collaboflow.events.on('request.input.show', function (data) { for (let index = 1; index < AutocompleteSetting.ListRowNumber; index++) { $('#' + AutocompleteSetting.InputName + '_' + index).autocomplete({ source: AutocompleteDelegete, autoFocus: true, delay: 500, minLength: 2 }); } }); // This function get details from API Server, Then set values at each input fields based on mappings object. collaboflow.events.on('request.input.' + AutocompleteSetting.InputName + '.change', function (eventData) { debugger; let tartgetParts = eventData.parts.tbl_1.value\[eventData.row_index - 1\]; let keyId = tartgetParts\[AutocompleteSetting.InputName\].value.split(':')\[1\; let record = records.find(x => x\[AutocompleteSetting.ApiListupKeyColumn\] == keyId); if (!record) return; AutocompleteSetting.Mappings.forEach(x => tartgetParts\[x.PartsName\].value = ''); AutocompleteSetting.Mappings.forEach(x => tartgetParts\[x.PartsName\].value = record\[x.APIName\]); }); function AutocompleteDelegete(req, res) { let topParam = '&$top=10' let queryParam = '$filter=contains(' + AutocompleteSetting.ApiListupFiledColumn + ',\'' + encodeURIComponent(req.term) + '\')'; collaboflow.proxy.get( CDataAPIServerSetting.BaseUrl + '?' + queryParam + topParam, CDataAPIServerSetting.Headers, CDataAPIServerSetting.ParseType).then(function (response) { results = \[\]; records = \[\]; if (response.body.value.length == 0) { results.push('No Results') res(results); return; } records = response.body.value; records.forEach(x => results.push(x\[AutocompleteSetting.ApiListupFiledColumn\] + ':' + x\[AutocompleteSetting.ApiListupKeyColumn\])); res(results); }).catch(function (error) { alert(error); }); } })(); </code> <ul> <li>?CDataAPIServerSetting??????????????????SSH Server?URL?API Server???????????????????</li> <li>?AutocompleteSetting??????????????????????????? ????????API???????????????????</li> <li>???Collaboflow?????????????????????12a.???·???????????????????????????????Product?????Name??????Autocomplete???????????????????????Key???ProductID????????????????????????????API????????????????????????</li> </ul> <h3>????????JavaScript???</h3> <p>JavaScript??????????????????????????</p> <ul> <li>???????????????????????????????????</li> <img src="../articles/apiserver-collaboflow-5.png" title="CollaboFlow" width="600" /> <li>???????????????????????</li> <img src="../articles/apiserver-collaboflow-6.png" title="CollaboFlow" width="600" /> <li>???????????????????????????????????????????????JS???????????????????</li> <img src="../articles/apiserver-collaboflow-7.png" title="CollaboFlow" width="600" /> <li>???API Server ???[service] ?????????????????????????????????????????</li> </ul> <h2>????30???????????</h2> <p>????? [service] ???????????????????????????????CData API Server ??<a href="https://www.cdata.com/jp/apiserver/">30???????</a>???????????????????????????????????????</p>. The error was: The value of the attribute could not be accessed: The attribute does not exist.<br><b>URL</b>: /jp/kb/tech/adp-apiserver-collaboflow.rst