[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Condor-users] Problem with WSDL and SOAP usage



Using 7.2.4 on Windows XP, with Netbeans 6.8 I've generated a jar with the condorSchedd.wsdl and condorCollector.wsdl.  In addition I've created a small java app which attempts to submit a job.  For 3 full days, I've followed instructions and countless pages on the web searching for tidbits of information that can help me.
 
For a test, the job works well using the equivalent job from the command line (condor_submit) using the following submit file.
 
// THIS Woks well only when the SCHEDD_ARGS = -p 8088 is not enabled
universe = vanilla
executable = E:\xfer\myuname_$$(OpSys)
arguments = -a
output = uname.out
error = uname.err
log = uname.log
 
requirements = OpSys == "LINUX"
shouldtransferfiles = IF_NEEDED
whentotransferoutput = ON_EXIT
 
queue
 
The problem is the job submits but remains idle forever.  My job is submitted on Windows and attemps to run a job on a Linux (Ubuntu 9.10) running Condor 7.2.4, the condor master is the linux box.  This is the equivalent java code that submits well but the job never runs, instead remaining in the idle state. 
 
// I must enable the SCHEDD_ARGS = -p 8088
 
            CondorSchedd service = new CondorSchedd();
            CondorScheddPortType port = service.getCondorSchedd();
 
            TransactionAndStatus transaction = port.beginTransaction(3000);
            System.out.println("transaction.status := " + transaction.getStatus().getCode().value());
            IntAndStatus clusterId = port.newCluster(transaction.getTransaction());
            System.out.println("clusterId.status := " + clusterId.getStatus().getCode().value());
            IntAndStatus jobId = port.newJob(transaction.getTransaction(), clusterId.getInteger());
            System.out.println("jobId.status := " + jobId.getStatus().getCode().value());
            System.out.println("clusterId := " + clusterId.getInteger() + " jobId := " + jobId.getInteger());
            ClassAdStructAndStatus jobAd = port.createJobTemplate(
                    clusterId.getInteger(),
                    jobId.getInteger(),
                    System.getProperty("user.name"),
                    UniverseType.VANILLA,
                    "e:\\xfer\\myuname_LINUX",
                    "-a", // arguments
                    "(OpSys == \"LINUX\")"
                    );
            System.out.println("classAd.status := " + jobAd.getStatus().getCode().value());
             ClassAdStructAttr attr = new ClassAdStructAttr();
            attr.setName("Args");
            attr.setType(ClassAdAttrType.STRING_ATTR);
            attr.setValue("-a");
            jobAd.getClassAd().getValue().getItem().add(attr);
 
            attr = new ClassAdStructAttr();
            attr.setName("Out");
            attr.setType(ClassAdAttrType.STRING_ATTR);
            attr.setValue("e:\\tmp\\uname.out");
            jobAd.getClassAd().getValue().getItem().add(attr);
 
            attr = new ClassAdStructAttr();
            attr.setName("Err");
            attr.setType(ClassAdAttrType.STRING_ATTR);
            attr.setValue("e:\\tmp\\uname.err");
            jobAd.getClassAd().getValue().getItem().add(attr);
 
            attr = new ClassAdStructAttr();
            attr.setName("UserLog");
            attr.setType(ClassAdAttrType.STRING_ATTR);
            attr.setValue("e:\\tmp\\uname.log");
            jobAd.getClassAd().getValue().getItem().add(attr);
 
            attr = new ClassAdStructAttr();
            attr.setName("ShouldTransferFiles");
            attr.setType(ClassAdAttrType.STRING_ATTR);
            attr.setValue("IF_NEEDED");
            jobAd.getClassAd().getValue().getItem().add(attr);
 
            attr = new ClassAdStructAttr();
            attr.setName("WhenToTransferOutput");
            attr.setType(ClassAdAttrType.STRING_ATTR);
            attr.setValue("ON_EXIT");
            jobAd.getClassAd().getValue().getItem().add(attr);

            RequirementsAndStatus submitResult = port.submit(
                    transaction.getTransaction(),
                    clusterId.getInteger(),
                    jobId.getInteger(),
                    jobAd.getClassAd().getValue()
                    );
 
            System.out.println("result.status := " + submitResult.getStatus().getCode().value());
            Status status = port.commitTransaction(transaction.getTransaction());
            System.out.println("commit status := " + status.getMessage().getValue());
 
Any help would be greatly appreciated.  I've tried using the birdbath.jar but ran up against a wall when trying to Axis, it's old and no longer functional.
 
 
 
 
Michael Smith