登录
首页 >  Golang >  Go问答

SOAP POST 请求

来源:stackoverflow

时间:2024-04-05 12:09:32 433浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《SOAP POST 请求》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我必须使用 go 集成 soap api,

我在没有结构的情况下尝试过的代码 https://gist.github.com/zaynkorai/b612c527f85c43c18fa878ef2a0e4b0e

请求数据示例如下所示,


    
    
        
            
                
                    ${#Project#LicenseID-Retail}
                    ${#Project#SiteID-Retail}
                    ${#Project#DeviceID-Retail}
                    ${#Project#UserName-Retail}
                    ${#Project#Password}
                    ${#Project#SiteTrace}
                    ${#Project#DeveloperID}
                    ${#Project#VersionNbr}
                    ${#Project#ClerkID}
                
                
                    
                        
                            
                                ${#Project#VISA_EMV_TRACK2}
                            
                            25.00
                            Y
                            
                                ${#Project#VISA_EMV_TAGS_ONLINE}
                            
                        
                    
                
            
        
    

正确答案


为 api 创建 go 结构体定义是一个常见问题。 soap wsdl 工件定义了 api,因此可以构建转换工具来将 soap wsdl 转换为 go 结构。

有一些现有工具可以从 soap wsdl 文件自动生成 go 结构,因此您不必像现在一样手动创建它们。下面提供了一些现有工具的信息。如果现有工具不能满足您的需求,代码生成仍然是用于大规模创建结构的方法,但您可能需要考虑增强现有工具或构建自己的工具。

当使用复杂的 api 时,您只需要执行一小组操作,较小的 go 定义可能会更有效地实现。您可以只定义所需的 api 和属性,也可以不创建任何结构并根据您的需要一般性地解析 xml。

github.com/hooklift/gowsdl

这是一个更流行的 cli 工具,拥有 881 个 github star 和以下语法。它还支持 go 模块。

usage: gowsdl [options] myservice.wsdl
  -o string
        file where the generated code will be saved (default "myservice.go")
  -p string
        package under which code will be generated (default "myservice")
  -i    skips tls verification
  -v    shows gowsdl version

项目仓库:https://github.com/hooklift/gowsdl

github.com/fiorix/wsdl2go

这是一个备用 cli 工具,具有 402 个 github 星和以下语法。它尚未更新为 go modules,并使用 dep 进行依赖管理。

Usage: wsdl2go < file.wsdl > hello.go

项目仓库:https://github.com/fiorix/wsdl2go

github.com/droyo/go-xml

该工具有 224 个 github star,并使用 go 模块。

作者写道:

项目仓库:https://github.com/droyo/go-xml

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《SOAP POST 请求》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>