Omid,

i can't give you a much better advice i think. The examples in the book
work with 4.0, but not with 4.2.

You can of course figure out the new package structure in 4.2 yourself.
The following doc might help with this:
http://dev.globus.org/wiki/Java_WS_Core/Final_WSRF_Migration_Guide

But if you are under time-pressure, it's maybe better to use the existing
c-client if that is possible, instead of writing a client on your own.

Martin


omid boroumand wrote:
do you can give me a another suggestion instead of install GT 4.0.8 ?
because i don't have enough time to install GT 4.0.8. <http://4.0.8.>
Thanks.
Omid.

On Thu, Aug 14, 2008 at 11:00 AM, Martin Feller <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Ah, you have GT 4.2.0 installed, right?
    If so, then the imports from the gt4 book don't fit, because those
    refer to GT 4.0.
    A few things changed in 4.2, including Java package structures.

    The best way for programming with GT and the gt4 book is probably to
    install GT 4.0.8 and load the names of the archives into your
    classpath from
    the GT 4.0.8 install (source ...globus-devel-env.sh) .

    Then all package names should be right.

    Martin

    omid boroumand wrote:

        Hi,

        I accoplish what you  said in  your  reply. but  after this ,
        ever i see this error :
        ---------------
        [EMAIL PROTECTED]:/usr/local/GT4-examples/gt4book-examples>
        source $GLOBUS_LOCATION/etc/globus-devel-env.sh

        [EMAIL PROTECTED]:/usr/local/GT4-examples/gt4book-examples> javac
        SubmitJob.java
        SubmitJob.java:14: package org.apache.axis.message.addressing
        does not exist
        import org.apache.axis.message.addressing.EndpointReferenceType;
                                                 ^
        SubmitJob.java:15: package org.apache.axis.message.addressing
        does not exist
        import org.apache.axis.message.addressing.ReferencePropertiesType;
                                                 ^
        SubmitJob.java:16: package org.apache.axis.message.addressing
        does not exist
        import org.apache.axis.message.addressing.Address;
                                                 ^
        SubmitJob.java:24: cannot find symbol
        symbol  : class Authorization
        location: package org.globus.wsrf.impl.security.authorization
        import org.globus.wsrf.impl.security.authorization.Authorization;
                                                          ^
        SubmitJob.java:51: cannot find symbol
        symbol  : class EndpointReferenceType
        location: class SubmitJob
             EndpointReferenceType endpoint = new EndpointReferenceType();
             ^
        SubmitJob.java:51: cannot find symbol
        symbol  : class EndpointReferenceType
        location: class SubmitJob
             EndpointReferenceType endpoint = new EndpointReferenceType();
                                                  ^
        SubmitJob.java:52: cannot find symbol
        symbol  : class Address
        location: class SubmitJob
             endpoint.setAddress(new
        Address("https://omid:8443/wsrf/services/ManagedJobFactoryService";));
                                     ^
        SubmitJob.java:53: cannot find symbol
        symbol  : class ReferencePropertiesType
        location: class SubmitJob
             ReferencePropertiesType props = new ReferencePropertiesType();
             ^
        SubmitJob.java:53: cannot find symbol
        symbol  : class ReferencePropertiesType
        location: class SubmitJob
             ReferencePropertiesType props = new ReferencePropertiesType();
                                                 ^
        SubmitJob.java:65: cannot find symbol
        symbol  : class Authorization
        location: class SubmitJob
             Authorization authz = HostAuthorization.getInstance();
             ^
        Note: SubmitJob.java uses or overrides a deprecated API.
        Note: Recompile with -Xlint:deprecation for details.
        10 errors
        ----------------------
        my SubmitJob.java contains this :

        import javax.xml.namespace.QName;
        import org.apache.commons.logging.Log;
        import org.apache.commons.logging.LogFactory;
        import org.apache.commons.cli.CommandLine;
        import org.apache.commons.cli.CommandLineParser;
        import org.apache.commons.cli.HelpFormatter;
        import org.apache.commons.cli.Option;
        import org.apache.commons.cli.OptionBuilder;
        import org.apache.commons.cli.Options;
        import org.apache.commons.cli.ParseException;
        import org.apache.commons.cli.PosixParser;
        import org.apache.axis.components.uuid.UUIDGen;
        import org.apache.axis.components.uuid.UUIDGenFactory;
        import org.apache.axis.message.addressing.EndpointReferenceType;
        import org.apache.axis.message.addressing.ReferencePropertiesType;
        import org.apache.axis.message.addressing.Address;
        import org.globus.exec.client.GramJob;
        import org.globus.exec.client.GramJobListener;
        import org.globus.exec.generated.StateEnumeration;
        import org.globus.exec.generated.JobDescriptionType;
        import org.globus.exec.generated.FilePairType;
        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;

        public class SubmitJob implements GramJobListener
        {
          private static Object waiter = new Object();

          public static void main (String args[])
          {
               SubmitJob client = new SubmitJob();
              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();
             endpoint.setAddress(new
        Address("https://omid:8443/wsrf/services/ManagedJobFactoryService";));
             ReferencePropertiesType props = new ReferencePropertiesType();
             SimpleResourceKey key
                         = new SimpleResourceKey(
                                  ManagedJobConstants.RESOURCE_KEY_QNAME,
                                  "Fork");
             props.add(key.toSOAPElement());
             endpoint.setProperties(props);

             // job rsl
             String rsl =
        "<job><executable>/bin/sleep</executable><argument>1</argument></job>";
                 // 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();

             GramJob job = new GramJob(rsl);
             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);
               try {
                   //System.out.println("refreshing status: ");
                   //job.refreshStatus();
                  // System.out.println("state is: " + job.getState());
               } catch (Exception e) {
                    e.printStackTrace();
               }

               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();
                      }
                   }
               }
          }

        this code is the same code that write by other users in this group.
        can you help me  to solve this problem and say me what can i do ?
        Thanks.
        Omid.

        2008/8/14 Martin Feller <[EMAIL PROTECTED]
        <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]
        <mailto:[EMAIL PROTECTED]>>>


           Importing is not enough, you have to add required java
        archives to your
           classpath before compiling. These are GT4 provided archives
        and the
           archives that contain the stubs that are created when you
        build your
           program.

           How to add the GT archives to you classpath:
             source $GLOBUS_LOCATION/etc/globus-devel-env.sh

           Once you have all necessary jars in you classpath try to
        compile again.

           http://gdp.globus.org/gt4-tutorial/multiplehtml/index.html
           is a good starting point for programming with GT4

           Martin

           omid boroumand wrote:

               Hi,
               Thanks for your help.
               I look at the GRAM document and then write  a simple
         program .
               in this program  I import  some  classes  but  when  compile
                program  with  javac  , i see this error :
               ------------------
[EMAIL PROTECTED]:/usr/local/GT4-examples/gt4book-examples> javac
                SubmitJob.java

               SubmitJob.java:3: package org.apache.axis.message.addressing
               does not exist
               import org.apache.axis.message.addressing.Address;
                                                        ^
               SubmitJob.java:4: package org.apache.axis.message.addressing
               does not exist
               import
        org.apache.axis.message.addressing.EndpointReferenceType;
                                                        ^
               SubmitJob.java:5: package
        org.globus.examples.stubs.Factory does
               not exist
               import org.globus.examples.stubs.Factory.CreateResource;
                                                       ^
               SubmitJob.java:6: package
        org.globus.examples.stubs.Factory does
               not exist
               import
        org.globus.examples.stubs.Factory.CreateResourceResponse;
                                                       ^
               SubmitJob.java:7: package
        org.globus.examples.stubs.Factory does
               not exist
               import org.globus.examples.stubs.Factory.FactoryPortType;
                                                       ^
               SubmitJob.java:8: package
               org.globus.examples.stubs.Factory.service does not exist
               import
org.globus.examples.stubs.Factory.service.FactoryServiceAddressingLocator;
                                                               ^
               SubmitJob.java:24: package org.apache.axis.message.addressing
               does not exist
               import org.apache.axis.message.addressing.AttributedURI;
                                                        ^
               ------------------
               Do you can help me that how I can to introduce needed
        package to
               my programs?
               Thanks.
               Omid.

               2008/8/13 Maciej Nowicki <[EMAIL PROTECTED]>

                  Dnia 13-08-2008 o godz. 23:14 omid boroumand napisał(a):

                  Surround line

                  JobDescriptionType jobDescription =
                  RSLHelper.readRSL(jobDescriptionFile);

                  with try - catch (RSLParseException) block.

                  I see you don't use any IDE like Eclipse - I strongly
        advise
               you to do
                  so - it'll help you in dealing with errors like this
        one and
               therefore
                  speed up your development.

                  And remember submitting a job in java is much mroe
        than just
               those four
                  lines of code - take a look on WS-GRAM documentation at
                  www.globus.org/toolkit <http://www.globus.org/toolkit>
        <http://www.globus.org/toolkit>
               <http://www.globus.org/toolkit>


                   > Hi,
                   > i installed GT4.2 and  want submit job with client
        API to
               globus.
                   > but when i compile the ' SubmitJob.java '  , I see this
               error :
                   > -------------
                   > [EMAIL PROTECTED]:/usr/local/GT4-examples> javac
        -classpath
                  ./build/stubs/classes/:$CLASSPATH SubmitJob.java
                   > SubmitJob.java:71: unreported exception
                  org.globus.exec.utils.rsl.RSLParseException; must be
        caught
               or declared
                  to be thrown
                   >                 JobDescriptionType jobDescription =
                  RSLHelper.readRSL(jobDescriptionFile);

                   > public class SubmitJob {
                   >
                   >
                   >     public static void main(String[] args)
                   >     {
                   >         File jobDescriptionFile = new
        File("Test_Job.xml");
                   >     JobDescriptionType jobDescription =
                  RSLHelper.readRSL(jobDescriptionFile);
                   >
                   >     GramJob TestJob=new GramJob(jobDescription);
                   >     TestJob.submit(omid:8443);
                   >     }
                   > }
                  pozdrawiam / kind regards
                  Maciej Nowicki

                  ----------------------------------------------------
                  Efekciarskie auta, noweczesne gadżety, wytworne szmatki.
                  Lajfstajlowy serwis dla koneserów prawdziwego luksusu.
                  Zobacz: http://klik.wp.pl/?adr=www.LuxClub.pl&sid=451
        <http://klik.wp.pl/?adr=www.LuxClub.pl&sid=451>
               <http://klik.wp.pl/?adr=www.LuxClub.pl&sid=451
        <http://klik.wp.pl/?adr=www.LuxClub.pl&sid=451>>
                  <http://klik.wp.pl/?adr=www.LuxClub.pl&sid=451
        <http://klik.wp.pl/?adr=www.LuxClub.pl&sid=451>
               <http://klik.wp.pl/?adr=www.LuxClub.pl&sid=451
        <http://klik.wp.pl/?adr=www.LuxClub.pl&sid=451>>>








Reply via email to