twinfieldrb 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/codeql-analysis.yml +70 -0
  3. data/.github/workflows/rspec.yml +33 -0
  4. data/.gitignore +6 -0
  5. data/.rspec +1 -0
  6. data/CHANGELOG.md +15 -0
  7. data/Gemfile +4 -0
  8. data/README.md +120 -0
  9. data/Rakefile +1 -0
  10. data/lib/twinfield/abstract_model.rb +7 -0
  11. data/lib/twinfield/api/base_api.rb +50 -0
  12. data/lib/twinfield/api/finder.rb +45 -0
  13. data/lib/twinfield/api/o_auth_session.rb +58 -0
  14. data/lib/twinfield/api/process.rb +44 -0
  15. data/lib/twinfield/api/session.rb +170 -0
  16. data/lib/twinfield/browse/transaction/cost_center.rb +145 -0
  17. data/lib/twinfield/browse/transaction/customer.rb +413 -0
  18. data/lib/twinfield/browse/transaction/general_ledger.rb +144 -0
  19. data/lib/twinfield/configuration.rb +49 -0
  20. data/lib/twinfield/create/cost_center.rb +39 -0
  21. data/lib/twinfield/create/creditor.rb +88 -0
  22. data/lib/twinfield/create/debtor.rb +88 -0
  23. data/lib/twinfield/create/error.rb +30 -0
  24. data/lib/twinfield/create/general_ledger.rb +39 -0
  25. data/lib/twinfield/create/transaction.rb +97 -0
  26. data/lib/twinfield/customer.rb +612 -0
  27. data/lib/twinfield/helpers/parsers.rb +23 -0
  28. data/lib/twinfield/helpers/transaction_match.rb +40 -0
  29. data/lib/twinfield/request/find.rb +149 -0
  30. data/lib/twinfield/request/list.rb +66 -0
  31. data/lib/twinfield/request/read.rb +111 -0
  32. data/lib/twinfield/sales_invoice.rb +409 -0
  33. data/lib/twinfield/transaction.rb +112 -0
  34. data/lib/twinfield/version.rb +5 -0
  35. data/lib/twinfield.rb +89 -0
  36. data/script/boot.rb +58 -0
  37. data/script/console +2 -0
  38. data/spec/fixtures/cluster/finder/ivt.xml +1 -0
  39. data/spec/fixtures/cluster/processxml/columns/sales_transactions.xml +312 -0
  40. data/spec/fixtures/cluster/processxml/customer/create_success.xml +100 -0
  41. data/spec/fixtures/cluster/processxml/customer/read_success.xml +93 -0
  42. data/spec/fixtures/cluster/processxml/customer/update_success.xml +1 -0
  43. data/spec/fixtures/cluster/processxml/invoice/create_error.xml +8 -0
  44. data/spec/fixtures/cluster/processxml/invoice/create_final_error.xml +67 -0
  45. data/spec/fixtures/cluster/processxml/invoice/create_success.xml +64 -0
  46. data/spec/fixtures/cluster/processxml/invoice/read_not_found.xml +1 -0
  47. data/spec/fixtures/cluster/processxml/invoice/read_success.xml +106 -0
  48. data/spec/fixtures/cluster/processxml/read/deb.xml +12 -0
  49. data/spec/fixtures/cluster/processxml/response.xml +8 -0
  50. data/spec/fixtures/login/session/wsdl.xml +210 -0
  51. data/spec/spec_helper.rb +17 -0
  52. data/spec/stubs/finder_stubs.rb +19 -0
  53. data/spec/stubs/processxml_stubs.rb +41 -0
  54. data/spec/stubs/session_stubs.rb +28 -0
  55. data/spec/twinfield/api/oauth_session_spec.rb +37 -0
  56. data/spec/twinfield/api/process_spec.rb +7 -0
  57. data/spec/twinfield/browse/transaction/cost_center_spec.rb +60 -0
  58. data/spec/twinfield/browse/transaction/general_ledger_spec.rb +60 -0
  59. data/spec/twinfield/browse/transaction/transaction_spec.rb +72 -0
  60. data/spec/twinfield/config_spec.rb +60 -0
  61. data/spec/twinfield/customer_spec.rb +326 -0
  62. data/spec/twinfield/request/find_spec.rb +24 -0
  63. data/spec/twinfield/request/list_spec.rb +58 -0
  64. data/spec/twinfield/request/read_spec.rb +26 -0
  65. data/spec/twinfield/sales_invoice_spec.rb +253 -0
  66. data/spec/twinfield/session_spec.rb +77 -0
  67. data/spec/twinfield/transaction_spec.rb +149 -0
  68. data/twinfieldrb.gemspec +24 -0
  69. data/wsdls/accounting/finder.wsdl +157 -0
  70. data/wsdls/accounting/process.wsdl +199 -0
  71. data/wsdls/accounting/session.wsdl +452 -0
  72. data/wsdls/accounting2/finder.wsdl +157 -0
  73. data/wsdls/accounting2/process.wsdl +199 -0
  74. data/wsdls/api.accounting/finder.wsdl +157 -0
  75. data/wsdls/api.accounting/process.wsdl +199 -0
  76. data/wsdls/session.wsdl +210 -0
  77. data/wsdls/update +10 -0
  78. metadata +196 -0
@@ -0,0 +1,199 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.twinfield.com/" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.twinfield.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
3
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Twinfield Process XML web service methods.</wsdl:documentation>
4
+ <wsdl:types>
5
+ <s:schema elementFormDefault="qualified" targetNamespace="http://www.twinfield.com/">
6
+ <s:import namespace="http://microsoft.com/wsdl/types/" />
7
+ <s:element name="ProcessXmlString">
8
+ <s:complexType>
9
+ <s:sequence>
10
+ <s:element minOccurs="0" maxOccurs="1" name="xmlRequest" type="s:string" />
11
+ </s:sequence>
12
+ </s:complexType>
13
+ </s:element>
14
+ <s:element name="ProcessXmlStringResponse">
15
+ <s:complexType>
16
+ <s:sequence>
17
+ <s:element minOccurs="0" maxOccurs="1" name="ProcessXmlStringResult" type="s:string" />
18
+ </s:sequence>
19
+ </s:complexType>
20
+ </s:element>
21
+ <s:element name="Header" type="tns:Header" />
22
+ <s:complexType name="Header">
23
+ <s:sequence>
24
+ <s:element minOccurs="0" maxOccurs="1" name="SessionID" type="s:string" />
25
+ <s:element minOccurs="0" maxOccurs="1" name="AccessToken" type="s:string" />
26
+ <s:element minOccurs="0" maxOccurs="1" name="CompanyCode" type="s:string" />
27
+ <s:element minOccurs="1" maxOccurs="1" name="CompanyId" nillable="true" type="s1:guid" />
28
+ </s:sequence>
29
+ <s:anyAttribute />
30
+ </s:complexType>
31
+ <s:element name="ProcessXmlDocument">
32
+ <s:complexType>
33
+ <s:sequence>
34
+ <s:element minOccurs="0" maxOccurs="1" name="xmlRequest">
35
+ <s:complexType mixed="true">
36
+ <s:sequence>
37
+ <s:any />
38
+ </s:sequence>
39
+ </s:complexType>
40
+ </s:element>
41
+ </s:sequence>
42
+ </s:complexType>
43
+ </s:element>
44
+ <s:element name="ProcessXmlDocumentResponse">
45
+ <s:complexType>
46
+ <s:sequence>
47
+ <s:element minOccurs="0" maxOccurs="1" name="ProcessXmlDocumentResult">
48
+ <s:complexType mixed="true">
49
+ <s:sequence>
50
+ <s:any />
51
+ </s:sequence>
52
+ </s:complexType>
53
+ </s:element>
54
+ </s:sequence>
55
+ </s:complexType>
56
+ </s:element>
57
+ <s:element name="ProcessXmlCompressed">
58
+ <s:complexType>
59
+ <s:sequence>
60
+ <s:element minOccurs="0" maxOccurs="1" name="xmlRequest" type="s:base64Binary" />
61
+ </s:sequence>
62
+ </s:complexType>
63
+ </s:element>
64
+ <s:element name="ProcessXmlCompressedResponse">
65
+ <s:complexType>
66
+ <s:sequence>
67
+ <s:element minOccurs="0" maxOccurs="1" name="ProcessXmlCompressedResult" type="s:base64Binary" />
68
+ </s:sequence>
69
+ </s:complexType>
70
+ </s:element>
71
+ </s:schema>
72
+ <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
73
+ <s:simpleType name="guid">
74
+ <s:restriction base="s:string">
75
+ <s:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
76
+ </s:restriction>
77
+ </s:simpleType>
78
+ </s:schema>
79
+ </wsdl:types>
80
+ <wsdl:message name="ProcessXmlStringSoapIn">
81
+ <wsdl:part name="parameters" element="tns:ProcessXmlString" />
82
+ </wsdl:message>
83
+ <wsdl:message name="ProcessXmlStringSoapOut">
84
+ <wsdl:part name="parameters" element="tns:ProcessXmlStringResponse" />
85
+ </wsdl:message>
86
+ <wsdl:message name="ProcessXmlStringHeader">
87
+ <wsdl:part name="Header" element="tns:Header" />
88
+ </wsdl:message>
89
+ <wsdl:message name="ProcessXmlDocumentSoapIn">
90
+ <wsdl:part name="parameters" element="tns:ProcessXmlDocument" />
91
+ </wsdl:message>
92
+ <wsdl:message name="ProcessXmlDocumentSoapOut">
93
+ <wsdl:part name="parameters" element="tns:ProcessXmlDocumentResponse" />
94
+ </wsdl:message>
95
+ <wsdl:message name="ProcessXmlDocumentHeader">
96
+ <wsdl:part name="Header" element="tns:Header" />
97
+ </wsdl:message>
98
+ <wsdl:message name="ProcessXmlCompressedSoapIn">
99
+ <wsdl:part name="parameters" element="tns:ProcessXmlCompressed" />
100
+ </wsdl:message>
101
+ <wsdl:message name="ProcessXmlCompressedSoapOut">
102
+ <wsdl:part name="parameters" element="tns:ProcessXmlCompressedResponse" />
103
+ </wsdl:message>
104
+ <wsdl:message name="ProcessXmlCompressedHeader">
105
+ <wsdl:part name="Header" element="tns:Header" />
106
+ </wsdl:message>
107
+ <wsdl:portType name="ProcessXmlSoap">
108
+ <wsdl:operation name="ProcessXmlString">
109
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Processes xml in string format.</wsdl:documentation>
110
+ <wsdl:input message="tns:ProcessXmlStringSoapIn" />
111
+ <wsdl:output message="tns:ProcessXmlStringSoapOut" />
112
+ </wsdl:operation>
113
+ <wsdl:operation name="ProcessXmlDocument">
114
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Processes xml in document object model format.</wsdl:documentation>
115
+ <wsdl:input message="tns:ProcessXmlDocumentSoapIn" />
116
+ <wsdl:output message="tns:ProcessXmlDocumentSoapOut" />
117
+ </wsdl:operation>
118
+ <wsdl:operation name="ProcessXmlCompressed">
119
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Processes a G-zipped UTF-8 XML string and returns a G-zipped UTF-8 result.</wsdl:documentation>
120
+ <wsdl:input message="tns:ProcessXmlCompressedSoapIn" />
121
+ <wsdl:output message="tns:ProcessXmlCompressedSoapOut" />
122
+ </wsdl:operation>
123
+ </wsdl:portType>
124
+ <wsdl:binding name="ProcessXmlSoap" type="tns:ProcessXmlSoap">
125
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
126
+ <wsdl:operation name="ProcessXmlString">
127
+ <soap:operation soapAction="http://www.twinfield.com/ProcessXmlString" style="document" />
128
+ <wsdl:input>
129
+ <soap:body use="literal" />
130
+ <soap:header message="tns:ProcessXmlStringHeader" part="Header" use="literal" />
131
+ </wsdl:input>
132
+ <wsdl:output>
133
+ <soap:body use="literal" />
134
+ </wsdl:output>
135
+ </wsdl:operation>
136
+ <wsdl:operation name="ProcessXmlDocument">
137
+ <soap:operation soapAction="http://www.twinfield.com/ProcessXmlDocument" style="document" />
138
+ <wsdl:input>
139
+ <soap:body use="literal" />
140
+ <soap:header message="tns:ProcessXmlDocumentHeader" part="Header" use="literal" />
141
+ </wsdl:input>
142
+ <wsdl:output>
143
+ <soap:body use="literal" />
144
+ </wsdl:output>
145
+ </wsdl:operation>
146
+ <wsdl:operation name="ProcessXmlCompressed">
147
+ <soap:operation soapAction="http://www.twinfield.com/ProcessXmlCompressed" style="document" />
148
+ <wsdl:input>
149
+ <soap:body use="literal" />
150
+ <soap:header message="tns:ProcessXmlCompressedHeader" part="Header" use="literal" />
151
+ </wsdl:input>
152
+ <wsdl:output>
153
+ <soap:body use="literal" />
154
+ </wsdl:output>
155
+ </wsdl:operation>
156
+ </wsdl:binding>
157
+ <wsdl:binding name="ProcessXmlSoap12" type="tns:ProcessXmlSoap">
158
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
159
+ <wsdl:operation name="ProcessXmlString">
160
+ <soap12:operation soapAction="http://www.twinfield.com/ProcessXmlString" style="document" />
161
+ <wsdl:input>
162
+ <soap12:body use="literal" />
163
+ <soap12:header message="tns:ProcessXmlStringHeader" part="Header" use="literal" />
164
+ </wsdl:input>
165
+ <wsdl:output>
166
+ <soap12:body use="literal" />
167
+ </wsdl:output>
168
+ </wsdl:operation>
169
+ <wsdl:operation name="ProcessXmlDocument">
170
+ <soap12:operation soapAction="http://www.twinfield.com/ProcessXmlDocument" style="document" />
171
+ <wsdl:input>
172
+ <soap12:body use="literal" />
173
+ <soap12:header message="tns:ProcessXmlDocumentHeader" part="Header" use="literal" />
174
+ </wsdl:input>
175
+ <wsdl:output>
176
+ <soap12:body use="literal" />
177
+ </wsdl:output>
178
+ </wsdl:operation>
179
+ <wsdl:operation name="ProcessXmlCompressed">
180
+ <soap12:operation soapAction="http://www.twinfield.com/ProcessXmlCompressed" style="document" />
181
+ <wsdl:input>
182
+ <soap12:body use="literal" />
183
+ <soap12:header message="tns:ProcessXmlCompressedHeader" part="Header" use="literal" />
184
+ </wsdl:input>
185
+ <wsdl:output>
186
+ <soap12:body use="literal" />
187
+ </wsdl:output>
188
+ </wsdl:operation>
189
+ </wsdl:binding>
190
+ <wsdl:service name="ProcessXml">
191
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Twinfield Process XML web service methods.</wsdl:documentation>
192
+ <wsdl:port name="ProcessXmlSoap" binding="tns:ProcessXmlSoap">
193
+ <soap:address location="https://accounting2.twinfield.com/webservices/processxml.asmx" />
194
+ </wsdl:port>
195
+ <wsdl:port name="ProcessXmlSoap12" binding="tns:ProcessXmlSoap12">
196
+ <soap12:address location="https://accounting2.twinfield.com/webservices/processxml.asmx" />
197
+ </wsdl:port>
198
+ </wsdl:service>
199
+ </wsdl:definitions>
@@ -0,0 +1,157 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.twinfield.com/" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.twinfield.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
3
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Twinfield Finder web service methods.</wsdl:documentation>
4
+ <wsdl:types>
5
+ <s:schema elementFormDefault="qualified" targetNamespace="http://www.twinfield.com/">
6
+ <s:import namespace="http://microsoft.com/wsdl/types/" />
7
+ <s:element name="Search">
8
+ <s:complexType>
9
+ <s:sequence>
10
+ <s:element minOccurs="0" maxOccurs="1" name="type" type="s:string" />
11
+ <s:element minOccurs="0" maxOccurs="1" name="pattern" type="s:string" />
12
+ <s:element minOccurs="1" maxOccurs="1" name="field" type="s:int" />
13
+ <s:element minOccurs="1" maxOccurs="1" name="firstRow" type="s:int" />
14
+ <s:element minOccurs="1" maxOccurs="1" name="maxRows" type="s:int" />
15
+ <s:element minOccurs="0" maxOccurs="1" name="options" type="tns:ArrayOfArrayOfString" />
16
+ </s:sequence>
17
+ </s:complexType>
18
+ </s:element>
19
+ <s:complexType name="ArrayOfArrayOfString">
20
+ <s:sequence>
21
+ <s:element minOccurs="0" maxOccurs="unbounded" name="ArrayOfString" nillable="true" type="tns:ArrayOfString" />
22
+ </s:sequence>
23
+ </s:complexType>
24
+ <s:complexType name="ArrayOfString">
25
+ <s:sequence>
26
+ <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
27
+ </s:sequence>
28
+ </s:complexType>
29
+ <s:element name="SearchResponse">
30
+ <s:complexType>
31
+ <s:sequence>
32
+ <s:element minOccurs="0" maxOccurs="1" name="SearchResult" type="tns:ArrayOfMessageOfErrorCodes" />
33
+ <s:element minOccurs="0" maxOccurs="1" name="data" type="tns:FinderData" />
34
+ </s:sequence>
35
+ </s:complexType>
36
+ </s:element>
37
+ <s:complexType name="ArrayOfMessageOfErrorCodes">
38
+ <s:sequence>
39
+ <s:element minOccurs="0" maxOccurs="unbounded" name="MessageOfErrorCodes" nillable="true" type="tns:MessageOfErrorCodes" />
40
+ </s:sequence>
41
+ </s:complexType>
42
+ <s:complexType name="MessageOfErrorCodes">
43
+ <s:sequence>
44
+ <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MessageType" />
45
+ <s:element minOccurs="0" maxOccurs="1" name="Text" type="s:string" />
46
+ <s:element minOccurs="1" maxOccurs="1" name="Code" type="tns:ErrorCodes" />
47
+ <s:element minOccurs="0" maxOccurs="1" name="Parameters" type="tns:ArrayOfString" />
48
+ </s:sequence>
49
+ </s:complexType>
50
+ <s:simpleType name="MessageType">
51
+ <s:restriction base="s:string">
52
+ <s:enumeration value="Error" />
53
+ <s:enumeration value="Warning" />
54
+ <s:enumeration value="Informational" />
55
+ </s:restriction>
56
+ </s:simpleType>
57
+ <s:simpleType name="ErrorCodes">
58
+ <s:restriction base="s:string">
59
+ <s:enumeration value="NoAccessToOffice" />
60
+ <s:enumeration value="OptionNotAllowed" />
61
+ <s:enumeration value="InvalidBooleanOptionValue" />
62
+ <s:enumeration value="InvalidIntegerOptionValue" />
63
+ <s:enumeration value="InvalidDecimalOptionValue" />
64
+ <s:enumeration value="InvalidEnumerationOptionValue" />
65
+ <s:enumeration value="OptionValueOutOfRange" />
66
+ <s:enumeration value="ParameterOutOfRange" />
67
+ <s:enumeration value="InvalidFinderType" />
68
+ <s:enumeration value="ParameterTooSmall" />
69
+ <s:enumeration value="OptionLevelMandatoryForSectionTeq" />
70
+ <s:enumeration value="OptionIcIncompatibleWithOptionHidden" />
71
+ <s:enumeration value="InvalidDateTimeOptionLength" />
72
+ <s:enumeration value="InvalidDateTimeOptionValue" />
73
+ <s:enumeration value="InvalidDateTimeOptionOutOfRange" />
74
+ <s:enumeration value="OptionMandatory" />
75
+ <s:enumeration value="AccessDenied" />
76
+ <s:enumeration value="DisableAccessRulesNotAllowed" />
77
+ <s:enumeration value="Option1MandatoryIfOption2IsUsed" />
78
+ </s:restriction>
79
+ </s:simpleType>
80
+ <s:complexType name="FinderData">
81
+ <s:sequence>
82
+ <s:element minOccurs="1" maxOccurs="1" name="TotalRows" type="s:int" />
83
+ <s:element minOccurs="0" maxOccurs="1" name="Columns" type="tns:ArrayOfString" />
84
+ <s:element minOccurs="0" maxOccurs="1" name="Items" type="tns:ArrayOfArrayOfString" />
85
+ </s:sequence>
86
+ </s:complexType>
87
+ <s:element name="Header" type="tns:Header" />
88
+ <s:complexType name="Header">
89
+ <s:sequence>
90
+ <s:element minOccurs="0" maxOccurs="1" name="SessionID" type="s:string" />
91
+ <s:element minOccurs="0" maxOccurs="1" name="AccessToken" type="s:string" />
92
+ <s:element minOccurs="0" maxOccurs="1" name="CompanyCode" type="s:string" />
93
+ <s:element minOccurs="1" maxOccurs="1" name="CompanyId" nillable="true" type="s1:guid" />
94
+ </s:sequence>
95
+ <s:anyAttribute />
96
+ </s:complexType>
97
+ </s:schema>
98
+ <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
99
+ <s:simpleType name="guid">
100
+ <s:restriction base="s:string">
101
+ <s:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
102
+ </s:restriction>
103
+ </s:simpleType>
104
+ </s:schema>
105
+ </wsdl:types>
106
+ <wsdl:message name="SearchSoapIn">
107
+ <wsdl:part name="parameters" element="tns:Search" />
108
+ </wsdl:message>
109
+ <wsdl:message name="SearchSoapOut">
110
+ <wsdl:part name="parameters" element="tns:SearchResponse" />
111
+ </wsdl:message>
112
+ <wsdl:message name="SearchHeader">
113
+ <wsdl:part name="Header" element="tns:Header" />
114
+ </wsdl:message>
115
+ <wsdl:portType name="FinderSoap">
116
+ <wsdl:operation name="Search">
117
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Searches for different types of data based on the given finder type and search pattern.</wsdl:documentation>
118
+ <wsdl:input message="tns:SearchSoapIn" />
119
+ <wsdl:output message="tns:SearchSoapOut" />
120
+ </wsdl:operation>
121
+ </wsdl:portType>
122
+ <wsdl:binding name="FinderSoap" type="tns:FinderSoap">
123
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
124
+ <wsdl:operation name="Search">
125
+ <soap:operation soapAction="http://www.twinfield.com/Search" style="document" />
126
+ <wsdl:input>
127
+ <soap:body use="literal" />
128
+ <soap:header message="tns:SearchHeader" part="Header" use="literal" />
129
+ </wsdl:input>
130
+ <wsdl:output>
131
+ <soap:body use="literal" />
132
+ </wsdl:output>
133
+ </wsdl:operation>
134
+ </wsdl:binding>
135
+ <wsdl:binding name="FinderSoap12" type="tns:FinderSoap">
136
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
137
+ <wsdl:operation name="Search">
138
+ <soap12:operation soapAction="http://www.twinfield.com/Search" style="document" />
139
+ <wsdl:input>
140
+ <soap12:body use="literal" />
141
+ <soap12:header message="tns:SearchHeader" part="Header" use="literal" />
142
+ </wsdl:input>
143
+ <wsdl:output>
144
+ <soap12:body use="literal" />
145
+ </wsdl:output>
146
+ </wsdl:operation>
147
+ </wsdl:binding>
148
+ <wsdl:service name="Finder">
149
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Twinfield Finder web service methods.</wsdl:documentation>
150
+ <wsdl:port name="FinderSoap" binding="tns:FinderSoap">
151
+ <soap:address location="https://api.accounting.twinfield.com/webservices/finder.asmx" />
152
+ </wsdl:port>
153
+ <wsdl:port name="FinderSoap12" binding="tns:FinderSoap12">
154
+ <soap12:address location="https://api.accounting.twinfield.com/webservices/finder.asmx" />
155
+ </wsdl:port>
156
+ </wsdl:service>
157
+ </wsdl:definitions>
@@ -0,0 +1,199 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.twinfield.com/" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.twinfield.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
3
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Twinfield Process XML web service methods.</wsdl:documentation>
4
+ <wsdl:types>
5
+ <s:schema elementFormDefault="qualified" targetNamespace="http://www.twinfield.com/">
6
+ <s:import namespace="http://microsoft.com/wsdl/types/" />
7
+ <s:element name="ProcessXmlString">
8
+ <s:complexType>
9
+ <s:sequence>
10
+ <s:element minOccurs="0" maxOccurs="1" name="xmlRequest" type="s:string" />
11
+ </s:sequence>
12
+ </s:complexType>
13
+ </s:element>
14
+ <s:element name="ProcessXmlStringResponse">
15
+ <s:complexType>
16
+ <s:sequence>
17
+ <s:element minOccurs="0" maxOccurs="1" name="ProcessXmlStringResult" type="s:string" />
18
+ </s:sequence>
19
+ </s:complexType>
20
+ </s:element>
21
+ <s:element name="Header" type="tns:Header" />
22
+ <s:complexType name="Header">
23
+ <s:sequence>
24
+ <s:element minOccurs="0" maxOccurs="1" name="SessionID" type="s:string" />
25
+ <s:element minOccurs="0" maxOccurs="1" name="AccessToken" type="s:string" />
26
+ <s:element minOccurs="0" maxOccurs="1" name="CompanyCode" type="s:string" />
27
+ <s:element minOccurs="1" maxOccurs="1" name="CompanyId" nillable="true" type="s1:guid" />
28
+ </s:sequence>
29
+ <s:anyAttribute />
30
+ </s:complexType>
31
+ <s:element name="ProcessXmlDocument">
32
+ <s:complexType>
33
+ <s:sequence>
34
+ <s:element minOccurs="0" maxOccurs="1" name="xmlRequest">
35
+ <s:complexType mixed="true">
36
+ <s:sequence>
37
+ <s:any />
38
+ </s:sequence>
39
+ </s:complexType>
40
+ </s:element>
41
+ </s:sequence>
42
+ </s:complexType>
43
+ </s:element>
44
+ <s:element name="ProcessXmlDocumentResponse">
45
+ <s:complexType>
46
+ <s:sequence>
47
+ <s:element minOccurs="0" maxOccurs="1" name="ProcessXmlDocumentResult">
48
+ <s:complexType mixed="true">
49
+ <s:sequence>
50
+ <s:any />
51
+ </s:sequence>
52
+ </s:complexType>
53
+ </s:element>
54
+ </s:sequence>
55
+ </s:complexType>
56
+ </s:element>
57
+ <s:element name="ProcessXmlCompressed">
58
+ <s:complexType>
59
+ <s:sequence>
60
+ <s:element minOccurs="0" maxOccurs="1" name="xmlRequest" type="s:base64Binary" />
61
+ </s:sequence>
62
+ </s:complexType>
63
+ </s:element>
64
+ <s:element name="ProcessXmlCompressedResponse">
65
+ <s:complexType>
66
+ <s:sequence>
67
+ <s:element minOccurs="0" maxOccurs="1" name="ProcessXmlCompressedResult" type="s:base64Binary" />
68
+ </s:sequence>
69
+ </s:complexType>
70
+ </s:element>
71
+ </s:schema>
72
+ <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
73
+ <s:simpleType name="guid">
74
+ <s:restriction base="s:string">
75
+ <s:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
76
+ </s:restriction>
77
+ </s:simpleType>
78
+ </s:schema>
79
+ </wsdl:types>
80
+ <wsdl:message name="ProcessXmlStringSoapIn">
81
+ <wsdl:part name="parameters" element="tns:ProcessXmlString" />
82
+ </wsdl:message>
83
+ <wsdl:message name="ProcessXmlStringSoapOut">
84
+ <wsdl:part name="parameters" element="tns:ProcessXmlStringResponse" />
85
+ </wsdl:message>
86
+ <wsdl:message name="ProcessXmlStringHeader">
87
+ <wsdl:part name="Header" element="tns:Header" />
88
+ </wsdl:message>
89
+ <wsdl:message name="ProcessXmlDocumentSoapIn">
90
+ <wsdl:part name="parameters" element="tns:ProcessXmlDocument" />
91
+ </wsdl:message>
92
+ <wsdl:message name="ProcessXmlDocumentSoapOut">
93
+ <wsdl:part name="parameters" element="tns:ProcessXmlDocumentResponse" />
94
+ </wsdl:message>
95
+ <wsdl:message name="ProcessXmlDocumentHeader">
96
+ <wsdl:part name="Header" element="tns:Header" />
97
+ </wsdl:message>
98
+ <wsdl:message name="ProcessXmlCompressedSoapIn">
99
+ <wsdl:part name="parameters" element="tns:ProcessXmlCompressed" />
100
+ </wsdl:message>
101
+ <wsdl:message name="ProcessXmlCompressedSoapOut">
102
+ <wsdl:part name="parameters" element="tns:ProcessXmlCompressedResponse" />
103
+ </wsdl:message>
104
+ <wsdl:message name="ProcessXmlCompressedHeader">
105
+ <wsdl:part name="Header" element="tns:Header" />
106
+ </wsdl:message>
107
+ <wsdl:portType name="ProcessXmlSoap">
108
+ <wsdl:operation name="ProcessXmlString">
109
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Processes xml in string format.</wsdl:documentation>
110
+ <wsdl:input message="tns:ProcessXmlStringSoapIn" />
111
+ <wsdl:output message="tns:ProcessXmlStringSoapOut" />
112
+ </wsdl:operation>
113
+ <wsdl:operation name="ProcessXmlDocument">
114
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Processes xml in document object model format.</wsdl:documentation>
115
+ <wsdl:input message="tns:ProcessXmlDocumentSoapIn" />
116
+ <wsdl:output message="tns:ProcessXmlDocumentSoapOut" />
117
+ </wsdl:operation>
118
+ <wsdl:operation name="ProcessXmlCompressed">
119
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Processes a G-zipped UTF-8 XML string and returns a G-zipped UTF-8 result.</wsdl:documentation>
120
+ <wsdl:input message="tns:ProcessXmlCompressedSoapIn" />
121
+ <wsdl:output message="tns:ProcessXmlCompressedSoapOut" />
122
+ </wsdl:operation>
123
+ </wsdl:portType>
124
+ <wsdl:binding name="ProcessXmlSoap" type="tns:ProcessXmlSoap">
125
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
126
+ <wsdl:operation name="ProcessXmlString">
127
+ <soap:operation soapAction="http://www.twinfield.com/ProcessXmlString" style="document" />
128
+ <wsdl:input>
129
+ <soap:body use="literal" />
130
+ <soap:header message="tns:ProcessXmlStringHeader" part="Header" use="literal" />
131
+ </wsdl:input>
132
+ <wsdl:output>
133
+ <soap:body use="literal" />
134
+ </wsdl:output>
135
+ </wsdl:operation>
136
+ <wsdl:operation name="ProcessXmlDocument">
137
+ <soap:operation soapAction="http://www.twinfield.com/ProcessXmlDocument" style="document" />
138
+ <wsdl:input>
139
+ <soap:body use="literal" />
140
+ <soap:header message="tns:ProcessXmlDocumentHeader" part="Header" use="literal" />
141
+ </wsdl:input>
142
+ <wsdl:output>
143
+ <soap:body use="literal" />
144
+ </wsdl:output>
145
+ </wsdl:operation>
146
+ <wsdl:operation name="ProcessXmlCompressed">
147
+ <soap:operation soapAction="http://www.twinfield.com/ProcessXmlCompressed" style="document" />
148
+ <wsdl:input>
149
+ <soap:body use="literal" />
150
+ <soap:header message="tns:ProcessXmlCompressedHeader" part="Header" use="literal" />
151
+ </wsdl:input>
152
+ <wsdl:output>
153
+ <soap:body use="literal" />
154
+ </wsdl:output>
155
+ </wsdl:operation>
156
+ </wsdl:binding>
157
+ <wsdl:binding name="ProcessXmlSoap12" type="tns:ProcessXmlSoap">
158
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
159
+ <wsdl:operation name="ProcessXmlString">
160
+ <soap12:operation soapAction="http://www.twinfield.com/ProcessXmlString" style="document" />
161
+ <wsdl:input>
162
+ <soap12:body use="literal" />
163
+ <soap12:header message="tns:ProcessXmlStringHeader" part="Header" use="literal" />
164
+ </wsdl:input>
165
+ <wsdl:output>
166
+ <soap12:body use="literal" />
167
+ </wsdl:output>
168
+ </wsdl:operation>
169
+ <wsdl:operation name="ProcessXmlDocument">
170
+ <soap12:operation soapAction="http://www.twinfield.com/ProcessXmlDocument" style="document" />
171
+ <wsdl:input>
172
+ <soap12:body use="literal" />
173
+ <soap12:header message="tns:ProcessXmlDocumentHeader" part="Header" use="literal" />
174
+ </wsdl:input>
175
+ <wsdl:output>
176
+ <soap12:body use="literal" />
177
+ </wsdl:output>
178
+ </wsdl:operation>
179
+ <wsdl:operation name="ProcessXmlCompressed">
180
+ <soap12:operation soapAction="http://www.twinfield.com/ProcessXmlCompressed" style="document" />
181
+ <wsdl:input>
182
+ <soap12:body use="literal" />
183
+ <soap12:header message="tns:ProcessXmlCompressedHeader" part="Header" use="literal" />
184
+ </wsdl:input>
185
+ <wsdl:output>
186
+ <soap12:body use="literal" />
187
+ </wsdl:output>
188
+ </wsdl:operation>
189
+ </wsdl:binding>
190
+ <wsdl:service name="ProcessXml">
191
+ <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Twinfield Process XML web service methods.</wsdl:documentation>
192
+ <wsdl:port name="ProcessXmlSoap" binding="tns:ProcessXmlSoap">
193
+ <soap:address location="https://api.accounting.twinfield.com/webservices/processxml.asmx" />
194
+ </wsdl:port>
195
+ <wsdl:port name="ProcessXmlSoap12" binding="tns:ProcessXmlSoap12">
196
+ <soap12:address location="https://api.accounting.twinfield.com/webservices/processxml.asmx" />
197
+ </wsdl:port>
198
+ </wsdl:service>
199
+ </wsdl:definitions>