显示导航

365bet地区365bet地区 SOAP

365bet地区了解如何从365bet地区应用程序使用SOAP端点

s塞尔吉奥·德尔阿莫

365bet地区版本 3.3.1

帮助365bet地区

365bet地区培训由创建并积极维护365bet地区框架的人们开发和交付

入门

365bet地区在本指南中,您将使用365bet地区应用程序中的SOAP Web服务

您将需要什么

要完成本指南,您将需要以下内容

  • 花些时间在你手上

  • 体面的文本编辑器或IDE

  • 安装了JDK或更高版本JAVA首页适当配置

如何完成指南

要开始,请执行以下操作

要么

365bet地区指南存储库包含两个文件夹

  • 初始初始项目通常是一个简单的365bet地区应用程序,其中包含一些其他代码,可以帮助您快速入门

  • 完成一个完整的示例它是按照指南中介绍的步骤进行操作并将这些更改应用于文档的结果。初始

要完成指南,请转到初始

  • 光盘进入grails指南grails肥皂初始

并按照下一节中的说明进行操作

您可以直接前往完成的例子如果你光盘进入grails指南grails肥皂完成

编写申请

生活增值税信息交换系统是验证在欧盟注册的商品或服务跨境交易的经济运营商的增值税标识号的电子方式

例如,如果您在欧盟创建了一个电子商务Web应用程序,则需要检查购买者的增值税号的有效性才能创建正确的发票

为了使验证检查自动化,EU不提供REST端点,而是提供SOAP服务可以获取其WSDL文件。这里.

肥皂最初的简单对象访问协议是一种协议规范,用于在计算机网络中实施Web服务时交换结构化信息,其目的是引起可扩展性中立性和独立性

SOAP库

为了使用SOAP Web服务,我们使用groovy wsliteGroovy的库,不提供任何功能的SOAP和REST Web服务客户端

精英依赖

建立gradle
编译'com github groovy wslite groovy wslite'

365bet地区我们将SOAP代码封装在365bet地区服务中

grails应用程序服务演示VatService groovy
演示进口 常规转换CompileDynamic
进口 常规转换CompileStatic
进口 wslite soap SOAPClient
进口 wslite soap SOAPResponse

静态编译
 VatService {
    网址'http ec europa eu税收海关服务服务checkVatService'SOAPClient客户端SOAPClient"${网址}wsdl")

    动态编译
    布尔型validateVatmemberStateCodevatNumberCode SOAPResponse响应客户端发送SOAP动作网址正文'xmlns': 'urn ec europa eu taxud生活服务支票增值税类型'checkVat countryCode memberStateCode vatNumber vatNumberCode响应checkVatResponse有效文本'真正'
    }
}
src测试groovy演示VatServiceSpec groovy
演示进口 免费测试服务ServiceUnitTest
进口 spock lang规格
进口 spock lang展开

 VatServiceSpec 延伸规格实施ServiceUnitTest {

    展开
    定义 "会员国增值税号展开说明"(会员国水赭布尔型预期展开说明期望预期服务验证增值税成员国增值税编号哪里成员国增值税号''        | '' || 真正
        ''        | '' || 真正
        ''        | 'XXXXXXXXX' || 预计描述'已验证' : '无效的'
    }
}

国别

最好将我们要支持的国家/地区封装在配置文件中

这样一来,如果一个国家离开欧盟(例如英国),这是我们应用程序中的一项轻松更改

添加国家列表yml应用程序

grails应用配置会议应用yml
:
    国家:
        -
            : 
            那么: 奥地利
        -
            : 
            那么: 比利时
        -
            : BG
            那么: 保加利亚
        -
            : CY
            那么: 塞浦路斯
        -
            : LOT
            那么: 捷克共和国
        -
            : D E
            那么: 德国
        -
            : DK
            那么: 丹麦
        -
            : 是的
            那么: 爱沙尼亚
        -
            : THE
            那么: 希腊
        -
            : 
            那么: 西班牙
        -
            : BE
            那么: 芬兰
        -
            : FR
            那么: 法国
        -
            : 国标
            那么: 英国
        -
            : 人力资源
            那么: 克罗地亚
        -
            : hu
            那么: 匈牙利
        -
            : IE浏览器
            那么: 爱尔兰
        -
            : 
            那么: 意大利
        -
            : LT
            那么: 立陶宛
        -
            : l U
            那么: 卢森堡
        -
            : 左心室
            那么: 拉脱维亚
        -
            : 公吨
            那么: 马耳他
        -
            : NL
            那么: 荷兰人
        -
            : PL
            那么: 波兰
        -
            : PT
            那么: 葡萄牙
        -
            : RO
            那么: 罗马尼亚
        -
            : 东南
            那么: 瑞典
        -
            : SI
            那么: 斯洛文尼亚
        -
            : SK
            那么: 斯洛伐克

创建一个POGO

src main groovy演示国家groovy
演示进口 常规转换CompileStatic

静态编译
 国家 {
    那么

365bet地区阅读365bet地区服务中的国家

grails应用服务演示CountryService groovy
演示进口 grails config配置
进口 grails核心支持365bet地区ConfigurationAware
进口 常规转换CompileStatic

静态编译
 国家服务 实施365bet地区ConfigurationAware清单国家[]  清单

    覆写
    虚空setConfiguration Config co清单<地图l co getProperty'欧盟国家', 清单)
        对于 ( 地图m个国家国家那么我得到'那么')  , 我得到'')  )
        }
    }

    清单查找所有国家

控制器和视图

该应用程序允许用户提交表格并检查增值税号对于特定州是否有效

我们将请求封装在命令对象中

grails应用程序控制器演示VatCommand groovy
演示进口 grails验证有效

 VatCommand 实施有效期水赭静态的约束代码可为空: 水赭可为空: 
    }
}

创建一个VatController处理请求与先前引入的服务协作,并通过生成响应消息或错误

grails应用程序控制器演示VatController groovy
演示进口 常规转换CompileStatic
进口 org springframework上下文MessageSource

静态编译
 VatController {

    静态的allowedMethods指数: '得到', 验证: '得到'VatService vatService CountryService countryService MessageSource messageSource定义 指数() {
        [国家countryService查找全部定义 验证VatCommand cmd如果cmd hasErrors渲染视图: '指数', 模型: [指令指令国家countryService查找全部返回
        }
        布尔值isValid增值税服务验证增值税cmd代码cmd增值税号如果isValid Flash消息messageSource getMessage'增值税有效'cmd代码cmd增值税号 宾语[],
                    "${cmd代码} : ${cmd增值税号}已验证"请求语言环境其他Flash错误消息源getMessage'增值税有效'cmd代码cmd增值税号 宾语[],
                    "${cmd代码} : ${cmd增值税号}无效"请求区域设置渲染视图: '指数', 模型: [指令指令国家countryService查找全部

创建一个GSP来呈现表单并呈现消息或错误

grails应用查看增值税索引gsp