/gowsdl

WSDL2Go code generation as well as its SOAP proxy

Primary LanguageGoMozilla Public License 2.0MPL-2.0

WSDL to Go

Gitter GoDoc Build Status

Generates Go code from a WSDL file.

Install

  • Download binary release
  • Download and build locally: go get github.com/hooklift/gowsdl/...
  • Install from Homebrew: brew install gowsdl

Goals

  • Generate idiomatic Go code as much as possible

  • Support only Document/Literal wrapped services, which are WS-I compliant

  • Support:

    • WSDL 1.1
    • XML Schema 1.0
    • SOAP 1.1
    • SOAP 1.2
  • Resolve external XML Schemas

  • Support external and local WSDL

Caveats

  • Please keep in mind that the generated code is just a reflection of what the WSDL is like. If your WSDL has duplicated type definitions, your Go code is going to have the same and may not compile.

Usage

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  
  -sv   "1.1" or "1.2", SOPA version
client := soap.NewClient(
  	"url.....",
  	soap.WithTimeout(time.Second*5),
  	// soap.WithTLS(&tls.Config{InsecureSkipVerify: true}),
  	soap.WithHTTPClient(http.DefaultClient),
  	soap.WithSoapVersion("1.2"), //soap version
  	soap.WithDebug(true), //if debug is true, will log xml mesage.
  )