// Get Info via Corporate Number API v1 (ver. 20161102)
// (c) 2016, Questetra, Inc. (the MIT License)
//// == 工程コンフィグの参照 / Config Retrieving ==
var appId = configs.get( "conf_AppId" );
var dataIdB = configs.get( "conf_DataIdB" ); // (returns Number)
var dataIdC = configs.get( "conf_DataIdC" ); // (returns Number)
var dataIdD = configs.get( "conf_DataIdD" ) + "";
var dataIdE = configs.get( "conf_DataIdE" ) + "";
var dataIdX = configs.get( "conf_DataIdX" ) + "";
//// == ワークフローデータの参照 / Data Retrieving ==
var corporateNumber = "";
if( data.get( dataIdB ) instanceof java.util.ArrayList ){
corporateNumber = data.get( dataIdB ).get(0).getValue() + "";
}else if( data.get( dataIdB ) instanceof java.lang.String ){
corporateNumber = data.get( dataIdB ) + "";
}
//// == 演算 / Calculating ==
var accessLog = "";
var uri = "https://api.houjin-bangou.nta.go.jp/1/num";
var response = httpClient.begin()
.queryParam( "id", appId )
.queryParam( "number", corporateNumber )
.queryParam( "type", 12 ) // Response Format: XML
.queryParam( "history", 0 )
.get( uri );
accessLog += "---GET request--- " + response.getStatusCode() + "\n";
accessLog += response.getResponseAsString() + "";
var responseXml = response.getResponseAsString() + "";
responseXml = responseXml.replace(/^<\?xml\s+version\s*=\s*(["'])[^\1]+\1[^?]*\?>/, "");
// E4X (ECMAScript for XML) bug 336551
var xmlObj = new XML( responseXml );
var responseName = xmlObj.corporation[0].name + "";
var responsePostCode = xmlObj.corporation[0].postCode + "";
var responseAddress = xmlObj.corporation[0].prefectureName + "";
responseAddress += xmlObj.corporation[0].cityName + "";
responseAddress += xmlObj.corporation[0].streetNumber + "";
//// == ワークフローデータへの代入 / Data Updating ==
retVal.put( dataIdC, responseName );
if( dataIdD !== "" ){
retVal.put( dataIdD, responsePostCode );
}
if( dataIdE !== "" ){
retVal.put( dataIdE, responseAddress );
}
if( dataIdX !== "" ){
retVal.put( dataIdX, accessLog );
}