#!/usr/bin/perl
package Creategroup;
use strict;
use Data::Dumper;
use base qw(BasicCommandlineOptions);


#Use the SOAP::Lite Perl module
#use SOAP::Lite +trace => 'debug';
use SOAP::Lite;

my $test = new Creategroup();
$test->doRequest();

sub new {
	my ($inPkg) = @_;
	my $self = BasicCommandlineOptions->new();
	
	bless $self, $inPkg;
    return $self;
}

sub doRequest {
    my $inSelf = shift;
    my $soap = SOAP::Lite->ns( $inSelf->{'serviceNs'} )->proxy( $inSelf->{'basisUrl'}."OXGroupService" );
    
    my $name = "testgroup";
    my $displayname = "a testgroup";
    my $email = "testgroup\@example.de";
    my @members;
    push(@members, SOAP::Data->name( members => 2 ));
    push(@members, SOAP::Data->name( members => 3 ));

    my $som_entry = 
      $soap->create($inSelf->{'Context'},
    	      SOAP::Data->value("Group")->value(\SOAP::Data->value(
    	           # First the mandatory fields
    	           SOAP::Data->name("name" => $name),
    	           SOAP::Data->name("displayname" => $displayname),
    	           SOAP::Data->name("email" => $email),
    	           # And here the optional fields
    	           SOAP::Data->name("members" => @members )
    	           )),
    	      $inSelf->{'creds'}
    	     );
    
    if ( $som_entry->fault() ) {
        $inSelf->fault_output($som_entry);
    } else {
        print "Fine\n";
    }

}

exit;

