forked from notzippy/gowsdl
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdoc.go
More file actions
71 lines (43 loc) · 1.64 KB
/
Copy pathdoc.go
File metadata and controls
71 lines (43 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
/*
Gowsdl generates Go code from a WSDL file.
This project is originally intended to generate Go clients for WS-* services.
Usage:
gowsdl [OPTIONS]
Application Options:
-v, --version
Shows gowsdl version
-p, --package=myservice
Package under which code will be generated
-o, --output=myservice.go
File where the generated code will be saved
-i, --ignore-tls
Ignores invalid TLS certificates. It is not recomended for production.
Use at your own risk.
Help Options:
-h, --help
Show this help message
Features
Supports only Document/Literal wrapped services, which are WS-I (http://ws-i.org/) compliant.
Attempts to generate idiomatic Go code as much as possible.
Generates Go code in parallel: types, operations and soap proxy.
Supports WSDL 1.1, XML Schema 1.0, SOAP 1.1.
Resolves external XML Schemas recursively, up to 5 recursions.
Supports providing WSDL HTTP URL as well as a local WSDL file.
Not supported
Setting SOAP headers.
SOAP 1.2 and HTTP port bindings.
WS-Security.
WS-Addressing.
MTOM binary attachments.
UDDI.
TODO
Add support for filters to allow the user to change the generated code.
If WSDL file is local, resolve external XML schemas locally too instead of failing due to not having a URL to download them from.
Resolve XSD element references.
Support for generating namespaces.
Make code generation agnostic so generating code to other programming languages is feasible through plugins.
*/
package main