diff --git a/xCAT-server/xCAT-wsapi/xcatws.cgi b/xCAT-server/xCAT-wsapi/xcatws.cgi
index 600eff1a0..9120f4936 100755
--- a/xCAT-server/xCAT-wsapi/xcatws.cgi
+++ b/xCAT-server/xCAT-wsapi/xcatws.cgi
@@ -14,7 +14,7 @@ use Data::Dumper;
#all data input will be done from the common structure
#turn on or off the debugging output
-my $DEBUGGING = 1;
+my $DEBUGGING = 0;
my $q = CGI->new;
my $url = $q->url;
@@ -1226,9 +1226,76 @@ sub objectsHandler{
}
}
elsif(isPut()){
+ $request->{command} = 'chdef';
+ if($q->param('verbose')){
+ push @args, '-v';
+ }
+ if(!defined $q->param('objectType')){
+ sendStatusMsg($STATUS_BAD_REQUEST, "The object must be specified.");
+ }
+ else{
+ push @args, '-t';
+ push @args, join(',', $q->param('objectType'));
+ }
+ if($q->param('objectName')){
+ push @args, join(',', $q->param('objectName'));
+ }
+ if($q->param('dynamic')){
+ push @args, '-d';
+ }
+ if($q->param('minus')){
+ push @args, '-m';
+ }
+ if($q->param('plus')){
+ push @args, '-p';
+ }
+ if(defined $q->param('field')){
+ foreach ($q->param('field')){
+ #if it has ==, !=. =~ or !~ operators in the field, use the -w option
+ if(/==|!=|=~|!~/){
+ push @args, '-w';
+ }
+ push @args, $_;
+ }
+ }
+ if($q->param('nodeRange')){
+ push @args, $q->param('nodeRange');
+ }
}
elsif(isPost()){
+ $request->{command} = 'mkdef';
+ if($q->param('verbose')){
+ push @args, '-v';
+ }
+ if(!defined $q->param('objectType')){
+ sendStatusMsg($STATUS_BAD_REQUEST, "The object must be specified.");
+ }
+ else{
+ push @args, '-t';
+ push @args, join(',', $q->param('objectType'));
+ }
+ if($q->param('objectName')){
+ push @args, join(',', $q->param('objectName'));
+ }
+ if($q->param('dynamic')){
+ push @args, '-d';
+ }
+ if($q->param('force')){
+ push @args, '-f';
+ }
+ if(defined $q->param('field')){
+ foreach ($q->param('field')){
+ #if it has ==, !=. =~ or !~ operators in the field, use the -w option
+ if(/==|!=|=~|!~/){
+ push @args, '-w';
+ }
+ push @args, $_;
+ }
+ }
+ if($q->param('nodeRange')){
+ push @args, $q->param('nodeRange');
+ }
}
elsif (isDelete()){
@@ -1417,7 +1484,7 @@ sub wrapHtml
sendStatusMsg($STATUS_UNAUTH, @$data[0]->{error}[0]);
}
else{
- sendStatusMsg($STATUS_NOT_ACCEPTABLE, @$data[0]->{error}[0]);
+ sendStatusMsg($STATUS_FORBIDDEN, @$data[0]->{error}[0]);
}
exit(0);
}
@@ -1542,23 +1609,9 @@ sub sendRequest{
#$preXml =~ s/>/>
/g;
print $q->p("request XML
$preXml");
}
- #while (!($sitetab=xCAT::Table->new('site')) && $retries < 200)
- #{
- #print ("Can not open basic site table for configuration, waiting the database to be initialized.\n");
- #sleep 1;
- #$retries++;
- #}
- #unless ($sitetab) {
- #xCAT::MsgUtils->message("S","ERROR: Unable to open basic site table for configuration");
- #die;
- #}
-#
- #my ($tmp) = $sitetab->getAttribs({'key'=>'xcatdport'},'value');
- #unless ($tmp) {
- #xCAT::MsgUtils->message("S","ERROR:Need xcatdport defined in site table, try chtab key=xcatdport site.value=3001");
- #die;
- #}
- my $port = 3001;#$tmp->{value};
+
+ #hardcoded port for now
+ my $port = 3001;
my $xcatHost = "localhost:$port";
#temporary, will be using username and password