Neuer API-Zugriff auf regspeed.de / TLD-Systems
Bernd Wurst

Bernd Wurst commited on 2014-09-16 11:27:48
Zeige 3 geänderte Dateien mit 1628 Einfügungen und 52 Löschungen.

... ...
@@ -0,0 +1,369 @@
1
+<?php
2
+
3
+class domainRobotDefaultObject {
4
+	public function set($key, $value)
5
+	{
6
+		$this->{$key} = $value;
7
+	}
8
+
9
+	public function get($key)
10
+	{
11
+		return $this->{$key};
12
+	}
13
+}
14
+
15
+class domainRobotDefaultRequest extends domainRobotDefaultObject {
16
+	private $clientTransactionId;
17
+ 	private $authToken;
18
+	
19
+	public function __construct($authToken)
20
+	{
21
+		$this->authToken = $authToken;
22
+		$this->_generateTransactionId();
23
+	}
24
+
25
+	private function _generateTransactionId()
26
+	{
27
+		$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghjklmnpqrstuvwxyz0123456789";
28
+		$pass = "";
29
+		for($i = 0; $i < 12; $i++) {
30
+			$pass .= $chars[mt_rand(0, strlen($chars) - 1)];
31
+		}
32
+		$this->clientTransactionId = date("YmdHis")."-".$pass;
33
+	}
34
+
35
+	public function getTransactionId()
36
+	{
37
+		return $this->clientTransactionId;
38
+	}
39
+}
40
+
41
+class domainRobotContact extends domainRobotDefaultObject {
42
+	public $accountId;
43
+	public $id;
44
+	public $handle;
45
+	public $type;
46
+	public $name;
47
+	public $organisation;
48
+	public $street;
49
+	public $postOfficeBox;
50
+	public $postalCode;
51
+	public $city;
52
+	public $state;
53
+	public $country;
54
+	public $email;
55
+	public $phone;
56
+	public $fax;
57
+	public $sip;
58
+	public $lastChangeDate;
59
+}
60
+
61
+class domainRobotDomainContact extends domainRobotDefaultObject {
62
+	public $type;
63
+ 	public $contact;
64
+
65
+	public function __construct($type, $contact)
66
+	{
67
+		$this->set("type", $type);
68
+		$this->set("contact", $contact);
69
+	}
70
+}
71
+
72
+class domainRobotDomain extends domainRobotDefaultObject {
73
+	public $accountId;
74
+	public $id;
75
+	public $name;
76
+	public $contacts;
77
+	public $nameservers;
78
+	public $status;
79
+	public $transferLockEnabled;
80
+	public $authCode;
81
+	public $createDate;
82
+}
83
+
84
+class domainRobotTransferData extends domainRobotDefaultObject {
85
+	public $authInfo;
86
+	public $authInfo2;
87
+	public $foaRecipient;
88
+}
89
+
90
+class domainRobotNameserver extends domainRobotDefaultObject {
91
+	public $name;
92
+	public $ips;
93
+
94
+	public function __construct($name, $ips = NULL)
95
+	{
96
+		$this->set("name", $name);
97
+		$this->set("ips", $ips);
98
+	}
99
+}
100
+
101
+class domainRobotApi {
102
+
103
+	private $location = "http://regspeed.de/api/domain/v1/soap";
104
+
105
+	private $authToken;
106
+        private $soap = NULL;
107
+
108
+	private $lastRequestId = NULL;
109
+	private $lastResponse = NULL;
110
+
111
+	public function __construct($authToken)
112
+	{
113
+		$this->authToken = $authToken;
114
+		try {
115
+			if ($client = new SOAPClient(__DIR__."/domainrobot.wsdl", array('location' => $this->location, 'connection_timeout' => 10, 'features' => SOAP_SINGLE_ELEMENT_ARRAYS)))
116
+			{
117
+				$this->soap = $client;
118
+			} else {
119
+				return false;
120
+			}
121
+		} catch (Exception $e) {
122
+			return false;
123
+		}
124
+	}
125
+
126
+	private function _request($action, $request)
127
+	{
128
+		$this->lastRequestId = $request->getTransactionId();
129
+		try {
130
+			$this->lastResponse = $this->soap->{$action}($request);
131
+			return true;
132
+		} catch (Exception $e) {
133
+			return false;
134
+		}
135
+	}
136
+
137
+	public function getStatus()
138
+	{
139
+		if (isset($this->lastResponse) && isset($this->lastResponse->status)) {
140
+			return $this->lastResponse->status;
141
+		}
142
+		return false;
143
+	}
144
+	
145
+	public function getErrors()
146
+	{
147
+		if (isset($this->lastResponse) && isset($this->lastResponse->errors)) {
148
+			return $this->lastResponse->errors;
149
+		}
150
+		return array();
151
+	}
152
+
153
+	public function getWarnings()
154
+	{
155
+		if (isset($this->lastResponse) && isset($this->lastResponse->warnings)) {
156
+			return $this->lastResponse->warnings;
157
+		}
158
+		return array();
159
+	}
160
+
161
+	public function getValues()
162
+	{
163
+		if (isset($this->lastResponse) && isset($this->lastResponse->values)) {
164
+			return $this->lastResponse->values;
165
+		}
166
+		return false;
167
+	}
168
+
169
+	public function contactCreate($data)
170
+	{
171
+		$contact = new domainRobotContact();
172
+		foreach($data as $key => $value) {
173
+			$contact->set($key, $value);
174
+		}
175
+		$request = new domainRobotDefaultRequest($this->authToken);
176
+		$request->set("contact", $contact);
177
+		return $this->_request("contactCreate", $request);
178
+	}
179
+
180
+	public function contactUpdate($data)
181
+	{
182
+		$contact = new domainRobotContact();
183
+		foreach($data as $key => $value) {
184
+			$contact->set($key, $value);
185
+		}
186
+		$request = new domainRobotDefaultRequest($this->authToken);
187
+		$request->set("contact", $contact);
188
+		return $this->_request("contactUpdate", $request);
189
+	}
190
+
191
+	public function contactDelete($handle, $deleteNow)
192
+	{
193
+		// TODO FindHandle oder nehmen wir auch das Handle als contactId an?
194
+		return false;
195
+
196
+		$request = new domainRobotDefaultRequest($this->authToken);
197
+		$request->set("contactId", $handle);
198
+		$request->set("deleteNow", $deleteNow);
199
+		return $this->_request("contactDelete", $request);
200
+	}
201
+
202
+	private function _getContacts($data)
203
+	{
204
+		$owner = new domainRobotDomainContact("owner", $data['owner']);
205
+		$admin = new domainRobotDomainContact("admin", $data['admin']);
206
+		$tech = new domainRobotDomainContact("tech", $data['tech']);
207
+		$zone = new domainRobotDomainContact("zone", $data['zone']);
208
+		$contacts = array($owner, $admin, $tech, $zone);
209
+		return $contacts;
210
+	}
211
+
212
+	private function _getNameservers($data)
213
+	{
214
+		$nameservers = array();
215
+		foreach($data['nameservers'] as $ns) {
216
+			$ipv4 = NULL;
217
+			if (isset($ns['ipv4'])) {
218
+				$ipv4 = $ns['ipv4'];
219
+			}
220
+			$ipv6 = NULL;
221
+			if (isset($ns['ipv6'])) {
222
+				$ipv6 = $ns['ipv6'];
223
+			}
224
+			$nameserver = new domainRobotNameserver($ns['name'], $ipv4, $ipv6);
225
+			$nameservers = array_merge($nameservers, array($nameserver));
226
+		}
227
+		return $nameservers;
228
+	}
229
+
230
+	public function domainInfo($domain)
231
+	{
232
+		$request = new domainRobotDefaultRequest($this->authToken);
233
+		$request->set("domainName", $domain);
234
+		return $this->_request("domainInfo", $request);
235
+	}
236
+
237
+	public function domainStatus($domain)
238
+	{
239
+		$request = new domainRobotDefaultRequest($this->authToken);
240
+		$request->set("domainNames", array($domain));
241
+		return $this->_request("domainStatus", $request);
242
+	}
243
+
244
+	public function domainCreate($data, $execDate = NULL)
245
+	{
246
+		$domain = new domainRobotDomain();
247
+		$domain->set("name", $data['name']);
248
+		$domain->set("contacts", $this->_getContacts($data));
249
+		$domain->set("nameservers", $this->_getNameservers($data));
250
+		$domain->set("transferLockEnabled", true);
251
+
252
+		$request = new domainRobotDefaultRequest($this->authToken);
253
+		$request->set("domain", $domain);
254
+		$request->set("registrationPeriod", 1);
255
+		$request->set("execDate", $execDate);
256
+		return $this->_request("domainCreate", $request);
257
+	}
258
+
259
+	public function domainTransfer($data, $execDate = NULL)
260
+	{
261
+		$domain = new domainRobotDomain();
262
+		$domain->set("name", $data['name']);
263
+		$domain->set("contacts", $this->_getContacts($data));
264
+		$domain->set("nameservers", $this->_getNameservers($data));
265
+		$domain->set("transferLockEnabled", true);
266
+
267
+		$transferData = new domainRobotTransferData();
268
+		if (isset($data['authCode'])) {
269
+			$transferData->set("authCode", $data['authCode']);
270
+		}
271
+		$transferData->set("foaRecipient", "both");
272
+
273
+		$request = new domainRobotDefaultRequest($this->authToken);
274
+		$request->set("domain", $domain);
275
+		$request->set("transferData", $transferData);
276
+		$request->set("execDate", $execDate);
277
+		return $this->_request("domainTransfer", $request);
278
+	}
279
+
280
+	public function domainUpdate($data)
281
+	{
282
+		$domain = new domainRobotDomain();
283
+		$domain->set("name", $data['name']);
284
+		$domain->set("contacts", $this->_getContacts($data));
285
+		$domain->set("nameservers", $this->_getNameservers($data));
286
+		$domain->set("transferLockEnabled", true);
287
+
288
+		$request = new domainRobotDefaultRequest($this->authToken);
289
+		$request->set("domain", $domain);
290
+		return $this->_request("domainUpdate", $request);
291
+	}
292
+
293
+	public function domainCreateAuthInfo($domain)
294
+	{
295
+		$request = new domainRobotDefaultRequest($this->authToken);
296
+		$request->set("domainName", $domain);
297
+		return $this->_request("domainCreateAuthInfo", $request);
298
+	}
299
+
300
+	public function domainCreateAuthInfo2($domain)
301
+	{
302
+		$request = new domainRobotDefaultRequest($this->authToken);
303
+		$request->set("domainName", $domain);
304
+		return $this->_request("domainCreateAuthInfo2", $request);
305
+	}
306
+
307
+	public function domainDelete($domain, $execData = NULL)
308
+	{
309
+		$request = new domainRobotDefaultRequest($this->authToken);
310
+		$request->set("domainName", $domain);
311
+		$request->set("execDate", $execDate);
312
+		return $this->_request("domainDelete", $request);
313
+	}
314
+
315
+	public function domainWithdraw($domain, $disconnect = true, $execData = NULL)
316
+	{
317
+		$request = new domainRobotDefaultRequest($this->authToken);
318
+		$request->set("domainName", $domain);
319
+		$request->set("disconnect", $disconnect);
320
+		$request->set("execDate", $execDate);
321
+		return $this->_request("domainWithdraw", $request);
322
+	}
323
+
324
+	public function domainSetAutoRenewMode($domain, $mode)
325
+	{
326
+		$request = new domainRobotDefaultRequest($this->authToken);
327
+		$request->set("domainName", $domain);
328
+		$request->set("mode", $mode);
329
+		return $this->_request("domainSetAutoRenewMode", $request);
330
+	}
331
+
332
+	public function domainSetTransferLock($domain, $mode)
333
+	{
334
+		$request = new domainRobotDefaultRequest($this->authToken);
335
+		$request->set("domainName", $domain);
336
+		$request->set("mode", $mode);
337
+		return $this->_request("domainSetTransferLock", $request);
338
+	}
339
+
340
+	public function domainRestore($domain)
341
+	{
342
+		$request = new domainRobotDefaultRequest($this->authToken);
343
+		$request->set("domainName", $domain);
344
+		return $this->_request("domainRestore", $request);
345
+	}
346
+
347
+	public function domainChangeTag($domain, $tag)
348
+	{
349
+		$request = new domainRobotDefaultRequest($this->authToken);
350
+		$request->set("domainName", $domain);
351
+		$request->set("tag", $tag);
352
+		return $this->_request("domainChangeTag", $request);
353
+	}
354
+
355
+	public function domainTransferOutAck($domain)
356
+	{
357
+		$request = new domainRobotDefaultRequest($this->authToken);
358
+		$request->set("domainName", $domain);
359
+		return $this->_request("domainTransferOutAck", $request);
360
+	}
361
+
362
+	public function domainTransferOutNack($domain, $reason)
363
+	{
364
+		$request = new domainRobotDefaultRequest($this->authToken);
365
+		$request->set("domainName", $domain);
366
+		$request->set("reason", $reason);
367
+		return $this->_request("domainTransferOutNack", $request);
368
+	}
369
+}
... ...
@@ -0,0 +1,1250 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<definitions name="domainrobot"
3
+ targetNamespace="urn:domainrobot/domainrobot.wsdl"
4
+ xmlns:tns="urn:domainrobot/domainrobot.wsdl"
5
+ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
6
+ xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
7
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
9
+ xmlns:ns="urn:domainrobot"
10
+ xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/"
11
+ xmlns:HTTP="http://schemas.xmlsoap.org/wsdl/http/"
12
+ xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/"
13
+ xmlns:DIME="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/"
14
+ xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/"
15
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
16
+
17
+<types>
18
+
19
+ <schema targetNamespace="urn:domainrobot"
20
+  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
21
+  xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
22
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
24
+  xmlns:ns="urn:domainrobot"
25
+  xmlns="http://www.w3.org/2001/XMLSchema"
26
+  elementFormDefault="unqualified"
27
+  attributeFormDefault="unqualified">
28
+  <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
29
+  <complexType name="WarningOrError"><!-- ns__WarningOrError -->
30
+
31
+   <sequence>
32
+     <element name="code" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- ns__WarningOrError::code -->
33
+     <element name="text" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__WarningOrError::text -->
34
+     <element name="context" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__WarningOrError::context -->
35
+     <element name="details" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/><!-- ns__WarningOrError::details -->
36
+   </sequence>
37
+  </complexType>
38
+  <complexType name="Metadata"><!-- ns__Metadata -->
39
+
40
+   <sequence>
41
+     <element name="serverTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Metadata::serverTransactionId -->
42
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Metadata::clientTransactionId -->
43
+   </sequence>
44
+  </complexType>
45
+  <complexType name="CommonResponse"><!-- ns__CommonResponse -->
46
+
47
+   <sequence>
48
+     <element name="status" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__CommonResponse::status -->
49
+     <element name="errors" type="ns:WarningOrError" minOccurs="0" maxOccurs="unbounded"/><!-- ns__CommonResponse::errors -->
50
+     <element name="warnings" type="ns:WarningOrError" minOccurs="0" maxOccurs="unbounded"/><!-- ns__CommonResponse::warnings -->
51
+     <element name="metadata" type="ns:Metadata" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__CommonResponse::metadata -->
52
+   </sequence>
53
+  </complexType>
54
+  <complexType name="DomainContact"><!-- ns__DomainContact -->
55
+
56
+   <sequence>
57
+     <element name="type" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__DomainContact::type -->
58
+     <element name="contact" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__DomainContact::contact -->
59
+   </sequence>
60
+  </complexType>
61
+  <complexType name="Nameserver"><!-- ns__Nameserver -->
62
+
63
+   <sequence>
64
+     <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Nameserver::name -->
65
+     <element name="ipv4" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/><!-- ns__Nameserver::ipv4 -->
66
+     <element name="ipv6" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/><!-- ns__Nameserver::ipv6 -->
67
+   </sequence>
68
+  </complexType>
69
+  <complexType name="AbstractListResult"><!-- ns__AbstractListResult -->
70
+
71
+   <sequence>
72
+     <element name="page" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__AbstractListResult::page -->
73
+     <element name="limit" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__AbstractListResult::limit -->
74
+     <element name="totalEntries" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__AbstractListResult::totalEntries -->
75
+     <element name="totalpages" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__AbstractListResult::totalpages -->
76
+   </sequence>
77
+  </complexType>
78
+  <complexType name="Contact"><!-- ns__Contact -->
79
+
80
+   <sequence>
81
+     <element name="accountId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::accountId -->
82
+     <element name="id" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::id -->
83
+     <element name="handle" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::handle -->
84
+     <element name="type" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::type -->
85
+     <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::name -->
86
+     <element name="organisation" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::organisation -->
87
+     <element name="street" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/><!-- ns__Contact::street -->
88
+     <element name="postOfficeBox" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::postOfficeBox -->
89
+     <element name="postalCode" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::postalCode -->
90
+     <element name="city" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::city -->
91
+     <element name="state" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::state -->
92
+     <element name="country" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::country -->
93
+     <element name="email" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::email -->
94
+     <element name="phone" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::phone -->
95
+     <element name="fax" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::fax -->
96
+     <element name="sip" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::sip -->
97
+     <element name="lastChangeDate" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Contact::lastChangeDate -->
98
+   </sequence>
99
+  </complexType>
100
+  <complexType name="Domain"><!-- ns__Domain -->
101
+
102
+   <sequence>
103
+     <element name="accountId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Domain::accountId -->
104
+     <element name="id" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Domain::id -->
105
+     <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Domain::name -->
106
+     <element name="contacts" type="ns:DomainContact" minOccurs="1" maxOccurs="unbounded"/><!-- ns__Domain::contacts -->
107
+     <element name="nameservers" type="ns:Nameserver" minOccurs="1" maxOccurs="unbounded"/><!-- ns__Domain::nameservers -->
108
+     <element name="status" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/><!-- ns__Domain::status -->
109
+     <element name="transferLockEnabled" type="xsd:boolean" minOccurs="1" maxOccurs="1"/><!-- ns__Domain::transferLockEnabled -->
110
+     <element name="authCode" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Domain::authCode -->
111
+     <element name="createDate" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Domain::createDate -->
112
+   </sequence>
113
+  </complexType>
114
+  <complexType name="Job"><!-- ns__Job -->
115
+
116
+   <sequence>
117
+     <element name="id" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__Job::id -->
118
+   </sequence>
119
+  </complexType>
120
+  <complexType name="DomainStatusResult"><!-- ns__DomainStatusResult -->
121
+
122
+   <sequence>
123
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__DomainStatusResult::domainName -->
124
+     <element name="status" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__DomainStatusResult::status -->
125
+     <element name="transferMethod" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__DomainStatusResult::transferMethod -->
126
+     <element name="domainSuffix" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__DomainStatusResult::domainSuffix -->
127
+   </sequence>
128
+  </complexType>
129
+  <complexType name="Filter"><!-- ns__Filter -->
130
+
131
+   <sequence>
132
+     <element name="field" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Filter::field -->
133
+     <element name="value" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__Filter::value -->
134
+   </sequence>
135
+  </complexType>
136
+  <complexType name="FindContactsResult"><!-- ns__FindContactsResult -->
137
+
138
+   <complexContent>
139
+    <extension base="ns:AbstractListResult">
140
+     <sequence>
141
+     <element name="data" type="ns:Contact" minOccurs="1" maxOccurs="unbounded"/><!-- ns__FindContactsResult::data -->
142
+     </sequence>
143
+    </extension>
144
+   </complexContent>
145
+  </complexType>
146
+  <complexType name="FindDomainsResult"><!-- ns__FindDomainsResult -->
147
+
148
+   <complexContent>
149
+    <extension base="ns:AbstractListResult">
150
+     <sequence>
151
+     <element name="data" type="ns:Domain" minOccurs="1" maxOccurs="unbounded"/><!-- ns__FindDomainsResult::data -->
152
+     </sequence>
153
+    </extension>
154
+   </complexContent>
155
+  </complexType>
156
+  <complexType name="FindJobsResult"><!-- ns__FindJobsResult -->
157
+
158
+   <complexContent>
159
+    <extension base="ns:AbstractListResult">
160
+     <sequence>
161
+     <element name="data" type="ns:Job" minOccurs="1" maxOccurs="unbounded"/><!-- ns__FindJobsResult::data -->
162
+     </sequence>
163
+    </extension>
164
+   </complexContent>
165
+  </complexType>
166
+  <complexType name="SortOptions"><!-- ns__SortOptions -->
167
+
168
+   <sequence>
169
+     <element name="column" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__SortOptions::column -->
170
+     <element name="order" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__SortOptions::order -->
171
+   </sequence>
172
+  </complexType>
173
+  <complexType name="TransferData"><!-- ns__TransferData -->
174
+
175
+   <sequence>
176
+     <element name="authInfo" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__TransferData::authInfo -->
177
+     <element name="authInfo2" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__TransferData::authInfo2 -->
178
+     <element name="foaRecipient" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__TransferData::foaRecipient -->
179
+   </sequence>
180
+  </complexType>
181
+  <complexType name="contactCreateRequest"><!-- ns__contactCreateRequest -->
182
+
183
+   <sequence>
184
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactCreateRequest::clientTransactionId -->
185
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactCreateRequest::authToken -->
186
+     <element name="contact" type="ns:Contact" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__contactCreateRequest::contact -->
187
+   </sequence>
188
+  </complexType>
189
+  <complexType name="contactCreateResponseData"><!-- ns__contactCreateResponseData -->
190
+
191
+   <complexContent>
192
+    <extension base="ns:CommonResponse">
193
+     <sequence>
194
+     <element name="value" type="ns:Contact" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__contactCreateResponseData::value -->
195
+     </sequence>
196
+    </extension>
197
+   </complexContent>
198
+  </complexType>
199
+  <complexType name="contactDeleteRequest"><!-- ns__contactDeleteRequest -->
200
+
201
+   <sequence>
202
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactDeleteRequest::clientTransactionId -->
203
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactDeleteRequest::authToken -->
204
+     <element name="contactId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactDeleteRequest::contactId -->
205
+   </sequence>
206
+  </complexType>
207
+  <complexType name="contactDeleteResponseData"><!-- ns__contactDeleteResponseData -->
208
+
209
+   <complexContent>
210
+    <extension base="ns:CommonResponse">
211
+     <sequence>
212
+     </sequence>
213
+    </extension>
214
+   </complexContent>
215
+  </complexType>
216
+  <complexType name="contactInfoRequest"><!-- ns__contactInfoRequest -->
217
+
218
+   <sequence>
219
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactInfoRequest::clientTransactionId -->
220
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactInfoRequest::authToken -->
221
+     <element name="contactId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactInfoRequest::contactId -->
222
+   </sequence>
223
+  </complexType>
224
+  <complexType name="contactInfoResponseData"><!-- ns__contactInfoResponseData -->
225
+
226
+   <complexContent>
227
+    <extension base="ns:CommonResponse">
228
+     <sequence>
229
+     <element name="value" type="ns:Contact" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__contactInfoResponseData::value -->
230
+     </sequence>
231
+    </extension>
232
+   </complexContent>
233
+  </complexType>
234
+  <complexType name="contactSyncRequest"><!-- ns__contactSyncRequest -->
235
+
236
+   <sequence>
237
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactSyncRequest::clientTransactionId -->
238
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactSyncRequest::authToken -->
239
+     <element name="contactId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactSyncRequest::contactId -->
240
+   </sequence>
241
+  </complexType>
242
+  <complexType name="contactSyncResponseData"><!-- ns__contactSyncResponseData -->
243
+
244
+   <complexContent>
245
+    <extension base="ns:CommonResponse">
246
+     <sequence>
247
+     </sequence>
248
+    </extension>
249
+   </complexContent>
250
+  </complexType>
251
+  <complexType name="contactUpdateRequest"><!-- ns__contactUpdateRequest -->
252
+
253
+   <sequence>
254
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactUpdateRequest::clientTransactionId -->
255
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactUpdateRequest::authToken -->
256
+     <element name="contact" type="ns:Contact" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__contactUpdateRequest::contact -->
257
+   </sequence>
258
+  </complexType>
259
+  <complexType name="contactUpdateResponseData"><!-- ns__contactUpdateResponseData -->
260
+
261
+   <complexContent>
262
+    <extension base="ns:CommonResponse">
263
+     <sequence>
264
+     <element name="value" type="ns:Contact" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__contactUpdateResponseData::value -->
265
+     </sequence>
266
+    </extension>
267
+   </complexContent>
268
+  </complexType>
269
+  <complexType name="contactUsableForRequest"><!-- ns__contactUsableForRequest -->
270
+
271
+   <sequence>
272
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactUsableForRequest::clientTransactionId -->
273
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactUsableForRequest::authToken -->
274
+     <element name="contactId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactUsableForRequest::contactId -->
275
+     <element name="domainSuffix" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactUsableForRequest::domainSuffix -->
276
+   </sequence>
277
+  </complexType>
278
+  <complexType name="contactUsableForResponseData"><!-- ns__contactUsableForResponseData -->
279
+
280
+   <complexContent>
281
+    <extension base="ns:CommonResponse">
282
+     <sequence>
283
+     <element name="values" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/><!-- ns__contactUsableForResponseData::values -->
284
+     </sequence>
285
+    </extension>
286
+   </complexContent>
287
+  </complexType>
288
+  <complexType name="contactsFindRequest"><!-- ns__contactsFindRequest -->
289
+
290
+   <sequence>
291
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactsFindRequest::clientTransactionId -->
292
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__contactsFindRequest::authToken -->
293
+     <element name="filter" type="ns:Filter" minOccurs="0" maxOccurs="unbounded"/><!-- ns__contactsFindRequest::filter -->
294
+     <element name="limit" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__contactsFindRequest::limit -->
295
+     <element name="page" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__contactsFindRequest::page -->
296
+     <element name="sort" type="ns:SortOptions" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__contactsFindRequest::sort -->
297
+   </sequence>
298
+  </complexType>
299
+  <complexType name="contactsFindResponseData"><!-- ns__contactsFindResponseData -->
300
+
301
+   <complexContent>
302
+    <extension base="ns:CommonResponse">
303
+     <sequence>
304
+     <element name="value" type="ns:FindContactsResult" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__contactsFindResponseData::value -->
305
+     </sequence>
306
+    </extension>
307
+   </complexContent>
308
+  </complexType>
309
+  <complexType name="domainChangeTagRequest"><!-- ns__domainChangeTagRequest -->
310
+
311
+   <sequence>
312
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainChangeTagRequest::clientTransactionId -->
313
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainChangeTagRequest::authToken -->
314
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainChangeTagRequest::domainName -->
315
+     <element name="tag" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainChangeTagRequest::tag -->
316
+   </sequence>
317
+  </complexType>
318
+  <complexType name="domainChangeTagResponseData"><!-- ns__domainChangeTagResponseData -->
319
+
320
+   <complexContent>
321
+    <extension base="ns:CommonResponse">
322
+     <sequence>
323
+     </sequence>
324
+    </extension>
325
+   </complexContent>
326
+  </complexType>
327
+  <complexType name="domainCreateRequest"><!-- ns__domainCreateRequest -->
328
+
329
+   <sequence>
330
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainCreateRequest::clientTransactionId -->
331
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainCreateRequest::authToken -->
332
+     <element name="domain" type="ns:Domain" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainCreateRequest::domain -->
333
+     <element name="registrationPeriod" type="xsd:long" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainCreateRequest::registrationPeriod -->
334
+     <element name="execDate" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainCreateRequest::execDate -->
335
+   </sequence>
336
+  </complexType>
337
+  <complexType name="domainCreateResponseData"><!-- ns__domainCreateResponseData -->
338
+
339
+   <complexContent>
340
+    <extension base="ns:CommonResponse">
341
+     <sequence>
342
+     <element name="value" type="ns:Domain" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainCreateResponseData::value -->
343
+     </sequence>
344
+    </extension>
345
+   </complexContent>
346
+  </complexType>
347
+  <complexType name="domainCreateAuthInfoRequest"><!-- ns__domainCreateAuthInfoRequest -->
348
+
349
+   <sequence>
350
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainCreateAuthInfoRequest::clientTransactionId -->
351
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainCreateAuthInfoRequest::authToken -->
352
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainCreateAuthInfoRequest::domainName -->
353
+   </sequence>
354
+  </complexType>
355
+  <complexType name="domainCreateAuthInfoResponseData"><!-- ns__domainCreateAuthInfoResponseData -->
356
+
357
+   <complexContent>
358
+    <extension base="ns:CommonResponse">
359
+     <sequence>
360
+     </sequence>
361
+    </extension>
362
+   </complexContent>
363
+  </complexType>
364
+  <complexType name="domainCreateAuthInfo2Request"><!-- ns__domainCreateAuthInfo2Request -->
365
+
366
+   <sequence>
367
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainCreateAuthInfo2Request::clientTransactionId -->
368
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainCreateAuthInfo2Request::authToken -->
369
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainCreateAuthInfo2Request::domainName -->
370
+   </sequence>
371
+  </complexType>
372
+  <complexType name="domainCreateAuthInfo2ResponseData"><!-- ns__domainCreateAuthInfo2ResponseData -->
373
+
374
+   <complexContent>
375
+    <extension base="ns:CommonResponse">
376
+     <sequence>
377
+     </sequence>
378
+    </extension>
379
+   </complexContent>
380
+  </complexType>
381
+  <complexType name="domainDeleteRequest"><!-- ns__domainDeleteRequest -->
382
+
383
+   <sequence>
384
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainDeleteRequest::clientTransactionId -->
385
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainDeleteRequest::authToken -->
386
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainDeleteRequest::domainName -->
387
+     <element name="execDate" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainDeleteRequest::execDate -->
388
+   </sequence>
389
+  </complexType>
390
+  <complexType name="domainDeleteResponseData"><!-- ns__domainDeleteResponseData -->
391
+
392
+   <complexContent>
393
+    <extension base="ns:CommonResponse">
394
+     <sequence>
395
+     </sequence>
396
+    </extension>
397
+   </complexContent>
398
+  </complexType>
399
+  <complexType name="domainInfoRequest"><!-- ns__domainInfoRequest -->
400
+
401
+   <sequence>
402
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainInfoRequest::clientTransactionId -->
403
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainInfoRequest::authToken -->
404
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainInfoRequest::domainName -->
405
+   </sequence>
406
+  </complexType>
407
+  <complexType name="domainInfoResponseData"><!-- ns__domainInfoResponseData -->
408
+
409
+   <complexContent>
410
+    <extension base="ns:CommonResponse">
411
+     <sequence>
412
+     <element name="value" type="ns:Domain" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainInfoResponseData::value -->
413
+     </sequence>
414
+    </extension>
415
+   </complexContent>
416
+  </complexType>
417
+  <complexType name="domainRenewRequest"><!-- ns__domainRenewRequest -->
418
+
419
+   <sequence>
420
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainRenewRequest::clientTransactionId -->
421
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainRenewRequest::authToken -->
422
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainRenewRequest::domainName -->
423
+     <element name="currentExpiryDate" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainRenewRequest::currentExpiryDate -->
424
+     <element name="registrationPeriod" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__domainRenewRequest::registrationPeriod -->
425
+   </sequence>
426
+  </complexType>
427
+  <complexType name="domainRenewResponseData"><!-- ns__domainRenewResponseData -->
428
+
429
+   <complexContent>
430
+    <extension base="ns:CommonResponse">
431
+     <sequence>
432
+     </sequence>
433
+    </extension>
434
+   </complexContent>
435
+  </complexType>
436
+  <complexType name="domainRestoreRequest"><!-- ns__domainRestoreRequest -->
437
+
438
+   <sequence>
439
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainRestoreRequest::clientTransactionId -->
440
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainRestoreRequest::authToken -->
441
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainRestoreRequest::domainName -->
442
+   </sequence>
443
+  </complexType>
444
+  <complexType name="domainRestoreResponseData"><!-- ns__domainRestoreResponseData -->
445
+
446
+   <complexContent>
447
+    <extension base="ns:CommonResponse">
448
+     <sequence>
449
+     </sequence>
450
+    </extension>
451
+   </complexContent>
452
+  </complexType>
453
+  <complexType name="domainSetAutoRenewModeRequest"><!-- ns__domainSetAutoRenewModeRequest -->
454
+
455
+   <sequence>
456
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainSetAutoRenewModeRequest::clientTransactionId -->
457
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainSetAutoRenewModeRequest::authToken -->
458
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainSetAutoRenewModeRequest::domainName -->
459
+     <element name="mode" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainSetAutoRenewModeRequest::mode -->
460
+   </sequence>
461
+  </complexType>
462
+  <complexType name="domainSetAutoRenewModeResponseData"><!-- ns__domainSetAutoRenewModeResponseData -->
463
+
464
+   <complexContent>
465
+    <extension base="ns:CommonResponse">
466
+     <sequence>
467
+     </sequence>
468
+    </extension>
469
+   </complexContent>
470
+  </complexType>
471
+  <complexType name="domainSimpleTransferRequest"><!-- ns__domainSimpleTransferRequest -->
472
+
473
+   <sequence>
474
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainSimpleTransferRequest::clientTransactionId -->
475
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainSimpleTransferRequest::authToken -->
476
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainSimpleTransferRequest::domainName -->
477
+     <element name="transferData" type="ns:TransferData" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainSimpleTransferRequest::transferData -->
478
+     <element name="registrationPeriod" type="xsd:long" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainSimpleTransferRequest::registrationPeriod -->
479
+     <element name="execDate" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainSimpleTransferRequest::execDate -->
480
+   </sequence>
481
+  </complexType>
482
+  <complexType name="domainSimpleTransferResponseData"><!-- ns__domainSimpleTransferResponseData -->
483
+
484
+   <complexContent>
485
+    <extension base="ns:CommonResponse">
486
+     <sequence>
487
+     </sequence>
488
+    </extension>
489
+   </complexContent>
490
+  </complexType>
491
+  <complexType name="domainStatusRequest"><!-- ns__domainStatusRequest -->
492
+
493
+   <sequence>
494
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainStatusRequest::clientTransactionId -->
495
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainStatusRequest::authToken -->
496
+     <element name="domainNames" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/><!-- ns__domainStatusRequest::domainNames -->
497
+   </sequence>
498
+  </complexType>
499
+  <complexType name="domainStatusResponseData"><!-- ns__domainStatusResponseData -->
500
+
501
+   <complexContent>
502
+    <extension base="ns:CommonResponse">
503
+     <sequence>
504
+     <element name="values" type="ns:DomainStatusResult" minOccurs="0" maxOccurs="unbounded"/><!-- ns__domainStatusResponseData::values -->
505
+     </sequence>
506
+    </extension>
507
+   </complexContent>
508
+  </complexType>
509
+  <complexType name="domainSyncRequest"><!-- ns__domainSyncRequest -->
510
+
511
+   <sequence>
512
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainSyncRequest::clientTransactionId -->
513
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainSyncRequest::authToken -->
514
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainSyncRequest::domainName -->
515
+   </sequence>
516
+  </complexType>
517
+  <complexType name="domainSyncResponseData"><!-- ns__domainSyncResponseData -->
518
+
519
+   <complexContent>
520
+    <extension base="ns:CommonResponse">
521
+     <sequence>
522
+     </sequence>
523
+    </extension>
524
+   </complexContent>
525
+  </complexType>
526
+  <complexType name="domainTransferRequest"><!-- ns__domainTransferRequest -->
527
+
528
+   <sequence>
529
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainTransferRequest::clientTransactionId -->
530
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainTransferRequest::authToken -->
531
+     <element name="domain" type="ns:Domain" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainTransferRequest::domain -->
532
+     <element name="transferData" type="ns:TransferData" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainTransferRequest::transferData -->
533
+     <element name="registrationPeriod" type="xsd:long" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainTransferRequest::registrationPeriod -->
534
+     <element name="execDate" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainTransferRequest::execDate -->
535
+   </sequence>
536
+  </complexType>
537
+  <complexType name="domainTransferResponseData"><!-- ns__domainTransferResponseData -->
538
+
539
+   <complexContent>
540
+    <extension base="ns:CommonResponse">
541
+     <sequence>
542
+     </sequence>
543
+    </extension>
544
+   </complexContent>
545
+  </complexType>
546
+  <complexType name="domainTransferOutAckRequest"><!-- ns__domainTransferOutAckRequest -->
547
+
548
+   <sequence>
549
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainTransferOutAckRequest::clientTransactionId -->
550
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainTransferOutAckRequest::authToken -->
551
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainTransferOutAckRequest::domainName -->
552
+   </sequence>
553
+  </complexType>
554
+  <complexType name="domainTransferOutAckResponseData"><!-- ns__domainTransferOutAckResponseData -->
555
+
556
+   <complexContent>
557
+    <extension base="ns:CommonResponse">
558
+     <sequence>
559
+     </sequence>
560
+    </extension>
561
+   </complexContent>
562
+  </complexType>
563
+  <complexType name="domainTransferOutNackRequest"><!-- ns__domainTransferOutNackRequest -->
564
+
565
+   <sequence>
566
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainTransferOutNackRequest::clientTransactionId -->
567
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainTransferOutNackRequest::authToken -->
568
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainTransferOutNackRequest::domainName -->
569
+     <element name="reason" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainTransferOutNackRequest::reason -->
570
+   </sequence>
571
+  </complexType>
572
+  <complexType name="domainTransferOutNackResponseData"><!-- ns__domainTransferOutNackResponseData -->
573
+
574
+   <complexContent>
575
+    <extension base="ns:CommonResponse">
576
+     <sequence>
577
+     </sequence>
578
+    </extension>
579
+   </complexContent>
580
+  </complexType>
581
+  <complexType name="domainUpdateRequest"><!-- ns__domainUpdateRequest -->
582
+
583
+   <sequence>
584
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainUpdateRequest::clientTransactionId -->
585
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainUpdateRequest::authToken -->
586
+     <element name="domain" type="ns:Domain" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainUpdateRequest::domain -->
587
+   </sequence>
588
+  </complexType>
589
+  <complexType name="domainUpdateResponseData"><!-- ns__domainUpdateResponseData -->
590
+
591
+   <complexContent>
592
+    <extension base="ns:CommonResponse">
593
+     <sequence>
594
+     <element name="value" type="ns:Domain" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainUpdateResponseData::value -->
595
+     </sequence>
596
+    </extension>
597
+   </complexContent>
598
+  </complexType>
599
+  <complexType name="domainWithdrawRequest"><!-- ns__domainWithdrawRequest -->
600
+
601
+   <sequence>
602
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainWithdrawRequest::clientTransactionId -->
603
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainWithdrawRequest::authToken -->
604
+     <element name="domainName" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainWithdrawRequest::domainName -->
605
+     <element name="disconnect" type="xsd:boolean" minOccurs="1" maxOccurs="1"/><!-- ns__domainWithdrawRequest::disconnect -->
606
+     <element name="execDate" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainWithdrawRequest::execDate -->
607
+   </sequence>
608
+  </complexType>
609
+  <complexType name="domainWithdrawResponseData"><!-- ns__domainWithdrawResponseData -->
610
+
611
+   <complexContent>
612
+    <extension base="ns:CommonResponse">
613
+     <sequence>
614
+     </sequence>
615
+    </extension>
616
+   </complexContent>
617
+  </complexType>
618
+  <complexType name="domainsFindRequest"><!-- ns__domainsFindRequest -->
619
+
620
+   <sequence>
621
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainsFindRequest::clientTransactionId -->
622
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__domainsFindRequest::authToken -->
623
+     <element name="filter" type="ns:Filter" minOccurs="0" maxOccurs="unbounded"/><!-- ns__domainsFindRequest::filter -->
624
+     <element name="limit" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__domainsFindRequest::limit -->
625
+     <element name="page" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__domainsFindRequest::page -->
626
+     <element name="sort" type="ns:SortOptions" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainsFindRequest::sort -->
627
+   </sequence>
628
+  </complexType>
629
+  <complexType name="domainsFindResponseData"><!-- ns__domainsFindResponseData -->
630
+
631
+   <complexContent>
632
+    <extension base="ns:CommonResponse">
633
+     <sequence>
634
+     <element name="value" type="ns:FindDomainsResult" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__domainsFindResponseData::value -->
635
+     </sequence>
636
+    </extension>
637
+   </complexContent>
638
+  </complexType>
639
+  <complexType name="jobsFindRequest"><!-- ns__jobsFindRequest -->
640
+
641
+   <sequence>
642
+     <element name="clientTransactionId" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__jobsFindRequest::clientTransactionId -->
643
+     <element name="authToken" type="xsd:string" minOccurs="1" maxOccurs="1"/><!-- ns__jobsFindRequest::authToken -->
644
+     <element name="filter" type="ns:Filter" minOccurs="0" maxOccurs="unbounded"/><!-- ns__jobsFindRequest::filter -->
645
+     <element name="limit" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__jobsFindRequest::limit -->
646
+     <element name="page" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- ns__jobsFindRequest::page -->
647
+     <element name="sort" type="ns:SortOptions" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__jobsFindRequest::sort -->
648
+   </sequence>
649
+  </complexType>
650
+  <complexType name="jobsFindResponseData"><!-- ns__jobsFindResponseData -->
651
+
652
+   <complexContent>
653
+    <extension base="ns:CommonResponse">
654
+     <sequence>
655
+     <element name="value" type="ns:FindJobsResult" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__jobsFindResponseData::value -->
656
+     </sequence>
657
+    </extension>
658
+   </complexContent>
659
+  </complexType>
660
+ </schema>
661
+
662
+</types>
663
+
664
+<message name="contactCreate">
665
+ <part name="request" type="ns:contactCreateRequest"/><!-- ns__contactCreate::request -->
666
+</message>
667
+
668
+<message name="contactCreateResponse">
669
+ <part name="response" type="ns:contactCreateResponseData"/><!-- ns__contactCreate::response -->
670
+</message>
671
+
672
+<message name="contactDelete">
673
+ <part name="request" type="ns:contactDeleteRequest"/><!-- ns__contactDelete::request -->
674
+</message>
675
+
676
+<message name="contactDeleteResponse">
677
+ <part name="response" type="ns:contactDeleteResponseData"/><!-- ns__contactDelete::response -->
678
+</message>
679
+
680
+<message name="contactInfo">
681
+ <part name="request" type="ns:contactInfoRequest"/><!-- ns__contactInfo::request -->
682
+</message>
683
+
684
+<message name="contactInfoResponse">
685
+ <part name="response" type="ns:contactInfoResponseData"/><!-- ns__contactInfo::response -->
686
+</message>
687
+
688
+<message name="contactSync">
689
+ <part name="request" type="ns:contactSyncRequest"/><!-- ns__contactSync::request -->
690
+</message>
691
+
692
+<message name="contactSyncResponse">
693
+ <part name="response" type="ns:contactSyncResponseData"/><!-- ns__contactSync::response -->
694
+</message>
695
+
696
+<message name="contactUpdate">
697
+ <part name="request" type="ns:contactUpdateRequest"/><!-- ns__contactUpdate::request -->
698
+</message>
699
+
700
+<message name="contactUpdateResponse">
701
+ <part name="response" type="ns:contactUpdateResponseData"/><!-- ns__contactUpdate::response -->
702
+</message>
703
+
704
+<message name="contactUsableFor">
705
+ <part name="request" type="ns:contactUsableForRequest"/><!-- ns__contactUsableFor::request -->
706
+</message>
707
+
708
+<message name="contactUsableForResponse">
709
+ <part name="response" type="ns:contactUsableForResponseData"/><!-- ns__contactUsableFor::response -->
710
+</message>
711
+
712
+<message name="contactsFind">
713
+ <part name="request" type="ns:contactsFindRequest"/><!-- ns__contactsFind::request -->
714
+</message>
715
+
716
+<message name="contactsFindResponse">
717
+ <part name="response" type="ns:contactsFindResponseData"/><!-- ns__contactsFind::response -->
718
+</message>
719
+
720
+<message name="domainChangeTag">
721
+ <part name="request" type="ns:domainChangeTagRequest"/><!-- ns__domainChangeTag::request -->
722
+</message>
723
+
724
+<message name="domainChangeTagResponse">
725
+ <part name="response" type="ns:domainChangeTagResponseData"/><!-- ns__domainChangeTag::response -->
726
+</message>
727
+
728
+<message name="domainCreate">
729
+ <part name="request" type="ns:domainCreateRequest"/><!-- ns__domainCreate::request -->
730
+</message>
731
+
732
+<message name="domainCreateResponse">
733
+ <part name="response" type="ns:domainCreateResponseData"/><!-- ns__domainCreate::response -->
734
+</message>
735
+
736
+<message name="domainCreateAuthInfo">
737
+ <part name="request" type="ns:domainCreateAuthInfoRequest"/><!-- ns__domainCreateAuthInfo::request -->
738
+</message>
739
+
740
+<message name="domainCreateAuthInfoResponse">
741
+ <part name="response" type="ns:domainCreateAuthInfoResponseData"/><!-- ns__domainCreateAuthInfo::response -->
742
+</message>
743
+
744
+<message name="domainCreateAuthInfo2">
745
+ <part name="request" type="ns:domainCreateAuthInfo2Request"/><!-- ns__domainCreateAuthInfo2::request -->
746
+</message>
747
+
748
+<message name="domainCreateAuthInfo2Response">
749
+ <part name="response" type="ns:domainCreateAuthInfo2ResponseData"/><!-- ns__domainCreateAuthInfo2::response -->
750
+</message>
751
+
752
+<message name="domainDelete">
753
+ <part name="request" type="ns:domainDeleteRequest"/><!-- ns__domainDelete::request -->
754
+</message>
755
+
756
+<message name="domainDeleteResponse">
757
+ <part name="response" type="ns:domainDeleteResponseData"/><!-- ns__domainDelete::response -->
758
+</message>
759
+
760
+<message name="domainInfo">
761
+ <part name="request" type="ns:domainInfoRequest"/><!-- ns__domainInfo::request -->
762
+</message>
763
+
764
+<message name="domainInfoResponse">
765
+ <part name="response" type="ns:domainInfoResponseData"/><!-- ns__domainInfo::response -->
766
+</message>
767
+
768
+<message name="domainRenew">
769
+ <part name="request" type="ns:domainRenewRequest"/><!-- ns__domainRenew::request -->
770
+</message>
771
+
772
+<message name="domainRenewResponse">
773
+ <part name="response" type="ns:domainRenewResponseData"/><!-- ns__domainRenew::response -->
774
+</message>
775
+
776
+<message name="domainRestore">
777
+ <part name="request" type="ns:domainRestoreRequest"/><!-- ns__domainRestore::request -->
778
+</message>
779
+
780
+<message name="domainRestoreResponse">
781
+ <part name="response" type="ns:domainRestoreResponseData"/><!-- ns__domainRestore::response -->
782
+</message>
783
+
784
+<message name="domainSetAutoRenewMode">
785
+ <part name="request" type="ns:domainSetAutoRenewModeRequest"/><!-- ns__domainSetAutoRenewMode::request -->
786
+</message>
787
+
788
+<message name="domainSetAutoRenewModeResponse">
789
+ <part name="response" type="ns:domainSetAutoRenewModeResponseData"/><!-- ns__domainSetAutoRenewMode::response -->
790
+</message>
791
+
792
+<message name="domainSimpleTransfer">
793
+ <part name="request" type="ns:domainSimpleTransferRequest"/><!-- ns__domainSimpleTransfer::request -->
794
+</message>
795
+
796
+<message name="domainSimpleTransferResponse">
797
+ <part name="response" type="ns:domainSimpleTransferResponseData"/><!-- ns__domainSimpleTransfer::response -->
798
+</message>
799
+
800
+<message name="domainStatus">
801
+ <part name="request" type="ns:domainStatusRequest"/><!-- ns__domainStatus::request -->
802
+</message>
803
+
804
+<message name="domainStatusResponse">
805
+ <part name="response" type="ns:domainStatusResponseData"/><!-- ns__domainStatus::response -->
806
+</message>
807
+
808
+<message name="domainSync">
809
+ <part name="request" type="ns:domainSyncRequest"/><!-- ns__domainSync::request -->
810
+</message>
811
+
812
+<message name="domainSyncResponse">
813
+ <part name="response" type="ns:domainSyncResponseData"/><!-- ns__domainSync::response -->
814
+</message>
815
+
816
+<message name="domainTransfer">
817
+ <part name="request" type="ns:domainTransferRequest"/><!-- ns__domainTransfer::request -->
818
+</message>
819
+
820
+<message name="domainTransferResponse">
821
+ <part name="response" type="ns:domainTransferResponseData"/><!-- ns__domainTransfer::response -->
822
+</message>
823
+
824
+<message name="domainTransferOutAck">
825
+ <part name="request" type="ns:domainTransferOutAckRequest"/><!-- ns__domainTransferOutAck::request -->
826
+</message>
827
+
828
+<message name="domainTransferOutAckResponse">
829
+ <part name="response" type="ns:domainTransferOutAckResponseData"/><!-- ns__domainTransferOutAck::response -->
830
+</message>
831
+
832
+<message name="domainTransferOutNack">
833
+ <part name="request" type="ns:domainTransferOutNackRequest"/><!-- ns__domainTransferOutNack::request -->
834
+</message>
835
+
836
+<message name="domainTransferOutNackResponse">
837
+ <part name="response" type="ns:domainTransferOutNackResponseData"/><!-- ns__domainTransferOutNack::response -->
838
+</message>
839
+
840
+<message name="domainUpdate">
841
+ <part name="request" type="ns:domainUpdateRequest"/><!-- ns__domainUpdate::request -->
842
+</message>
843
+
844
+<message name="domainUpdateResponse">
845
+ <part name="response" type="ns:domainUpdateResponseData"/><!-- ns__domainUpdate::response -->
846
+</message>
847
+
848
+<message name="domainWithdraw">
849
+ <part name="request" type="ns:domainWithdrawRequest"/><!-- ns__domainWithdraw::request -->
850
+</message>
851
+
852
+<message name="domainWithdrawResponse">
853
+ <part name="response" type="ns:domainWithdrawResponseData"/><!-- ns__domainWithdraw::response -->
854
+</message>
855
+
856
+<message name="domainsFind">
857
+ <part name="request" type="ns:domainsFindRequest"/><!-- ns__domainsFind::request -->
858
+</message>
859
+
860
+<message name="domainsFindResponse">
861
+ <part name="response" type="ns:domainsFindResponseData"/><!-- ns__domainsFind::response -->
862
+</message>
863
+
864
+<message name="jobsFind">
865
+ <part name="request" type="ns:jobsFindRequest"/><!-- ns__jobsFind::request -->
866
+</message>
867
+
868
+<message name="jobsFindResponse">
869
+ <part name="response" type="ns:jobsFindResponseData"/><!-- ns__jobsFind::response -->
870
+</message>
871
+
872
+<portType name="domainrobotPortType">
873
+ <operation name="contactCreate">
874
+  <documentation>Service definition of function ns__contactCreate</documentation>
875
+  <input message="tns:contactCreate"/>
876
+  <output message="tns:contactCreateResponse"/>
877
+ </operation>
878
+ <operation name="contactDelete">
879
+  <documentation>Service definition of function ns__contactDelete</documentation>
880
+  <input message="tns:contactDelete"/>
881
+  <output message="tns:contactDeleteResponse"/>
882
+ </operation>
883
+ <operation name="contactInfo">
884
+  <documentation>Service definition of function ns__contactInfo</documentation>
885
+  <input message="tns:contactInfo"/>
886
+  <output message="tns:contactInfoResponse"/>
887
+ </operation>
888
+ <operation name="contactSync">
889
+  <documentation>Service definition of function ns__contactSync</documentation>
890
+  <input message="tns:contactSync"/>
891
+  <output message="tns:contactSyncResponse"/>
892
+ </operation>
893
+ <operation name="contactUpdate">
894
+  <documentation>Service definition of function ns__contactUpdate</documentation>
895
+  <input message="tns:contactUpdate"/>
896
+  <output message="tns:contactUpdateResponse"/>
897
+ </operation>
898
+ <operation name="contactUsableFor">
899
+  <documentation>Service definition of function ns__contactUsableFor</documentation>
900
+  <input message="tns:contactUsableFor"/>
901
+  <output message="tns:contactUsableForResponse"/>
902
+ </operation>
903
+ <operation name="contactsFind">
904
+  <documentation>Service definition of function ns__contactsFind</documentation>
905
+  <input message="tns:contactsFind"/>
906
+  <output message="tns:contactsFindResponse"/>
907
+ </operation>
908
+ <operation name="domainChangeTag">
909
+  <documentation>Service definition of function ns__domainChangeTag</documentation>
910
+  <input message="tns:domainChangeTag"/>
911
+  <output message="tns:domainChangeTagResponse"/>
912
+ </operation>
913
+ <operation name="domainCreate">
914
+  <documentation>Service definition of function ns__domainCreate</documentation>
915
+  <input message="tns:domainCreate"/>
916
+  <output message="tns:domainCreateResponse"/>
917
+ </operation>
918
+ <operation name="domainCreateAuthInfo">
919
+  <documentation>Service definition of function ns__domainCreateAuthInfo</documentation>
920
+  <input message="tns:domainCreateAuthInfo"/>
921
+  <output message="tns:domainCreateAuthInfoResponse"/>
922
+ </operation>
923
+ <operation name="domainCreateAuthInfo2">
924
+  <documentation>Service definition of function ns__domainCreateAuthInfo2</documentation>
925
+  <input message="tns:domainCreateAuthInfo2"/>
926
+  <output message="tns:domainCreateAuthInfo2Response"/>
927
+ </operation>
928
+ <operation name="domainDelete">
929
+  <documentation>Service definition of function ns__domainDelete</documentation>
930
+  <input message="tns:domainDelete"/>
931
+  <output message="tns:domainDeleteResponse"/>
932
+ </operation>
933
+ <operation name="domainInfo">
934
+  <documentation>Service definition of function ns__domainInfo</documentation>
935
+  <input message="tns:domainInfo"/>
936
+  <output message="tns:domainInfoResponse"/>
937
+ </operation>
938
+ <operation name="domainRenew">
939
+  <documentation>Service definition of function ns__domainRenew</documentation>
940
+  <input message="tns:domainRenew"/>
941
+  <output message="tns:domainRenewResponse"/>
942
+ </operation>
943
+ <operation name="domainRestore">
944
+  <documentation>Service definition of function ns__domainRestore</documentation>
945
+  <input message="tns:domainRestore"/>
946
+  <output message="tns:domainRestoreResponse"/>
947
+ </operation>
948
+ <operation name="domainSetAutoRenewMode">
949
+  <documentation>Service definition of function ns__domainSetAutoRenewMode</documentation>
950
+  <input message="tns:domainSetAutoRenewMode"/>
951
+  <output message="tns:domainSetAutoRenewModeResponse"/>
952
+ </operation>
953
+ <operation name="domainSimpleTransfer">
954
+  <documentation>Service definition of function ns__domainSimpleTransfer</documentation>
955
+  <input message="tns:domainSimpleTransfer"/>
956
+  <output message="tns:domainSimpleTransferResponse"/>
957
+ </operation>
958
+ <operation name="domainStatus">
959
+  <documentation>Service definition of function ns__domainStatus</documentation>
960
+  <input message="tns:domainStatus"/>
961
+  <output message="tns:domainStatusResponse"/>
962
+ </operation>
963
+ <operation name="domainSync">
964
+  <documentation>Service definition of function ns__domainSync</documentation>
965
+  <input message="tns:domainSync"/>
966
+  <output message="tns:domainSyncResponse"/>
967
+ </operation>
968
+ <operation name="domainTransfer">
969
+  <documentation>Service definition of function ns__domainTransfer</documentation>
970
+  <input message="tns:domainTransfer"/>
971
+  <output message="tns:domainTransferResponse"/>
972
+ </operation>
973
+ <operation name="domainTransferOutAck">
974
+  <documentation>Service definition of function ns__domainTransferOutAck</documentation>
975
+  <input message="tns:domainTransferOutAck"/>
976
+  <output message="tns:domainTransferOutAckResponse"/>
977
+ </operation>
978
+ <operation name="domainTransferOutNack">
979
+  <documentation>Service definition of function ns__domainTransferOutNack</documentation>
980
+  <input message="tns:domainTransferOutNack"/>
981
+  <output message="tns:domainTransferOutNackResponse"/>
982
+ </operation>
983
+ <operation name="domainUpdate">
984
+  <documentation>Service definition of function ns__domainUpdate</documentation>
985
+  <input message="tns:domainUpdate"/>
986
+  <output message="tns:domainUpdateResponse"/>
987
+ </operation>
988
+ <operation name="domainWithdraw">
989
+  <documentation>Service definition of function ns__domainWithdraw</documentation>
990
+  <input message="tns:domainWithdraw"/>
991
+  <output message="tns:domainWithdrawResponse"/>
992
+ </operation>
993
+ <operation name="domainsFind">
994
+  <documentation>Service definition of function ns__domainsFind</documentation>
995
+  <input message="tns:domainsFind"/>
996
+  <output message="tns:domainsFindResponse"/>
997
+ </operation>
998
+ <operation name="jobsFind">
999
+  <documentation>Service definition of function ns__jobsFind</documentation>
1000
+  <input message="tns:jobsFind"/>
1001
+  <output message="tns:jobsFindResponse"/>
1002
+ </operation>
1003
+</portType>
1004
+
1005
+<binding name="domainrobot" type="tns:domainrobotPortType">
1006
+ <SOAP:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
1007
+ <operation name="contactCreate">
1008
+  <SOAP:operation style="rpc" soapAction=""/>
1009
+  <input>
1010
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1011
+  </input>
1012
+  <output>
1013
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1014
+  </output>
1015
+ </operation>
1016
+ <operation name="contactDelete">
1017
+  <SOAP:operation style="rpc" soapAction=""/>
1018
+  <input>
1019
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1020
+  </input>
1021
+  <output>
1022
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1023
+  </output>
1024
+ </operation>
1025
+ <operation name="contactInfo">
1026
+  <SOAP:operation style="rpc" soapAction=""/>
1027
+  <input>
1028
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1029
+  </input>
1030
+  <output>
1031
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1032
+  </output>
1033
+ </operation>
1034
+ <operation name="contactSync">
1035
+  <SOAP:operation style="rpc" soapAction=""/>
1036
+  <input>
1037
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1038
+  </input>
1039
+  <output>
1040
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1041
+  </output>
1042
+ </operation>
1043
+ <operation name="contactUpdate">
1044
+  <SOAP:operation style="rpc" soapAction=""/>
1045
+  <input>
1046
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1047
+  </input>
1048
+  <output>
1049
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1050
+  </output>
1051
+ </operation>
1052
+ <operation name="contactUsableFor">
1053
+  <SOAP:operation style="rpc" soapAction=""/>
1054
+  <input>
1055
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1056
+  </input>
1057
+  <output>
1058
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1059
+  </output>
1060
+ </operation>
1061
+ <operation name="contactsFind">
1062
+  <SOAP:operation style="rpc" soapAction=""/>
1063
+  <input>
1064
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1065
+  </input>
1066
+  <output>
1067
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1068
+  </output>
1069
+ </operation>
1070
+ <operation name="domainChangeTag">
1071
+  <SOAP:operation style="rpc" soapAction=""/>
1072
+  <input>
1073
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1074
+  </input>
1075
+  <output>
1076
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1077
+  </output>
1078
+ </operation>
1079
+ <operation name="domainCreate">
1080
+  <SOAP:operation style="rpc" soapAction=""/>
1081
+  <input>
1082
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1083
+  </input>
1084
+  <output>
1085
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1086
+  </output>
1087
+ </operation>
1088
+ <operation name="domainCreateAuthInfo">
1089
+  <SOAP:operation style="rpc" soapAction=""/>
1090
+  <input>
1091
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1092
+  </input>
1093
+  <output>
1094
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1095
+  </output>
1096
+ </operation>
1097
+ <operation name="domainCreateAuthInfo2">
1098
+  <SOAP:operation style="rpc" soapAction=""/>
1099
+  <input>
1100
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1101
+  </input>
1102
+  <output>
1103
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1104
+  </output>
1105
+ </operation>
1106
+ <operation name="domainDelete">
1107
+  <SOAP:operation style="rpc" soapAction=""/>
1108
+  <input>
1109
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1110
+  </input>
1111
+  <output>
1112
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1113
+  </output>
1114
+ </operation>
1115
+ <operation name="domainInfo">
1116
+  <SOAP:operation style="rpc" soapAction=""/>
1117
+  <input>
1118
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1119
+  </input>
1120
+  <output>
1121
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1122
+  </output>
1123
+ </operation>
1124
+ <operation name="domainRenew">
1125
+  <SOAP:operation style="rpc" soapAction=""/>
1126
+  <input>
1127
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1128
+  </input>
1129
+  <output>
1130
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1131
+  </output>
1132
+ </operation>
1133
+ <operation name="domainRestore">
1134
+  <SOAP:operation style="rpc" soapAction=""/>
1135
+  <input>
1136
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1137
+  </input>
1138
+  <output>
1139
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1140
+  </output>
1141
+ </operation>
1142
+ <operation name="domainSetAutoRenewMode">
1143
+  <SOAP:operation style="rpc" soapAction=""/>
1144
+  <input>
1145
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1146
+  </input>
1147
+  <output>
1148
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1149
+  </output>
1150
+ </operation>
1151
+ <operation name="domainSimpleTransfer">
1152
+  <SOAP:operation style="rpc" soapAction=""/>
1153
+  <input>
1154
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1155
+  </input>
1156
+  <output>
1157
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1158
+  </output>
1159
+ </operation>
1160
+ <operation name="domainStatus">
1161
+  <SOAP:operation style="rpc" soapAction=""/>
1162
+  <input>
1163
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1164
+  </input>
1165
+  <output>
1166
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1167
+  </output>
1168
+ </operation>
1169
+ <operation name="domainSync">
1170
+  <SOAP:operation style="rpc" soapAction=""/>
1171
+  <input>
1172
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1173
+  </input>
1174
+  <output>
1175
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1176
+  </output>
1177
+ </operation>
1178
+ <operation name="domainTransfer">
1179
+  <SOAP:operation style="rpc" soapAction=""/>
1180
+  <input>
1181
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1182
+  </input>
1183
+  <output>
1184
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1185
+  </output>
1186
+ </operation>
1187
+ <operation name="domainTransferOutAck">
1188
+  <SOAP:operation style="rpc" soapAction=""/>
1189
+  <input>
1190
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1191
+  </input>
1192
+  <output>
1193
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1194
+  </output>
1195
+ </operation>
1196
+ <operation name="domainTransferOutNack">
1197
+  <SOAP:operation style="rpc" soapAction=""/>
1198
+  <input>
1199
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1200
+  </input>
1201
+  <output>
1202
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1203
+  </output>
1204
+ </operation>
1205
+ <operation name="domainUpdate">
1206
+  <SOAP:operation style="rpc" soapAction=""/>
1207
+  <input>
1208
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1209
+  </input>
1210
+  <output>
1211
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1212
+  </output>
1213
+ </operation>
1214
+ <operation name="domainWithdraw">
1215
+  <SOAP:operation style="rpc" soapAction=""/>
1216
+  <input>
1217
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1218
+  </input>
1219
+  <output>
1220
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1221
+  </output>
1222
+ </operation>
1223
+ <operation name="domainsFind">
1224
+  <SOAP:operation style="rpc" soapAction=""/>
1225
+  <input>
1226
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1227
+  </input>
1228
+  <output>
1229
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1230
+  </output>
1231
+ </operation>
1232
+ <operation name="jobsFind">
1233
+  <SOAP:operation style="rpc" soapAction=""/>
1234
+  <input>
1235
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1236
+  </input>
1237
+  <output>
1238
+     <SOAP:body use="encoded" namespace="urn:domainrobot" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1239
+  </output>
1240
+ </operation>
1241
+</binding>
1242
+
1243
+<service name="domainrobot">
1244
+ <documentation>gSOAP 2.8.17r generated service definition</documentation>
1245
+ <port name="domainrobot" binding="tns:domainrobot">
1246
+  <SOAP:address location="http://localhost:80"/>
1247
+ </port>
1248
+</service>
1249
+
1250
+</definitions>
... ...
@@ -14,68 +14,25 @@ http://creativecommons.org/publicdomain/zero/1.0/
14 14
 Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
15 15
 */
16 16
 
17
+require_once('external/tld-systems/domainRobotApi.php');
18
+
17 19
 require_once('inc/debug.php');
18 20
 require_once('inc/base.php');
19 21
 require_once('inc/security.php');
20 22
 require_once('inc/error.php');
21 23
 
22
-require_once('terions.php');
23
-
24 24
 
25 25
 function terions_available($domainname) 
26 26
 {
27
-  $result = terions_send_request('info', 'check_status', array('domain' => $domainname));
28
-  $val = $result->value();
29
-  DEBUG($val);
30
-  if (strstr($val->scalarval(), 'Domain not taken.')) {
31
-    return true;
27
+  if (! config('tld-systems-apikey')) {
28
+    system_failure("Kein API-Key vorhanden!");
32 29
   }
33
-  return false;
34
-}
35
-
36
-
37
-function terions_send_request($action, $task, $values)
38
-{
39
-  $conf = get_xmlrpc_config();
40
-  require_once('external/xmlrpc/xmlrpc.inc');
41
-
42
-  $client=new xmlrpc_client("/RX", "www.regspeed.de", 443);
43
-
44
-  $xmlvalues = array(
45
-    "username" => new xmlrpcval($conf['username']),
46
-    "password" => new xmlrpcval($conf['password']),
47
-    "key" => new xmlrpcval($conf['key']),
48
-    "task" => new xmlrpcval($task)
49
-    );
50
-  foreach ($values as $key => $val) {
51
-    if ($val === (int) $val) {
52
-      DEBUG('INT: '.$val);
53
-      $xmlvalues[$key] = new xmlrpcval((int) $val, 'int');
54
-    } else {
55
-      $xmlvalues[$key] = new xmlrpcval($val);
30
+  $api = new domainRobotApi(config('tld-systems-apikey'));
31
+  $result = $api->domainStatus($domainname);
32
+  if (isset($api->getValues()[0])) {
33
+    return ($api->getValues()[0]->status == 'available');
56 34
   }
57
-  }
58
-  $data = new xmlrpcval($xmlvalues, "struct");
59
-  
60
-  $cmd = new xmlrpcmsg($action,array($data));
61
-  $client->setSSLVerifyHost(2);
62
-  $response = $client->send($cmd,'0', 'https');
63
-  DEBUG($response);
64
-  return $response;
65
-}
66
-
67
-
68
-function get_xmlrpc_config() 
69
-{
70
-  $conf = array(
71
-    "username" => config('terions_username'),
72
-    "password" => config('terions_password'),
73
-    "key" => config('terions_xmlrpckey')
74
-    );
75
-  if (! $conf['username'] || ! $conf['password'] || ! $conf['key']) {
76
-    system_failure('XML-RPC-Zugangsdaten nicht vorhanden');
77
-  }
78
-  return $conf;
35
+  return false;
79 36
 }
80 37
 
81 38
 
82 39