I'm having a problem starting a ws-gram job in GT 4.2.1.

I'm always receiving this exception:

AxisFault
faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString:
faultActor:
faultNode:
faultDetail:

{http://docs.oasis-open.org/wsrf/bf-2}BaseFault:<ns1:Timestamp>2009-05-08T15:50:52.127Z</ns1:Timestamp><ns1:Originator><ns2:Address xmlns:ns2="http://www.w3.org/2005/08/addressing";>https://optout32.critical.pt:8443/wsrf/services/ManagedJobFactoryService</ns2:Address><ns3:ReferenceParameters
xmlns:ns3="http://www.w3.org/2005/08/addressing";><ns1:ResourceID
ns3:IsReferenceParameter="true"
xmlns:ns1="http://www.globus.org/namespaces/2008/03/gram/job";>Fork</ns1:ResourceID></ns3:ReferenceParameters></ns1:Originator><ns1:Description>Subscription
request with unknown topic
{http://www.globus.org/namespaces/2008/03/gram/job/types}state.
</ns1:Description><ns1:FaultCause><ns1:BaseFault
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:type="ns1:BaseFaultType"><ns1:Timestamp
xsi:type="xsd:dateTime">2009-05-08T15:50:52.127Z</ns1:Timestamp><ns1:ErrorCode
dialect="http://www.globus.org/fault/stacktrace";>
   at
org.globus.wsrf.impl.notification.SubscribeHelper.subscribe(SubscribeHelper.java:428)
   at
org.globus.exec.service.factory.ManagedJobFactoryService.createManagedJob(ManagedJobFactoryService.java:312)
   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:585)
   at
org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:410)
   at
org.globus.axis.providers.RPCProvider.invokeMethodSub(RPCProvider.java:112)
   at
org.globus.axis.providers.PrivilegedInvokeMethodAction.run(PrivilegedInvokeMethodAction.java:47)
   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:60)
   at org.globus.gsi.jaas.JaasSubject.doAs(JaasSubject.java:100)
   at
org.globus.axis.providers.RPCProvider.invokeMethod(RPCProvider.java:102)
   at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
   at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:332)
   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:454)
   at org.apache.axis.server.AxisServer.invokeService(AxisServer.java:234)
   at org.apache.axis.server.AxisServer.invoke(AxisServer.java:375)
   at
org.globus.wsrf.container.ServiceThread.doPost(ServiceThread.java:949)
   at
org.globus.wsrf.container.ServiceThread.process(ServiceThread.java:684)
   at
org.globus.wsrf.container.GSIServiceThread.process(GSIServiceThread.java:182)
   at org.globus.wsrf.container.ServiceThread.run(ServiceThread.java:471)
</ns1:ErrorCode><ns1:Description>org.oasis.wsn.TopicNotSupportedFaultType</ns1:Description></ns1:BaseFault></ns1:FaultCause>


   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
   at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
   at java.lang.Class.newInstance0(Class.java:350)
   at java.lang.Class.newInstance(Class.java:303)
   at
org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:105)
   at
org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:91)
   at
org.oasis.wsrf.faults.BaseFaultType.getDeserializer(BaseFaultType.java:317)
   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:585)
   at
org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154)
   at
org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84)
   at
org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464)
   at
org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547)
   at
org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)
   at
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
   at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
Source)
   at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
Source)
   at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
   at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
   at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
   at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
   at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
Source)
   at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
   at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
   at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:695)
   at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
   at
org.globus.axis.message.addressing.handler.AddressingHandler.processClientResponse(AddressingHandler.java:367)
   at
org.globus.wsrf.handlers.AddressingHandler.processClientResponse(AddressingHandler.java:92)
   at
org.globus.axis.message.addressing.handler.AddressingHandler.invoke(AddressingHandler.java:132)
   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.invokeInbound(AxisClient.java:207)
   at org.apache.axis.client.AxisClient.invoke(AxisClient.java:298)
   at org.apache.axis.client.Call.invokeEngine(Call.java:2838)
   at org.apache.axis.client.Call.invoke(Call.java:2824)
   at org.apache.axis.client.Call.invoke(Call.java:2501)
   at org.apache.axis.client.Call.invoke(Call.java:2424)
   at org.apache.axis.client.Call.invoke(Call.java:1835)
   at
org.globus.exec.generated.bindings.ManagedJobFactoryPortTypeSOAPBindingStub.createManagedJob(ManagedJobFactoryPortTypeSOAPBindingStub.java:1644)
   at
com.criticalsoftware.pfound.services.impl.JobDispatcherImpl.startNewJob(JobDispatcherImpl.java:224)
   at
com.criticalsoftware.pfound.portlets.JobMonitoring.startJob(JobMonitoring.java:104)
   at
org.apache.jsp.jsp.monitoring_jsp._jspService(monitoring_jsp.java:218)
   at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
   at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
   at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
   at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
   at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
   at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
   at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584)
   at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:497)
   at
org.gridsphere.portlet.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:72)
   at
org.gridsphere.provider.portlet.jsr.ActionPortlet.doViewJSP(ActionPortlet.java:249)
   at
org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:308)
   at
org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
   at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
   at
org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
   at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
   at
org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
   at
org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
   at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
   at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
   at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584)
   at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:497)
   at
org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
   at
org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
   at
org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
   at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
   at
org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
   at
org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
   at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
   at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
   at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
   at
org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
   at
org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:229)
   at
org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:124)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
   at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
   at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
   at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
   at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
   at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
   at
org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:215)
   at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
   at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
   at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
   at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
   at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
   at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
   at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
   at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
   at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
   at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
   at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
   at java.lang.Thread.run(Thread.java:595)


the container.log has this:

2009-05-08T16:50:25.484+01:00 INFO  impl.DefaultIndexService
[ServiceThread-57,performDefaultRegistrations:261]
guid=f22b9440-3be7-11de-ac9e-e7ef9650767d
event=org.globus.mds.index.performDefaultRegistrations.end status=0
2009-05-08T16:50:52.042+01:00 DEBUG factory.ManagedJobFactoryService
[ServiceThread-58,createManagedJob:129] Entering createManagedJob()
2009-05-08T16:50:52.052+01:00 DEBUG factory.ManagedJobFactoryService
[ServiceThread-58,createManagedJob:192] received RSL :
<ns1:job
xmlns:ns1="http://www.globus.org/namespaces/2008/03/gram/job/description";><ns1:executable>/bin/ls</ns1:executable><ns1:argument
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:type="xsd:string">-l</ns1:argument><ns1:argument
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:type="xsd:string">-a</ns1:argument></ns1:job>
2009-05-08T16:50:52.055+01:00 DEBUG factory.ManagedJobFactoryService
[ServiceThread-58,createManagedJob:269] Caller DN: <this is correct>
2009-05-08T16:50:52.055+01:00 DEBUG factory.ManagedJobFactoryService
[ServiceThread-58,createManagedJob:270] Local user ID: test01
2009-05-08T16:50:52.056+01:00 DEBUG factory.ManagedJobFactoryService
[ServiceThread-58,createManagedJob:274] received a single-job RSL
2009-05-08T16:50:52.056+01:00 DEBUG factory.ManagedJobFactoryService
[ServiceThread-58,createManagedJob:289] at create()
2009-05-08T16:50:52.057+01:00 DEBUG exec.ManagedExecutableJobHome
[ServiceThread-58,create:255] Entering create()
2009-05-08T16:50:52.058+01:00 DEBUG exec.ManagedExecutableJobHome
[ServiceThread-58,create:295] at find()
2009-05-08T16:50:52.059+01:00 DEBUG utils.PersistenceHelper
[ServiceThread-58,load:143] loading resource
org.globus.exec.service.exec.persistentmanagedexecutablejobresou...@9fe45c
of key
{http://www.globus.org/namespaces/2008/03/gram/job}ResourceID=020d4890-3be8-11de-ac9e-e7ef9650767d
2009-05-08T16:50:52.060+01:00 DEBUG exec.ManagedExecutableJobHome
[ServiceThread-58,create:299] new resource being created
2009-05-08T16:50:52.060+01:00 DEBUG exec.ManagedExecutableJobHome
[ServiceThread-58,create:305] at createNewInstance()
2009-05-08T16:50:52.061+01:00 DEBUG exec.ManagedExecutableJobHome
[ServiceThread-58,create:314] at initializeWholeState()
2009-05-08T16:50:52.063+01:00 DEBUG
PersistentManagedExecutableJobResource.020d4890-3be8-11de-ac9e-e7ef9650767d
[ServiceThread-58,initialize:129] Entering initialize()
2009-05-08T16:50:52.063+01:00 DEBUG
PersistentManagedExecutableJobResource.020d4890-3be8-11de-ac9e-e7ef9650767d
[ServiceThread-58,initialize:133] at initSecurity()
2009-05-08T16:50:52.064+01:00 DEBUG
PersistentManagedExecutableJobResource.020d4890-3be8-11de-ac9e-e7ef9650767d
[ServiceThread-58,initSecurity:251] Entering initSecurity() with desc
file etc/globus_wsrf_gram/managed-job-security-config.xml
2009-05-08T16:50:52.105+01:00 DEBUG
PersistentManagedExecutableJobResource.020d4890-3be8-11de-ac9e-e7ef9650767d
[ServiceThread-58,initSecurity:268] resource credential subject:
null
2009-05-08T16:50:52.106+01:00 DEBUG
PersistentManagedExecutableJobResource.020d4890-3be8-11de-ac9e-e7ef9650767d
[ServiceThread-58,initSecurity:279] setting resource securty grid map...
Subject:  <this is correct>
Local user ID: test01
2009-05-08T16:50:52.107+01:00 DEBUG
PersistentManagedExecutableJobResource.020d4890-3be8-11de-ac9e-e7ef9650767d
[ServiceThread-58,initSecurity:293] Leaving initSecurity()
2009-05-08T16:50:52.107+01:00 DEBUG
PersistentManagedExecutableJobResource.020d4890-3be8-11de-ac9e-e7ef9650767d
[ServiceThread-58,initialize:161] Leaving initialize()
2009-05-08T16:50:52.108+01:00 DEBUG exec.ManagedExecutableJobHome
[ServiceThread-58,create:335] Created ManagedExecutableJobResource with
key value 020d4890-3be8-11de-ac9e-e7ef9650767d
2009-05-08T16:50:52.108+01:00 DEBUG
exec.PersistentManagedExecutableJobResource
[ServiceThread-58,setDirty:205] setting dirty flag to true
2009-05-08T16:50:52.109+01:00 DEBUG utils.PersistenceHelper
[ServiceThread-58,store:89] storing resource
{http://www.globus.org/namespaces/2008/03/gram/job}ResourceID=020d4890-3be8-11de-ac9e-e7ef9650767d
with state Unsubmitted
2009-05-08T16:50:52.116+01:00 DEBUG
exec.PersistentManagedExecutableJobResource
[ServiceThread-58,setDirty:205] setting dirty flag to false
2009-05-08T16:50:52.117+01:00 DEBUG utils.PersistenceHelper
[ServiceThread-58,store:124] done storing resource
{http://www.globus.org/namespaces/2008/03/gram/job}ResourceID=020d4890-3be8-11de-ac9e-e7ef9650767d
2009-05-08T16:50:52.122+01:00 DEBUG exec.ManagedExecutableJobHome
[ServiceThread-58,create:347] at add()
2009-05-08T16:50:52.123+01:00 DEBUG exec.ManagedExecutableJobHome
[ServiceThread-58,create:359] Leaving create()
2009-05-08T16:50:52.124+01:00 DEBUG factory.ManagedJobFactoryService
[ServiceThread-58,createManagedJob:310] at subscribe()
2009-05-08T16:50:52.129+01:00 ERROR factory.ManagedJobFactoryService
[ServiceThread-58,createManagedJob:326] Subscription request with
unknown topic
{http://www.globus.org/namespaces/2008/03/gram/job/types}state.
2009-05-08T16:50:54.673+01:00 DEBUG seg.SchedulerEventGeneratorMonitor
[Timer-1,flushCache:373] Entering flushCache()
2009-05-08T16:50:54.674+01:00 DEBUG seg.SchedulerEventGeneratorMonitor
[Timer-1,flushCache:411] Exiting flushCache()



The code that is provoking this is based on the java-ws example for
GRAM4, and is listed below.

Does anyone have an idea of what is causing this behaviour?

I've already tryed google, GT documentation even taked a look around
Axis, but I'm getting nowhere and getting somewhat desperate.

Can you please help me?

URL factoryUrl = null;
       try {
           factoryUrl = ManagedJobFactoryClientHelper
                   .getServiceURL(

"https://<machine>:8443/wsrf/services/ManagedJobFactoryService")
                   .getURL();
       } catch (MalformedURLException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }

       String factoryType = ManagedJobFactoryConstants.FACTORY_TYPE.FORK;

       EndpointReferenceType factoryEndpoint = null;
       try {
           factoryEndpoint =
ManagedJobFactoryClientHelper.getFactoryEndpoint(
                   factoryUrl, factoryType);
       } catch (Exception e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }

       ManagedJobFactoryPortType factoryPort = null;
       try {
           factoryPort = ManagedJobFactoryClientHelper
                   .getPort(factoryEndpoint);
       } catch (Exception e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }

       JobDescriptionType jobDesc = new JobDescriptionType();

       jobDesc.setExecutable("/bin/ls");
       String[] arg = { "-l", "-a" };
       jobDesc.setArgument(arg);

       ClientSecurityDescriptor secDesc = new ClientSecurityDescriptor();
       secDesc.setGSSCredential(cred);
       ((Stub) factoryPort)._setProperty(Constants.CLIENT_DESCRIPTOR,
secDesc);


       NotificationConsumerManager notifConsumerManager =
NotificationConsumerManager.getInstance();

       try {
           notifConsumerManager.startListening();
       } catch (ContainerException e1) {
           // TODO Auto-generated catch block
           e1.printStackTrace();
       }

       List<QName> topicPath = new LinkedList<QName>();
       topicPath.add(ManagedJobConstants.RP_STATE);

       ResourceSecurityDescriptor resourceSecDesc = new
ResourceSecurityDescriptor();
       try {

resourceSecDesc.setAuthzEngine(AuthorizationEngine.getInstance());
       } catch (ConfigException e1) {
           // TODO Auto-generated catch block
           e1.printStackTrace();
       }

       Vector<GSITransportAuthMethod> authMethods = new
Vector<GSITransportAuthMethod>();
       authMethods.add(GSITransportAuthMethod.BOTH);
       resourceSecDesc.setAuthMethods(Constants.AUTHORIZATION,
authMethods);

       EndpointReferenceType notificationConsumerEndpoint = null;
       try {
           notifConsumerManager.startListening();
       } catch (ContainerException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
       try {
           notificationConsumerEndpoint = notifConsumerManager
                   .createNotificationConsumer(topicPath, this);//,
                           //resourceSecDesc);
       } catch (ResourceException e1) {
           // TODO Auto-generated catch block
           e1.printStackTrace();
       }

       Subscribe subscriptionReq = new Subscribe();
       subscriptionReq.setConsumerReference(notificationConsumerEndpoint);

       TopicExpressionType topicExpression = null;
       try {
           topicExpression = new TopicExpressionType();
           topicExpression.setDialect(WSNConstants.SIMPLE_TOPIC_DIALECT);
           topicExpression.setValue(ManagedJobConstants.RP_STATE);
       } catch (MalformedURIException e2) {
           // TODO Auto-generated catch block
           e2.printStackTrace();
       }


       MessageElement element = null;
       try {
           element = (MessageElement) ObjectSerializer.toSOAPElement(
                   topicExpression, WSNConstants.TOPIC_EXPRESSION);
       } catch (SerializationException e1) {
           // TODO Auto-generated catch block
           e1.printStackTrace();
       }
       FilterType filter = new FilterType();
       filter.set_any(new MessageElement[] { element });

       subscriptionReq.setFilter(filter);

       CreateManagedJobInputType jobInput = new
CreateManagedJobInputType();
       jobInput.setJobID(new AttributedURIType("uuid:"
               + UUIDGenFactory.getUUIDGen().nextUUID()));
       jobInput.setJob(jobDesc);

       jobInput.setSubscribe(subscriptionReq);

       CreateManagedJobOutputType createResponse = null;
       try {
           createResponse = factoryPort.createManagedJob(jobInput);
       } catch (UnableToSetTerminationTimeFaultType e1) {
           // TODO Auto-generated catch block
           e1.printStackTrace();
       } catch (BaseFaultType e1) {
           // TODO Auto-generated catch block
           e1.printStackTrace();
       } catch (RemoteException e1) {
           // TODO Auto-generated catch block
           e1.printStackTrace();
       }


Reply via email to