使用外部web服务为欧盟的增值税号码验证

彼得•希尔顿|写的4分钟阅读

如何使用欧盟委员会(European Commission)的增值税号码验证SOAP web服务从Signavio过程治理

金融工作流处理公司的增值税号码,这往往是一种常见的错误,当输入不正确。帮助防止这种欧盟委员会(European Commission)提供了一个在线服务增值税号码验证。这篇文章向爱游戏ayx双赢彩票您展示了如何使用此服务自动增值税号码验证使用Signavio流程治理。

增值税号码验证子流程操作

当你实现一个集成,使它成为一个最小的独立过程,只是一件事,所以你可以从其他进程通过重用子流程的任务。例如,这是如何配置一个“验证欧盟增值税税号”子流程,给客户国家代码和增值税号码字段:

子进程的输出将是一个“增值税税号有效吗?(是/否)字段表明增值税号码是否有效:

子流程操作配置——输出

建立这个,我们需要创建“欧盟增值税税号验证”的过程,将执行增值税号码验证。

验证子流程配置

“欧盟验证增值税税号”过程的目标是表明一个欧洲增值税税号是有效的。为此,添加一个JavaScript操作调用在线验证服务。

与两个字段添加一个触发表单:

  1. “国家代码”(文本)——一个ISO 3166 - 1α2国家代码”
  2. “增值税税号”(文本)——增值税的部分识别号码后,国家代码:8 - 10位数对大多数欧盟国家的增值税号码

JavaScript操作将使用这两个字段作为输入数据来查询验证服务。

验证web服务

欧盟委员会(European Commission)的增值税号码验证服务是一个基于soap的web服务。它的面向服务的API使用XML消息,通过HTTP发送。

叫一个SOAP服务,您发送一个XML请求服务的端点URL的HTTP POST请求。XML请求将包含国家代码和增值税税号参数。HTTP响应是一个XML消息,将包括“真”或“假”来表示数量是否“有效”。

从JavaScript调用SOAP web服务操作

验证增值税税号的JavaScript行动将执行几个步骤。

  1. 验证国家代码
  2. 构建SOAP请求的XML消息,使用输入变量
  3. 发送请求
  4. 解析接收到的响应XML
  5. 根据结果更新输出变量的XML

配置JavaScript操作使用两种触发表单字段(上图),和一个新领域的结果:

  • “有效吗?”(Yes / No)——增值税号码验证结果

现在添加以下JavaScript代码,这是基于validate-vat库(https://github.com/viruschidai/validate-vat/)。

const =需要转换(xml-js)如果(!(countryCode & & vATNumber)){控制台。日志(“错误:国家代码或增值税税号不指定)返回}const国家=[‘在’,‘是’,“BG”,“人力资源”,“CY”、“CZ”,“DK”,“情感表达”,“FI”,“FR”、“德”、“EL”,“胡”,“即”,“它”,“LV”、“LT”,“陆”,“太”、“问”、“PL”,“PT”,“罗”,“SK”,“如果”,“西文”,“本身”,' g ']如果(! _。包括(国家,countryCode.toUpperCase())){控制台。日志(“错误:无效的国家代码”)返回}const soapRequest = ' < soap:信封xmlns: soap = "http://schemas.xmlsoap.org/soap/envelope/”xmlns: tns1 = " urn: ec.europa。欧盟:taxud: vie:服务:checkVat:类型" xmlns: impl = " urn: ec.europa。欧盟:taxud: vie:服务:checkVat " > < soap: Header > < / soap: Header > < soap:身体> < tns1: checkVat xmlns: tns1 = " urn: ec.europa。欧盟:taxud: vie:服务:checkVat:类型" xmlns = " urn: ec.europa。欧盟:taxud: vie:服务:checkVat:类型”> < tns1: countryCode > $ {countryCode} < / tns1: countryCode > < tns1: vatNumber > $ {vatNumber} < / tns1: vatNumber > < / tns1: checkVat > < / soap:身体> < / soap:信封>‘const url = http://ec.europa。欧盟/ taxation_customs /竞争/服务/ checkVatService‘const选项= {url: url、身体:soapRequest}请求。帖子(选项,函数(误差、响应体){如果(响应。statusCode ! = 200) {console.log(身体)返回}const错=结果(“soap:信封”)(“soap:身体”)(“soap: fault”)如果(断层){console.log (fault.faultstring._text)返回}const =转换结果。xml2js(身体,{紧凑:真})const checkVatResponse =结果(“soap:信封”)(“soap:身体”)。= (checkVatResponse.valid checkVatResponse有效。_text = = '真的')})

使用测试脚本,测试运行器使用一个有效的增值税号码,如265675123。测试运行器的变量更新表应该显示的更新值的有效变量是“真正的”。

现在,您可以使用另一个流程的子流程操作执行增值税号码验证,如上所示。

廉租敏捷应用程序集成

开放标准、公共web服务和基于javascript的集成所有降低集成成本的工作流程与外部系统,相比传统的企业应用集成。以及使用公共web服务,您可以开发自己的,所以你可以将你的工作流集成组织自己的系统。

你可以开始使用Signavio流程治理没有这种集成,重点协调人工任务。然而,一旦你有一个精简但手动过程,然后,您可以使用内置的JavaScript逐步集成工作流和集成的自动化部分与外部系统的数据。这是现代敏捷应用程序集成是如何工作的。

使用Signavio流程治理自动化工作流,验证您的增值税号码和整合一切,注册一个天的免费试用今天。

发表于:2018年4月19日—最后修改:11月13日,2020年