Hi,
I have a simple test client created in java for job submission which I tested
before on 4.0.5 containers but now I have some problems submitting a job to a
4.0.6 container.
globusrun-ws works fine with the same rls file.
On server side:
2008-03-10 20:31:30,794 ERROR factory.ManagedJobFactoryService
[ServiceThread-16,createManagedJob:346] Job creation failed.
org.globus.wsrf.ResourceException: ; nested exception is:
java.util.MissingResourceException: Can't find resource for bundle
java.util.PropertyResourceBundle, key setCredError
at
org.globus.exec.service.exec.ManagedExecutableJobResource.initSecurity(ManagedExecutableJobResource.java:362)
at
org.globus.exec.service.exec.ManagedExecutableJobResource.initialize(ManagedExecutableJobResource.java:191)
at
org.globus.exec.service.exec.ManagedExecutableJobResource.initializeWholeState(ManagedExecutableJobResource.java:162)
at
org.globus.exec.service.exec.PersistentManagedExecutableJobResource.initializeWholeState(PersistentManagedExecutableJobResource.java:154)
at
org.globus.exec.service.exec.ManagedExecutableJobHome.create(ManagedExecutableJobHome.java:348)
at
org.globus.exec.service.factory.ManagedJobFactoryService.createManagedJob(ManagedJobFactoryService.java:296)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:384)
at
org.globus.axis.providers.RPCProvider.invokeMethodSub(RPCProvider.java:107)
at
org.globus.axis.providers.PrivilegedInvokeMethodAction.run(PrivilegedInvokeMethodAction.java:42)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.globus.gsi.jaas.GlobusSubject.runAs(GlobusSubject.java:55)
at org.globus.gsi.jaas.JaasSubject.doAs(JaasSubject.java:90)
at
org.globus.axis.providers.RPCProvider.invokeMethod(RPCProvider.java:97)
at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:281)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
at
org.globus.wsrf.container.ServiceThread.doPost(ServiceThread.java:664)
at
org.globus.wsrf.container.ServiceThread.process(ServiceThread.java:382)
at
org.globus.wsrf.container.GSIServiceThread.process(GSIServiceThread.java:153)
at org.globus.wsrf.container.ServiceThread.run(ServiceThread.java:291)
Caused by: java.util.MissingResourceException: Can't find resource for bundle
java.util.PropertyResourceBundle, key setCredError
at java.util.ResourceBundle.getObject(ResourceBundle.java:384)
at java.util.ResourceBundle.getString(ResourceBundle.java:344)
at org.globus.util.I18n.getMessage(I18n.java:97)
at
org.globus.delegation.service.DelegationResource.addListener(DelegationResource.java:214)
at
org.globus.delegation.service.DelegationResource.addRefreshListener(DelegationResource.java:187)
at
org.globus.delegation.DelegationUtil.registerDelegationListener(DelegationUtil.java:167)
at
org.globus.exec.service.utils.DelegatedCredential.getDelegatedCredential(DelegatedCredential.java:179)
at
org.globus.exec.service.job.ManagedJobResourceImpl.getJobCredential(ManagedJobResourceImpl.java:421)
at
org.globus.exec.service.exec.ManagedExecutableJobResource.initSecurity(ManagedExecutableJobResource.java:354)
... 28 more
On client side:
submitting job ...
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.net.SocketTimeoutException: Read timed out
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.net.SocketTimeoutException: Read
timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at org.globus.gsi.gssapi.SSLUtil.read(SSLUtil.java:37)
at
org.globus.gsi.gssapi.net.impl.GSIGssInputStream.readToken(GSIGssInputStream.java:64)
at
org.globus.gsi.gssapi.net.impl.GSIGssInputStream.readMsg(GSIGssInputStream.java:39)
at
org.globus.gsi.gssapi.net.GssInputStream.hasData(GssInputStream.java:81)
at org.globus.gsi.gssapi.net.GssInputStream.read(GssInputStream.java:55)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at
org.apache.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:545)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:140)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2727)
at org.apache.axis.client.Call.invoke(Call.java:2710)
at org.apache.axis.client.Call.invoke(Call.java:2386)
at org.apache.axis.client.Call.invoke(Call.java:2309)
at org.apache.axis.client.Call.invoke(Call.java:1766)
at
org.globus.exec.generated.bindings.ManagedJobFactoryPortTypeSOAPBindingStub.createManagedJob(ManagedJobFactoryPortTypeSOAPBindingStub.java:1157)
at org.globus.exec.client.GramJob.createJobEndpoint(GramJob.java:958)
at org.globus.exec.client.GramJob.submit(GramJob.java:464)
at TestSubmit.submitJob(TestSubmit.java:71)
at TestSubmit.main(TestSubmit.java:28)
{http://xml.apache.org/axis/}hostname:silviup-laptop
java.net.SocketTimeoutException: Read timed out
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2727)
at org.apache.axis.client.Call.invoke(Call.java:2710)
at org.apache.axis.client.Call.invoke(Call.java:2386)
at org.apache.axis.client.Call.invoke(Call.java:2309)
at org.apache.axis.client.Call.invoke(Call.java:1766)
at
org.globus.exec.generated.bindings.ManagedJobFactoryPortTypeSOAPBindingStub.createManagedJob(ManagedJobFactoryPortTypeSOAPBindingStub.java:1157)
at org.globus.exec.client.GramJob.createJobEndpoint(GramJob.java:958)
at org.globus.exec.client.GramJob.submit(GramJob.java:464)
at TestSubmit.submitJob(TestSubmit.java:71)
at TestSubmit.main(TestSubmit.java:28)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at org.globus.gsi.gssapi.SSLUtil.read(SSLUtil.java:37)
at
org.globus.gsi.gssapi.net.impl.GSIGssInputStream.readToken(GSIGssInputStream.java:64)
at
org.globus.gsi.gssapi.net.impl.GSIGssInputStream.readMsg(GSIGssInputStream.java:39)
at
org.globus.gsi.gssapi.net.GssInputStream.hasData(GssInputStream.java:81)
at org.globus.gsi.gssapi.net.GssInputStream.read(GssInputStream.java:55)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at
org.apache.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:545)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:140)
... 14 more
Here is the java client source code :
import org.apache.axis.components.uuid.UUIDGen;
import org.apache.axis.components.uuid.UUIDGenFactory;
import org.apache.axis.message.addressing.ReferencePropertiesType;
import org.apache.axis.message.addressing.AttributedURI;
import org.apache.axis.message.addressing.EndpointReferenceType;
import org.globus.exec.client.GramJob;
import org.globus.exec.client.GramJobListener;
import org.globus.exec.generated.StateEnumeration;
import org.globus.exec.utils.ManagedJobConstants;
import org.globus.wsrf.impl.security.authentication.Constants;
import org.globus.wsrf.impl.security.authorization.Authorization;
import org.globus.wsrf.impl.security.authorization.HostAuthorization;
import org.globus.wsrf.impl.SimpleResourceKey;
import java.io.File;
public class TestSubmit implements GramJobListener{
private static Object waiter = new Object();
public static void main(String[] args)
{
TestSubmit client = new TestSubmit();
System.out.print("submitting job ... ");
try {
client.submitJob();
System.out.println("done");
System.out.println("Waiting for notification messages ...");
synchronized (waiter) {
waiter.wait();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void submitJob() throws Exception
{
// create factory epr
EndpointReferenceType endpoint = new EndpointReferenceType();
AttributedURI address= new
AttributedURI("https://c13.is.pub.ro/wsrf/services/ManagedJobFactoryService");
endpoint.setAddress(address);
ReferencePropertiesType props = new ReferencePropertiesType();
SimpleResourceKey key
= new SimpleResourceKey(
ManagedJobConstants.RESOURCE_KEY_QNAME,
"Fork");
props.add(key.toSOAPElement());
endpoint.setProperties(props);
// setup security
Authorization authz = HostAuthorization.getInstance();
Integer xmlSecurity = Constants.ENCRYPTION;
boolean batchMode = false;
boolean limitedDelegation = true;
// generate job uuid
UUIDGen uuidgen = UUIDGenFactory.getUUIDGen();
String submissionID = "uuid:" + uuidgen.nextUUID();
// dam rsl prin fisier
GramJob job = new GramJob(new File("/home/user/job2.xml"));
job.setAuthorization(authz);
job.setMessageProtectionType(xmlSecurity);
job.setDelegationEnabled(true);
job.addListener(this);
job.submit(endpoint,
batchMode,
limitedDelegation,
submissionID);
}
// GramJob calls this method when a job changes its state
// It's part of GramJobListener Interface
public void stateChanged(GramJob job)
{
StateEnumeration jobState = job.getState();
System.out.println(" got state notifiation: job is in state "
+ jobState);
if (jobState.equals(StateEnumeration.Done)
|| jobState.equals(StateEnumeration.Failed)) {
System.out.print("job finished. destroying job resource ...
");
try {
job.removeListener(this);
job.destroy();
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println("done");
synchronized (waiter) {
waiter.notify();
} } } }}
Please help I can't find the cause of this errors.
Regards,
Silviu Popescu