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

Re: [Condor-users] Condor birdbath problems



Hi,

Thanks for the help. I have fixed the problem. I changed the code that gets
the scheduler from the collector from the IBM code to using birdbath. You
are quite right, the two cannot be used together. For future reference, I
have included birdbath snippets here:

//Find the address of the scheduler given the address of the scheduler
String scheddLocationStr = "";		
URL collectorLocation = new URL("http://localhost:9618";);
Collector collector = new Collector(collectorLocation);
ClassAdStructAttr[][] collectorInfo =
collector.queryScheddAds("HasSOAPInterface=?=TRUE");
		
for (int j=0; j < collectorInfo[0].length; j++)
{
	ClassAdStructAttr casAttr = collectorInfo[0][j];	
	if(casAttr.getName().equals("ScheddIpAddr"))
	{
		scheddLocationStr = scheddLocationStr=casAttr.getValue();

	}
}

//Get the scheduler
Schedd schedd = new Schedd(new URL ("http://"; +
scheddLocationStr.substring(1, scheddLocationStr.length()-1)));


-----Original Message-----
From: condor-users-bounces@xxxxxxxxxxx
[mailto:condor-users-bounces@xxxxxxxxxxx] On Behalf Of Matthew Farrellee
Sent: Monday, September 24, 2007 7:49 PM
To: Condor-Users Mail List
Subject: Re: [Condor-users] Condor birdbath problems

Different versions of Axis tend to generate different code from the same 
WSDL files. This must just be a version mismatch. The birdbath.jar was 
written to one version of Axis and you're using another.

Unfortunately, until the birdbath.jar is updated to a new version of 
Axis your best bet is to grab its source (in the jar itself) and tweak 
the few places where types are different. For instance, I'm betting 
you'll have to change ClassAdStructArray to ClassAdStructAttr[][] and a 
few places where the old array existed you'll find some "getArray" 
function that you can just stop using.

Actually, "casArray"? That can't be coming from the birdbath.jar, it 
must be from the IBM code. I can't recommend using it. You should either 
use birdbath.jar or the IBM code, but not both.

What is the error you get when trying to get a Schedd's address with the 
birdbath.jar?

Best,


matt

c parker wrote:
> Hi,
> 
> My code is structured like you suggested. I tried generating the java 
> files from scratch and compiled them only to get the following message:
> 
> condor.java:23: incompatible types
> found   : condor.ClassAdStructAttr[][]
> required: condor.ClassAdStructArray
>                  ClassAdStructArray casArray = 
> collector.queryScheddAds("HasSOAPInterface=?=TRUE");
> 
> There are clearly files missing from this WSDL2Java conversion.
> 
> With the IBM class files, my code does compile but fails at runtime as in 
> my previous mail, so I am wondering if I am doing something wrong. Any
ideas?
> 
> Christopher
> 
> On Mon, 24 Sep 2007, Matthew Farrellee wrote:
> 
>> The NoSuchMethodError is usually an indication that you are trying to
>> connect to an endpoint (e.g. http://localhost:9618) that does not
>> implement the interface you are expecting (e.g. ...:9618 probably
>> implements the Collector API, but not the Schedd).
>>
>> If you want to query for a Schedd address you'll need to connect to a
>> Collector (likely port 9618, the default). Once you get the Schedd
>> address you need to make sure you connect to it and not the Collector
again.
>>
>> Best,
>>
>>
>> matt
>>
>> Christopher Parker wrote:
>>> Hi,
>>>
>>> I have compiled the java files which I generated from the WDSLs for the
>>> Schedd and the Collector by using Apache Axis 1.4. I have tried to use
these
>>> files to submit a job to condor and it worked, however, when I try to
obtain
>>> the address of the scheduler by using the collector, I got strange
errors.
>>> This prompted me to try the gr-wscondor jar provided by IBM. This fixed
the
>>> problem with getting the address of the scheduler. Now, when I try to
submit
>>> a file as I did when I compiled the files myself, I get the following
error:
>>>
>>> Exception in thread "main" java.lang.NoSuchMethodError:
>>> condor.ClassAdStructAndStatus.getClassAd()[Lcondor/ClassAdStructAttr;
>>>         at birdbath.Transaction.submit(Transaction.java:127)
>>>         at condor.main(condor.java:223)
>>>
>>> Does anyone know how to fix this? I am using Java 1.5.0_08-b03 and as
>>> mentioned already Axis 1.4 - the latest version. Also, when I compile
using
>>> the Axis jars some files are not created and hence not compiled. Am I
using
>>> the correct versions of Axis / Java or is this perhaps an OS specific
error?
>>>
>>> Christopher
>>>
>>> --------------------------------------
>>> Christopher Parker (BSc. Hons)
>>> Department of Computer Science
>>> High Performance Computing Laboratory
>>> University of Cape Town
>>> http://people.cs.uct.ac.za/~cparker/
>>> --------------------------------------
>>>
>>> _______________________________________________
>>> Condor-users mailing list
>>> To unsubscribe, send a message to condor-users-request@xxxxxxxxxxx with
a
>>> subject: Unsubscribe
>>> You can also unsubscribe by visiting
>>> https://lists.cs.wisc.edu/mailman/listinfo/condor-users
>>>
>>> The archives can be found at:
>>> https://lists.cs.wisc.edu/archive/condor-users/
>> _______________________________________________
>> Condor-users mailing list
>> To unsubscribe, send a message to condor-users-request@xxxxxxxxxxx with a
>> subject: Unsubscribe
>> You can also unsubscribe by visiting
>> https://lists.cs.wisc.edu/mailman/listinfo/condor-users
>>
>> The archives can be found at:
>> https://lists.cs.wisc.edu/archive/condor-users/
>>
> _______________________________________________
> Condor-users mailing list
> To unsubscribe, send a message to condor-users-request@xxxxxxxxxxx with a
> subject: Unsubscribe
> You can also unsubscribe by visiting
> https://lists.cs.wisc.edu/mailman/listinfo/condor-users
> 
> The archives can be found at: 
> https://lists.cs.wisc.edu/archive/condor-users/
_______________________________________________
Condor-users mailing list
To unsubscribe, send a message to condor-users-request@xxxxxxxxxxx with a
subject: Unsubscribe
You can also unsubscribe by visiting
https://lists.cs.wisc.edu/mailman/listinfo/condor-users

The archives can be found at: 
https://lists.cs.wisc.edu/archive/condor-users/