File Coverage

blib/lib/Net/MySourceMatrix.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1             package Net::MySourceMatrix;
2            
3 1     1   1195 use strict;
  1         2  
  1         39  
4 1     1   28 use 5.008005;
  1         4  
  1         38  
5 1     1   475 use SOAP::Lite;
  0            
  0            
6             use MIME::Base64 qw(encode_base64);
7            
8             our $VERSION = '0.04';
9            
10             sub new {
11            
12             my ($class, $args) = @_;
13             my $self = bless($args, $class);
14            
15             #create and initialise the soap client
16             $self->{soap} = $self->create_soap_client();
17             return $self;
18             }
19            
20             sub create_soap_client {
21            
22             my ($self, %param) = @_;
23            
24             my $client = SOAP::Lite->new( proxy => $self->{proxy});
25             $client->transport->http_request->header (
26             'Authorization' => 'Basic '.encode_base64($self->{username}.":".$self->{password})
27             );
28             $client->autotype(0);
29             $client->default_ns($self->{default_ns});
30             return $client;
31             }
32            
33             sub create_asset_link {
34            
35             my ($self, %param) = @_;
36             $self->{soap}->on_action( sub { $self->{proxy}."#CreateAssetLink" });
37             my $som = $self->{soap}->call("CreateAssetLink",
38             SOAP::Data->name('MajorID')->value($param{MajorID}),
39             SOAP::Data->name('MinorID')->value($param{MinorID}),
40             SOAP::Data->name('LinkType')->value($param{LinkType}),
41             SOAP::Data->name('LinkValue')->value($param{LinkValue}),
42             SOAP::Data->name('SortOrder')->value($param{SortOrder}),
43             SOAP::Data->name('IsDependant')->value($param{IsDependant}),
44             SOAP::Data->name('IsExclusive')->value($param{IsExclusive}),
45             );
46             die $som->fault->{ faultstring } if ($som->fault);
47             return ( $som->valueof('//CreateAssetLinkResult'),);
48             }
49            
50             sub delete_asset_link {
51            
52             my ($self, %param) = @_;
53             $self->{soap}->on_action( sub { $self->{proxy}."#DeleteAssetLink" });
54             my $som = $self->{soap}->call("DeleteAssetLink",
55             SOAP::Data->name('LinkID')->value($param{LinkID}),
56             );
57             die $som->fault->{ faultstring } if ($som->fault);
58             return ( $som->valueof('//DeleteAssetLinkResult'),);
59             }
60            
61             sub get_all_child_links {
62            
63             my ($self, %param) = @_;
64             $self->{soap}->on_action( sub { $self->{proxy}."#GetAllChildLinks" });
65             my $som = $self->{soap}->call("GetAllChildLinks",
66             SOAP::Data->name('AssetID')->value($param{AssetID}),
67             SOAP::Data->name('LinkType')->value($param{LinkType}),
68             );
69             die $som->fault->{ faultstring } if ($som->fault);
70             return ( $som->valueof('//GetAllChildLinksResult'),);
71             }
72            
73             sub get_children {
74            
75             my ($self, %param) = @_;
76             $self->{soap}->on_action( sub { $self->{proxy}."#GetChildren" });
77             my $som = $self->{soap}->call("GetChildren",
78             SOAP::Data->name('AssetID')->value($param{AssetID}),
79             SOAP::Data->name('TypeCode')->value($param{TypeCode}),
80             SOAP::Data->name('StrictTypeCode')->value($param{StrictTypeCode}),
81             SOAP::Data->name('Dependant')->value($param{Dependant}),
82             SOAP::Data->name('SortBy')->value($param{SortBy}),
83             SOAP::Data->name('PermissionLevel')->value($param{PermissionLevel}),
84             SOAP::Data->name('EffectiveAccess')->value($param{EffectiveAccess}),
85             SOAP::Data->name('MinDepth')->value($param{MinDepth}),
86             SOAP::Data->name('MaxDepth')->value($param{MaxDepth}),
87             SOAP::Data->name('DirectShadowsOnly')->value($param{DirectShadowsOnly}),
88             SOAP::Data->name('LinkValueWanted')->value($param{LinkValueWanted}),
89             );
90             die $som->fault->{ faultstring } if ($som->fault);
91             return ( $som->valueof('//GetChildrenResult'),);
92             }
93            
94             sub get_dependant_children {
95            
96             my ($self, %param) = @_;
97             $self->{soap}->on_action( sub { $self->{proxy}."#GetDependantChildren" });
98             my $som = $self->{soap}->call("GetDependantChildren",
99             SOAP::Data->name('AssetID')->value($param{AssetID}),
100             SOAP::Data->name('TypeCode')->value($param{TypeCode}),
101             SOAP::Data->name('StrictTypeCode')->value($param{StrictTypeCode}),
102             );
103             die $som->fault->{ faultstring } if ($som->fault);
104             return ( $som->valueof('//GetDependantChildrenResult'),);
105             }
106            
107             sub get_dependant_parents {
108            
109             my ($self, %param) = @_;
110             $self->{soap}->on_action( sub { $self->{proxy}."#GetDependantParents" });
111             my $som = $self->{soap}->call("GetDependantParents",
112             SOAP::Data->name('AssetID')->value($param{AssetID}),
113             SOAP::Data->name('TypeCode')->value($param{TypeCode}),
114             SOAP::Data->name('StrictTypeCode')->value($param{StrictTypeCode}),
115             SOAP::Data->name('IncludeAllDependants')->value($param{IncludeAllDependants}),
116             );
117             die $som->fault->{ faultstring } if ($som->fault);
118             return ( $som->valueof('//GetDependantParentsResult'),);
119             }
120            
121             sub get_links {
122            
123             my ($self, %param) = @_;
124             $self->{soap}->on_action( sub { $self->{proxy}."#GetLinks" });
125             my $som = $self->{soap}->call("GetLinks",
126             SOAP::Data->name('AssetID')->value($param{AssetID}),
127             SOAP::Data->name('LinkType')->value($param{LinkType}),
128             SOAP::Data->name('TypeCode')->value($param{TypeCode}),
129             SOAP::Data->name('StrictTypeCode')->value($param{StrictTypeCode}),
130             SOAP::Data->name('SideOfLink')->value($param{SideOfLink}),
131             SOAP::Data->name('LinkValue')->value($param{LinkValue}),
132             SOAP::Data->name('Dependant')->value($param{Dependant}),
133             SOAP::Data->name('Exclusive')->value($param{Exclusive}),
134             SOAP::Data->name('SortBy')->value($param{SortBy}),
135             SOAP::Data->name('PermissionLevel')->value($param{PermissionLevel}),
136             SOAP::Data->name('Effective')->value($param{Effective}),
137             );
138             die $som->fault->{ faultstring } if ($som->fault);
139             return ( $som->valueof('//GetLinksResult'),);
140             }
141            
142             sub get_link_by_asset {
143            
144             my ($self, %param) = @_;
145             $self->{soap}->on_action( sub { $self->{proxy}."#GetLinkByAsset" });
146             my $som = $self->{soap}->call("GetLinkByAsset",
147             SOAP::Data->name('AssetID')->value($param{AssetID}),
148             SOAP::Data->name('OtherAssetID')->value($param{OtherAssetID}),
149             SOAP::Data->name('LinkType')->value($param{LinkType}),
150             SOAP::Data->name('LinkValue')->value($param{LinkValue}),
151             SOAP::Data->name('SideOfLink')->value($param{SideOfLink}),
152             SOAP::Data->name('IsDependant')->value($param{IsDependant}),
153             SOAP::Data->name('IsExclusive')->value($param{IsExclusive}),
154             );
155             die $som->fault->{ faultstring } if ($som->fault);
156             return ( $som->valueof('//GetLinkByAssetResult'),);
157             }
158            
159             sub get_link_lineages {
160            
161             my ($self, %param) = @_;
162             $self->{soap}->on_action( sub { $self->{proxy}."#GetLinkLineages" });
163             my $som = $self->{soap}->call("GetLinkLineages",
164             SOAP::Data->name('AssetID')->value($param{AssetID}),
165             SOAP::Data->name('RootNode')->value($param{RootNode}),
166             );
167             die $som->fault->{ faultstring } if ($som->fault);
168             return ( $som->valueof('//GetLinkLineagesResult'),);
169             }
170            
171             sub move_link {
172            
173             my ($self, %param) = @_;
174             $self->{soap}->on_action( sub { $self->{proxy}."#MoveLink" });
175             my $som = $self->{soap}->call("MoveLink",
176             SOAP::Data->name('LinkID')->value($param{LinkID}),
177             SOAP::Data->name('LinkType')->value($param{LinkType}),
178             SOAP::Data->name('ToParentID')->value($param{ToParentID}),
179             SOAP::Data->name('ToParentPosition')->value($param{ToParentPosition}),
180             );
181             die $som->fault->{ faultstring } if ($som->fault);
182             return ( $som->valueof('//MoveLinkResult'),);
183             }
184            
185             sub update_link {
186            
187             my ($self, %param) = @_;
188             $self->{soap}->on_action( sub { $self->{proxy}."#UpdateLink" });
189             my $som = $self->{soap}->call("UpdateLink",
190             SOAP::Data->name('LinkID')->value($param{LinkID}),
191             SOAP::Data->name('LinkType')->value($param{LinkType}),
192             SOAP::Data->name('LinkValue')->value($param{LinkValue}),
193             SOAP::Data->name('SortOrder')->value($param{SortOrder}),
194             );
195             die $som->fault->{ faultstring } if ($som->fault);
196             return ( $som->valueof('//UpdateLinkResult'),);
197             }
198            
199             sub get_parents {
200            
201             my ($self, %param) = @_;
202             $self->{soap}->on_action( sub { $self->{proxy}."#GetParents" });
203             my $som = $self->{soap}->call("GetParents",
204             SOAP::Data->name('AssetID')->value($param{AssetID}),
205             SOAP::Data->name('TypeCode')->value($param{TypeCode}),
206             SOAP::Data->name('StrictTypeCode')->value($param{StrictTypeCode}),
207             SOAP::Data->name('SortBy')->value($param{SortBy}),
208             SOAP::Data->name('PermissionLevel')->value($param{PermissionLevel}),
209             SOAP::Data->name('Effective')->value($param{Effective}),
210             SOAP::Data->name('MinDepth')->value($param{MinDepth}),
211             SOAP::Data->name('MaxDepth')->value($param{MaxDepth}),
212             SOAP::Data->name('DirectShadowOnly')->value($param{DirectShadowOnly}),
213             SOAP::Data->name('LinkValueWanted')->value($param{LinkValueWanted}),
214             );
215             die $som->fault->{ faultstring } if ($som->fault);
216             return ( $som->valueof('//GetParentsResult'),);
217             }
218            
219             sub get_parents_under_tree {
220            
221             my ($self, %param) = @_;
222             $self->{soap}->on_action( sub { $self->{proxy}."#GetParentsUnderTree" });
223             my $som = $self->{soap}->call("GetParentsUnderTree",
224             SOAP::Data->name('AssetID')->value($param{AssetID}),
225             SOAP::Data->name('RootID')->value($param{RootID}),
226             SOAP::Data->name('MinLevel')->value($param{MinLevel}),
227             SOAP::Data->name('MaxLevel')->value($param{MaxLevel}),
228             );
229             die $som->fault->{ faultstring } if ($som->fault);
230             return ( $som->valueof('//ParentPaths'),);
231             }
232            
233             sub has_access {
234            
235             my ($self, %param) = @_;
236             $self->{soap}->on_action( sub { $self->{proxy}."#HasAccess" });
237             my $som = $self->{soap}->call("HasAccess",
238             SOAP::Data->name('AssetID')->value($param{AssetID}),
239             SOAP::Data->name('PermissionLevel')->value($param{PermissionLevel}),
240             );
241             die $som->fault->{ faultstring } if ($som->fault);
242             return ( $som->valueof('//HasAccessResult'),);
243             }
244            
245             sub set_permission {
246            
247             my ($self, %param) = @_;
248             $self->{soap}->on_action( sub { $self->{proxy}."#SetPermission" });
249             my $som = $self->{soap}->call("SetPermission",
250             SOAP::Data->name('AssetID')->value($param{AssetID}),
251             SOAP::Data->name('UserID')->value($param{UserID}),
252             SOAP::Data->name('PermissionLevel')->value($param{PermissionLevel}),
253             SOAP::Data->name('Grant')->value($param{Grant}),
254             SOAP::Data->name('Cascade')->value($param{Cascade}),
255             );
256             die $som->fault->{ faultstring } if ($som->fault);
257             return ( $som->valueof('//SetPermissionResult'),);
258             }
259            
260             sub get_permission {
261            
262             my ($self, %param) = @_;
263             $self->{soap}->on_action( sub { $self->{proxy}."#GetPermission" });
264             my $som = $self->{soap}->call("GetPermission",
265             SOAP::Data->name('AssetID')->value($param{AssetID}),
266             SOAP::Data->name('PermissionLevel')->value($param{PermissionLevel}),
267             SOAP::Data->name('Granted')->value($param{Granted}),
268             SOAP::Data->name('AndGreater')->value($param{AndGreater}),
269             SOAP::Data->name('ExpandGroups')->value($param{ExpandGroups}),
270             SOAP::Data->name('AllInfo')->value($param{AllInfo}),
271             SOAP::Data->name('CollapseRoles')->value($param{CollapseRoles}),
272             );
273             die $som->fault->{ faultstring } if ($som->fault);
274             return ( $som->valueof('//GetPermissionResult'),);
275             }
276            
277             sub get_role {
278            
279             my ($self, %param) = @_;
280             $self->{soap}->on_action( sub { $self->{proxy}."#GetRole" });
281             my $som = $self->{soap}->call("GetRole",
282             SOAP::Data->name('AssetID')->value($param{AssetID}),
283             SOAP::Data->name('RoleID')->value($param{RoleID}),
284             SOAP::Data->name('UserID')->value($param{UserID}),
285             SOAP::Data->name('IncludeAssetID')->value($param{IncludeAssetID}),
286             SOAP::Data->name('IncludeGlobals')->value($param{IncludeGlobals}),
287             SOAP::Data->name('ExpandGroups')->value($param{ExpandGroups}),
288             SOAP::Data->name('IncludeDependants')->value($param{IncludeDependants}),
289             );
290             die $som->fault->{ faultstring } if ($som->fault);
291             return ( $som->valueof('//GetRoleResult'),);
292             }
293            
294             sub set_role {
295            
296             my ($self, %param) = @_;
297             $self->{soap}->on_action( sub { $self->{proxy}."#SetRole" });
298             my $som = $self->{soap}->call("SetRole",
299             SOAP::Data->name('AssetID')->value($param{AssetID}),
300             SOAP::Data->name('RoleID')->value($param{RoleID}),
301             SOAP::Data->name('UserID')->value($param{UserID}),
302             SOAP::Data->name('Action')->value($param{Action}),
303             SOAP::Data->name('GlobalRole')->value($param{GlobalRole}),
304             );
305             die $som->fault->{ faultstring } if ($som->fault);
306             return ( $som->valueof('//SetRoleResult'),);
307             }
308            
309             sub apply_design {
310            
311             my ($self, %param) = @_;
312             $self->{soap}->on_action( sub { $self->{proxy}."#ApplyDesign" });
313             my $som = $self->{soap}->call("ApplyDesign",
314             SOAP::Data->name('DesignID')->value($param{DesignID}),
315             SOAP::Data->name('AssetID')->value($param{AssetID}),
316             SOAP::Data->name('DesignType')->value($param{DesignType}),
317             SOAP::Data->name('UserDefinedDesignName')->value($param{UserDefinedDesignName}),
318             );
319             die $som->fault->{ faultstring } if ($som->fault);
320             return ( $som->valueof('//ApplyDesignResult'),);
321             }
322            
323             sub remove_design {
324            
325             my ($self, %param) = @_;
326             $self->{soap}->on_action( sub { $self->{proxy}."#RemoveDesign" });
327             my $som = $self->{soap}->call("RemoveDesign",
328             SOAP::Data->name('DesignID')->value($param{DesignID}),
329             SOAP::Data->name('AssetID')->value($param{AssetID}),
330             SOAP::Data->name('DesignType')->value($param{DesignType}),
331             SOAP::Data->name('UserDefinedDesignName')->value($param{UserDefinedDesignName}),
332             );
333             die $som->fault->{ faultstring } if ($som->fault);
334             return ( $som->valueof('//RemoveDesignResult'),);
335             }
336            
337             sub get_design_from_url {
338            
339             my ($self, %param) = @_;
340             $self->{soap}->on_action( sub { $self->{proxy}."#GetDesignFromURL" });
341             my $som = $self->{soap}->call("GetDesignFromURL",
342             SOAP::Data->name('URL')->value($param{URL}),
343             SOAP::Data->name('DesignType')->value($param{DesignType}),
344             SOAP::Data->name('UserDefinedDesignName')->value($param{UserDefinedDesignName}),
345             );
346             die $som->fault->{ faultstring } if ($som->fault);
347             return ( $som->valueof('//GetDesignFromURLResult'),);
348             }
349            
350             sub apply_asset_paint_layout {
351            
352             my ($self, %param) = @_;
353             $self->{soap}->on_action( sub { $self->{proxy}."#ApplyAssetPaintLayout" });
354             my $som = $self->{soap}->call("ApplyAssetPaintLayout",
355             SOAP::Data->name('PaintLayoutID')->value($param{PaintLayoutID}),
356             SOAP::Data->name('AssetID')->value($param{AssetID}),
357             SOAP::Data->name('PaintLayoutType')->value($param{PaintLayoutType}),
358             );
359             die $som->fault->{ faultstring } if ($som->fault);
360             return ( $som->valueof('//ApplyAssetPaintLayoutResult'),);
361             }
362            
363             sub remove_asset_paint_layout {
364            
365             my ($self, %param) = @_;
366             $self->{soap}->on_action( sub { $self->{proxy}."#RemoveAssetPaintLayout" });
367             my $som = $self->{soap}->call("RemoveAssetPaintLayout",
368             SOAP::Data->name('PaintLayoutID')->value($param{PaintLayoutID}),
369             SOAP::Data->name('AssetID')->value($param{AssetID}),
370             SOAP::Data->name('PaintLayoutType')->value($param{PaintLayoutType}),
371             );
372             die $som->fault->{ faultstring } if ($som->fault);
373             return ( $som->valueof('//RemoveAssetPaintLayoutResult'),);
374             }
375            
376             sub download {
377            
378             my ($self, %param) = @_;
379             $self->{soap}->on_action( sub { $self->{proxy}."#Download" });
380             my $som = $self->{soap}->call("Download",
381             SOAP::Data->name('AssetID')->value($param{AssetID}),
382             );
383             die $som->fault->{ faultstring } if ($som->fault);
384             return ( $som->valueof('//FileName'), $som->valueof('//FileType'), $som->valueof('//FileSize'), $som->valueof('//LastModified'), $som->valueof('//FileContentBase64'),);
385             }
386            
387             sub get_file_information {
388            
389             my ($self, %param) = @_;
390             $self->{soap}->on_action( sub { $self->{proxy}."#GetFileInformation" });
391             my $som = $self->{soap}->call("GetFileInformation",
392             SOAP::Data->name('AssetID')->value($param{AssetID}),
393             );
394             die $som->fault->{ faultstring } if ($som->fault);
395             return ( $som->valueof('//FileName'), $som->valueof('//FileType'), $som->valueof('//FileSize'), $som->valueof('//LastModified'),);
396             }
397            
398             sub get_image_information {
399            
400             my ($self, %param) = @_;
401             $self->{soap}->on_action( sub { $self->{proxy}."#GetImageInformation" });
402             my $som = $self->{soap}->call("GetImageInformation",
403             SOAP::Data->name('AssetID')->value($param{AssetID}),
404             );
405             die $som->fault->{ faultstring } if ($som->fault);
406             return ( $som->valueof('//FileName'), $som->valueof('//FileTitle'), $som->valueof('//FileType'), $som->valueof('//FileSize'), $som->valueof('//MimeType'), $som->valueof('//ImageWidth'), $som->valueof('//ImageHeight'), $som->valueof('//LastModified'),);
407             }
408            
409             sub upload {
410            
411             my ($self, %param) = @_;
412             $self->{soap}->on_action( sub { $self->{proxy}."#Upload" });
413             my $som = $self->{soap}->call("Upload",
414             SOAP::Data->name('AssetID')->value($param{AssetID}),
415             SOAP::Data->name('FileName')->value($param{FileName}),
416             SOAP::Data->name('FileContentBase64')->value($param{FileContentBase64}),
417             );
418             die $som->fault->{ faultstring } if ($som->fault);
419             return ( $som->valueof('//UploadResult'),);
420             }
421            
422             sub start_workflow {
423            
424             my ($self, %param) = @_;
425             $self->{soap}->on_action( sub { $self->{proxy}."#StartWorkflow" });
426             my $som = $self->{soap}->call("StartWorkflow",
427             SOAP::Data->name('AssetID')->value($param{AssetID}),
428             );
429             die $som->fault->{ faultstring } if ($som->fault);
430             return ( $som->valueof('//StartWorkflowResult'),);
431             }
432            
433             sub safe_edit_asset {
434            
435             my ($self, %param) = @_;
436             $self->{soap}->on_action( sub { $self->{proxy}."#SafeEditAsset" });
437             my $som = $self->{soap}->call("SafeEditAsset",
438             SOAP::Data->name('AssetID')->value($param{AssetID}),
439             );
440             die $som->fault->{ faultstring } if ($som->fault);
441             return ( $som->valueof('//SafeEditAssetResult'),);
442             }
443            
444             sub cancel_workflow {
445            
446             my ($self, %param) = @_;
447             $self->{soap}->on_action( sub { $self->{proxy}."#CancelWorkflow" });
448             my $som = $self->{soap}->call("CancelWorkflow",
449             SOAP::Data->name('AssetID')->value($param{AssetID}),
450             );
451             die $som->fault->{ faultstring } if ($som->fault);
452             return ( $som->valueof('//CancelWorkflowResult'),);
453             }
454            
455             sub complete_workflow {
456            
457             my ($self, %param) = @_;
458             $self->{soap}->on_action( sub { $self->{proxy}."#CompleteWorkflow" });
459             my $som = $self->{soap}->call("CompleteWorkflow",
460             SOAP::Data->name('AssetID')->value($param{AssetID}),
461             );
462             die $som->fault->{ faultstring } if ($som->fault);
463             return ( $som->valueof('//CompleteWorkflowResult'),);
464             }
465            
466             sub set_workflow_schema {
467            
468             my ($self, %param) = @_;
469             $self->{soap}->on_action( sub { $self->{proxy}."#SetWorkflowSchema" });
470             my $som = $self->{soap}->call("SetWorkflowSchema",
471             SOAP::Data->name('AssetID')->value($param{AssetID}),
472             SOAP::Data->name('SchemaID')->value($param{SchemaID}),
473             SOAP::Data->name('Grant')->value($param{Grant}),
474             SOAP::Data->name('AutoCascadeToNewChildren')->value($param{AutoCascadeToNewChildren}),
475             SOAP::Data->name('Cascade')->value($param{Cascade}),
476             );
477             die $som->fault->{ faultstring } if ($som->fault);
478             return ( $som->valueof('//SetWorkflowSchemaResult'),);
479             }
480            
481             sub approve_asset_in_workflow {
482            
483             my ($self, %param) = @_;
484             $self->{soap}->on_action( sub { $self->{proxy}."#ApproveAssetInWorkflow" });
485             my $som = $self->{soap}->call("ApproveAssetInWorkflow",
486             SOAP::Data->name('AssetID')->value($param{AssetID}),
487             SOAP::Data->name('WorkflowMessage')->value($param{WorkflowMessage}),
488             );
489             die $som->fault->{ faultstring } if ($som->fault);
490             return ( $som->valueof('//ApproveAssetInWorkflowResult'),);
491             }
492            
493             sub create_asset {
494            
495             my ($self, %param) = @_;
496             $self->{soap}->on_action( sub { $self->{proxy}."#CreateAsset" });
497             my $som = $self->{soap}->call("CreateAsset",
498             SOAP::Data->name('TypeCode')->value($param{TypeCode}),
499             SOAP::Data->name('Name')->value($param{Name}),
500             SOAP::Data->name('ParentID')->value($param{ParentID}),
501             SOAP::Data->name('LinkType')->value($param{LinkType}),
502             SOAP::Data->name('LinkValue')->value($param{LinkValue}),
503             SOAP::Data->name('SortOrder')->value($param{SortOrder}),
504             SOAP::Data->name('IsDependant')->value($param{IsDependant}),
505             SOAP::Data->name('IsExclusive')->value($param{IsExclusive}),
506             SOAP::Data->name('FileName')->value($param{FileName}),
507             SOAP::Data->name('FileContentBase64')->value($param{FileContentBase64}),
508             SOAP::Data->name('AttributeInfo')->value($param{AttributeInfo}),
509             );
510             die $som->fault->{ faultstring } if ($som->fault);
511             return ( $som->valueof('//NewAssetID'), $som->valueof('//CreateMessage'),);
512             }
513            
514             sub get_asset {
515            
516             my ($self, %param) = @_;
517             $self->{soap}->on_action( sub { $self->{proxy}."#GetAsset" });
518             my $som = $self->{soap}->call("GetAsset",
519             SOAP::Data->name('AssetID')->value($param{AssetID}),
520             );
521             die $som->fault->{ faultstring } if ($som->fault);
522             return ( $som->valueof('//GetAssetResult'),);
523             }
524            
525             sub get_asset_urls {
526            
527             my ($self, %param) = @_;
528             $self->{soap}->on_action( sub { $self->{proxy}."#GetAssetURLs" });
529             my $som = $self->{soap}->call("GetAssetURLs",
530             SOAP::Data->name('AssetID')->value($param{AssetID}),
531             SOAP::Data->name('RootPathAssetID')->value($param{RootPathAssetID}),
532             );
533             die $som->fault->{ faultstring } if ($som->fault);
534             return ( $som->valueof('//GetAssetURLsResult'),);
535             }
536            
537             sub get_asset_from_url {
538            
539             my ($self, %param) = @_;
540             $self->{soap}->on_action( sub { $self->{proxy}."#GetAssetFromURL" });
541             my $som = $self->{soap}->call("GetAssetFromURL",
542             SOAP::Data->name('URL')->value($param{URL}),
543             );
544             die $som->fault->{ faultstring } if ($som->fault);
545             return ( $som->valueof('//GetAssetFromURLResult'),);
546             }
547            
548             sub get_asset_available_statuses {
549            
550             my ($self, %param) = @_;
551             $self->{soap}->on_action( sub { $self->{proxy}."#GetAssetAvailableStatuses" });
552             my $som = $self->{soap}->call("GetAssetAvailableStatuses",
553             SOAP::Data->name('AssetID')->value($param{AssetID}),
554             );
555             die $som->fault->{ faultstring } if ($som->fault);
556             return ( $som->valueof('//GetAssetAvailableStatusesResult'),);
557             }
558            
559             sub set_attribute_value {
560            
561             my ($self, %param) = @_;
562             $self->{soap}->on_action( sub { $self->{proxy}."#SetAttributeValue" });
563             my $som = $self->{soap}->call("SetAttributeValue",
564             SOAP::Data->name('AssetID')->value($param{AssetID}),
565             SOAP::Data->name('AttributeName')->value($param{AttributeName}),
566             SOAP::Data->name('AttributeValue')->value($param{AttributeValue}),
567             );
568             die $som->fault->{ faultstring } if ($som->fault);
569             return ( $som->valueof('//SetAttributeValueResult'),);
570             }
571            
572             sub trash_asset {
573            
574             my ($self, %param) = @_;
575             $self->{soap}->on_action( sub { $self->{proxy}."#TrashAsset" });
576             my $som = $self->{soap}->call("TrashAsset",
577             SOAP::Data->name('AssetID')->value($param{AssetID}),
578             );
579             die $som->fault->{ faultstring } if ($som->fault);
580             return ( $som->valueof('//TrashAssetResult'),);
581             }
582            
583             sub clone_asset {
584            
585             my ($self, %param) = @_;
586             $self->{soap}->on_action( sub { $self->{proxy}."#CloneAsset" });
587             my $som = $self->{soap}->call("CloneAsset",
588             SOAP::Data->name('AssetID')->value($param{AssetID}),
589             SOAP::Data->name('NewParentID')->value($param{NewParentID}),
590             SOAP::Data->name('NumberOfClone')->value($param{NumberOfClone}),
591             SOAP::Data->name('PositionUnderNewParent')->value($param{PositionUnderNewParent}),
592             SOAP::Data->name('LinkType')->value($param{LinkType}),
593             );
594             die $som->fault->{ faultstring } if ($som->fault);
595             return ( $som->valueof('//CloneAssetResult'),);
596             }
597            
598             sub get_asset_type_attribute {
599            
600             my ($self, %param) = @_;
601             $self->{soap}->on_action( sub { $self->{proxy}."#GetAssetTypeAttribute" });
602             my $som = $self->{soap}->call("GetAssetTypeAttribute",
603             SOAP::Data->name('TypeCode')->value($param{TypeCode}),
604             SOAP::Data->name('AttributeDetail')->value($param{AttributeDetail}),
605             );
606             die $som->fault->{ faultstring } if ($som->fault);
607             return ( $som->valueof('//GetAssetTypeAttributeResult'),);
608             }
609            
610             sub get_asset_type_descendants {
611            
612             my ($self, %param) = @_;
613             $self->{soap}->on_action( sub { $self->{proxy}."#GetAssetTypeDescendants" });
614             my $som = $self->{soap}->call("GetAssetTypeDescendants",
615             SOAP::Data->name('TypeCode')->value($param{TypeCode}),
616             );
617             die $som->fault->{ faultstring } if ($som->fault);
618             return ( $som->valueof('//GetAssetTypeDescendantsResult'),);
619             }
620            
621             sub get_assets_info {
622            
623             my ($self, %param) = @_;
624             $self->{soap}->on_action( sub { $self->{proxy}."#GetAssetsInfo" });
625             my $som = $self->{soap}->call("GetAssetsInfo",
626             SOAP::Data->name('AssetIDs')->value($param{AssetIDs}),
627             SOAP::Data->name('FinderAttributes')->value($param{FinderAttributes}),
628             SOAP::Data->name('RootNode')->value($param{RootNode}),
629             );
630             die $som->fault->{ faultstring } if ($som->fault);
631             return ( $som->valueof('//GetAssetsInfoResult'),);
632             }
633            
634             sub get_asset_available_keywords {
635            
636             my ($self, %param) = @_;
637             $self->{soap}->on_action( sub { $self->{proxy}."#GetAssetAvailableKeywords" });
638             my $som = $self->{soap}->call("GetAssetAvailableKeywords",
639             SOAP::Data->name('AssetID')->value($param{AssetID}),
640             );
641             die $som->fault->{ faultstring } if ($som->fault);
642             return ( $som->valueof('//GetAssetAvailableKeywordsResult'),);
643             }
644            
645             sub get_attribute_values_by_name {
646            
647             my ($self, %param) = @_;
648             $self->{soap}->on_action( sub { $self->{proxy}."#GetAttributeValuesByName" });
649             my $som = $self->{soap}->call("GetAttributeValuesByName",
650             SOAP::Data->name('AssetIDs')->value($param{AssetIDs}),
651             SOAP::Data->name('TypeCode')->value($param{TypeCode}),
652             SOAP::Data->name('AttributeName')->value($param{AttributeName}),
653             );
654             die $som->fault->{ faultstring } if ($som->fault);
655             return ( $som->valueof('//GetAttributeValuesByNameResult'),);
656             }
657            
658             sub get_asset_web_paths {
659            
660             my ($self, %param) = @_;
661             $self->{soap}->on_action( sub { $self->{proxy}."#GetAssetWebPaths" });
662             my $som = $self->{soap}->call("GetAssetWebPaths",
663             SOAP::Data->name('AssetID')->value($param{AssetID}),
664             );
665             die $som->fault->{ faultstring } if ($som->fault);
666             return ( $som->valueof('//GetAssetWebPathsResult'),);
667             }
668            
669             sub set_tag {
670            
671             my ($self, %param) = @_;
672             $self->{soap}->on_action( sub { $self->{proxy}."#SetTag" });
673             my $som = $self->{soap}->call("SetTag",
674             SOAP::Data->name('AssetID')->value($param{AssetID}),
675             SOAP::Data->name('ThesaurusID')->value($param{ThesaurusID}),
676             SOAP::Data->name('TagName')->value($param{TagName}),
677             SOAP::Data->name('Weight')->value($param{Weight}),
678             SOAP::Data->name('CascadeTagChange')->value($param{CascadeTagChange}),
679             );
680             die $som->fault->{ faultstring } if ($som->fault);
681             return ( $som->valueof('//SetTagResult'),);
682             }
683            
684             sub get_all_statuses {
685            
686             my ($self, %param) = @_;
687             $self->{soap}->on_action( sub { $self->{proxy}."#GetAllStatuses" });
688             my $som = $self->{soap}->call("GetAllStatuses",
689             );
690             die $som->fault->{ faultstring } if ($som->fault);
691             return ( $som->valueof('//GetAllStatusesResult'),);
692             }
693            
694             sub set_asset_status {
695            
696             my ($self, %param) = @_;
697             $self->{soap}->on_action( sub { $self->{proxy}."#SetAssetStatus" });
698             my $som = $self->{soap}->call("SetAssetStatus",
699             SOAP::Data->name('AssetID')->value($param{AssetID}),
700             SOAP::Data->name('StatusValue')->value($param{StatusValue}),
701             SOAP::Data->name('DependantsOnly')->value($param{DependantsOnly}),
702             );
703             die $som->fault->{ faultstring } if ($som->fault);
704             return ( $som->valueof('//SetAssetStatusResult'),);
705             }
706            
707             sub get_page_contents {
708            
709             my ($self, %param) = @_;
710             $self->{soap}->on_action( sub { $self->{proxy}."#GetPageContents" });
711             my $som = $self->{soap}->call("GetPageContents",
712             SOAP::Data->name('AssetID')->value($param{AssetID}),
713             SOAP::Data->name('RootNodeID')->value($param{RootNodeID}),
714             );
715             die $som->fault->{ faultstring } if ($som->fault);
716             return ( $som->valueof('//PageContent'), $som->valueof('//PageURL'), $som->valueof('//PageWebPath'),);
717             }
718            
719             sub login_user {
720            
721             my ($self, %param) = @_;
722             $self->{soap}->on_action( sub { $self->{proxy}."#LoginUser" });
723             my $som = $self->{soap}->call("LoginUser",
724             SOAP::Data->name('Username')->value($param{Username}),
725             SOAP::Data->name('Password')->value($param{Password}),
726             );
727             die $som->fault->{ faultstring } if ($som->fault);
728             return ( $som->valueof('//SessionID'), $som->valueof('//SessionKey'),);
729             }
730            
731             sub get_user_id_by_username {
732            
733             my ($self, %param) = @_;
734             $self->{soap}->on_action( sub { $self->{proxy}."#GetUserIdByUsername" });
735             my $som = $self->{soap}->call("GetUserIdByUsername",
736             SOAP::Data->name('Username')->value($param{Username}),
737             );
738             die $som->fault->{ faultstring } if ($som->fault);
739             return ( $som->valueof('//AssetID'),);
740             }
741            
742             sub set_metadata_schema {
743            
744             my ($self, %param) = @_;
745             $self->{soap}->on_action( sub { $self->{proxy}."#SetMetadataSchema" });
746             my $som = $self->{soap}->call("SetMetadataSchema",
747             SOAP::Data->name('AssetID')->value($param{AssetID}),
748             SOAP::Data->name('SchemaID')->value($param{SchemaID}),
749             SOAP::Data->name('Grant')->value($param{Grant}),
750             SOAP::Data->name('Cascade')->value($param{Cascade}),
751             );
752             die $som->fault->{ faultstring } if ($som->fault);
753             return ( $som->valueof('//SetSchemaResult'),);
754             }
755            
756             sub regenerate_metadata_schema {
757            
758             my ($self, %param) = @_;
759             $self->{soap}->on_action( sub { $self->{proxy}."#RegenerateMetadataSchema" });
760             my $som = $self->{soap}->call("RegenerateMetadataSchema",
761             SOAP::Data->name('SchemaID')->value($param{SchemaID}),
762             );
763             die $som->fault->{ faultstring } if ($som->fault);
764             return ( $som->valueof('//RegenerateMetadataSchemaResult'),);
765             }
766            
767             sub regenerate_metadata_asset {
768            
769             my ($self, %param) = @_;
770             $self->{soap}->on_action( sub { $self->{proxy}."#RegenerateMetadataAsset" });
771             my $som = $self->{soap}->call("RegenerateMetadataAsset",
772             SOAP::Data->name('AssetID')->value($param{AssetID}),
773             );
774             die $som->fault->{ faultstring } if ($som->fault);
775             return ( $som->valueof('//RegenerateMetadataAssetResult'),);
776             }
777            
778             sub set_asset_metadata {
779            
780             my ($self, %param) = @_;
781             $self->{soap}->on_action( sub { $self->{proxy}."#SetAssetMetadata" });
782             my $som = $self->{soap}->call("SetAssetMetadata",
783             SOAP::Data->name('AssetID')->value($param{AssetID}),
784             SOAP::Data->name('FieldID')->value($param{FieldID}),
785             SOAP::Data->name('NewValue')->value($param{NewValue}),
786             );
787             die $som->fault->{ faultstring } if ($som->fault);
788             return ( $som->valueof('//SetAssetMetadataResult'),);
789             }
790            
791             sub set_metadata_field_default_value {
792            
793             my ($self, %param) = @_;
794             $self->{soap}->on_action( sub { $self->{proxy}."#SetMetadataFieldDefaultValue" });
795             my $som = $self->{soap}->call("SetMetadataFieldDefaultValue",
796             SOAP::Data->name('FieldID')->value($param{FieldID}),
797             SOAP::Data->name('NewDefaultValue')->value($param{NewDefaultValue}),
798             );
799             die $som->fault->{ faultstring } if ($som->fault);
800             return ( $som->valueof('//SetMetadataFieldDefaultValueResult'),);
801             }
802            
803             sub get_metadata_value_by_i_ds {
804            
805             my ($self, %param) = @_;
806             $self->{soap}->on_action( sub { $self->{proxy}."#GetMetadataValueByIDs" });
807             my $som = $self->{soap}->call("GetMetadataValueByIDs",
808             SOAP::Data->name('AssetID')->value($param{AssetID}),
809             SOAP::Data->name('FieldID')->value($param{FieldID}),
810             );
811             die $som->fault->{ faultstring } if ($som->fault);
812             return ( $som->valueof('//GetMetadataValueByIDsResult'),);
813             }
814            
815             sub get_schemas_on_asset {
816            
817             my ($self, %param) = @_;
818             $self->{soap}->on_action( sub { $self->{proxy}."#GetSchemasOnAsset" });
819             my $som = $self->{soap}->call("GetSchemasOnAsset",
820             SOAP::Data->name('AssetID')->value($param{AssetID}),
821             );
822             die $som->fault->{ faultstring } if ($som->fault);
823             return ( $som->valueof('//GetSchemasOnAssetResult'),);
824             }
825            
826             sub get_metadata_fields_of_schema {
827            
828             my ($self, %param) = @_;
829             $self->{soap}->on_action( sub { $self->{proxy}."#GetMetadataFieldsOfSchema" });
830             my $som = $self->{soap}->call("GetMetadataFieldsOfSchema",
831             SOAP::Data->name('SchemaID')->value($param{SchemaID}),
832             );
833             die $som->fault->{ faultstring } if ($som->fault);
834             return ( $som->valueof('//GetMetadataFieldsOfSchemaResult'),);
835             }
836            
837             sub get_metadata_field_values {
838            
839             my ($self, %param) = @_;
840             $self->{soap}->on_action( sub { $self->{proxy}."#GetMetadataFieldValues" });
841             my $som = $self->{soap}->call("GetMetadataFieldValues",
842             SOAP::Data->name('AssetID')->value($param{AssetID}),
843             SOAP::Data->name('FieldNames')->value($param{FieldNames}),
844             );
845             die $som->fault->{ faultstring } if ($som->fault);
846             return ( $som->valueof('//GetMetadataFieldValuesResult'),);
847             }
848            
849             sub basic_search {
850            
851             my ($self, %param) = @_;
852             $self->{soap}->on_action( sub { $self->{proxy}."#BasicSearch" });
853             my $som = $self->{soap}->call("BasicSearch",
854             SOAP::Data->name('AssetTypes')->value($param{AssetTypes}),
855             SOAP::Data->name('Limit')->value($param{Limit}),
856             SOAP::Data->name('Statuses')->value($param{Statuses}),
857             SOAP::Data->name('RootIDs')->value($param{RootIDs}),
858             SOAP::Data->name('ExcludeRootNodes')->value($param{ExcludeRootNodes}),
859             SOAP::Data->name('ResultFormat')->value($param{ResultFormat}),
860             );
861             die $som->fault->{ faultstring } if ($som->fault);
862             return ( $som->valueof('//BasicSearchResult'),);
863             }
864            
865             sub advanced_search {
866            
867             my ($self, %param) = @_;
868             $self->{soap}->on_action( sub { $self->{proxy}."#AdvancedSearch" });
869             my $som = $self->{soap}->call("AdvancedSearch",
870             SOAP::Data->name('AssetTypes')->value($param{AssetTypes}),
871             SOAP::Data->name('ExcludeWords')->value($param{ExcludeWords}),
872             SOAP::Data->name('FieldLogic')->value($param{FieldLogic}),
873             SOAP::Data->name('Limit')->value($param{Limit}),
874             SOAP::Data->name('ResultFormat')->value($param{ResultFormat}),
875             SOAP::Data->name('RootIDs')->value($param{RootIDs}),
876             SOAP::Data->name('RootLogic')->value($param{RootLogic}),
877             SOAP::Data->name('ExcludeRootNodes')->value($param{ExcludeRootNodes}),
878             SOAP::Data->name('Statuses')->value($param{Statuses}),
879             SOAP::Data->name('SearchFields')->value($param{SearchFields}),
880             );
881             die $som->fault->{ faultstring } if ($som->fault);
882             return ( $som->valueof('//AdvancedSearchResult'),);
883             }
884            
885             sub re_index {
886            
887             my ($self, %param) = @_;
888             $self->{soap}->on_action( sub { $self->{proxy}."#ReIndex" });
889             my $som = $self->{soap}->call("ReIndex",
890             SOAP::Data->name('AssetID')->value($param{AssetID}),
891             SOAP::Data->name('IndexComponents')->value($param{IndexComponents}),
892             );
893             die $som->fault->{ faultstring } if ($som->fault);
894             return ( $som->valueof('//ReIndexResult'),);
895             }
896            
897             1;
898            
899             __END__