Hello, Nobody can help-me?
On Wed, Oct 22, 2008 at 12:44 PM, Italo Valcy <[EMAIL PROTECTED]> wrote: > Hi people, > > I'm writing a service (very simple service) in GT4 that does submission of > jobs (using java CoG kit abstractions). This servise print in container log > one message (the message is the parameters of the method). But when I run a > client to test the web service, I don't have sucess... > > I saw following error message in globus container log: > > > ------------------------------------8<-------------------------------------------- > ... > [16]: https://172.16.132.201:8443/wsrf/services/HelloworldService > ... > > > Job failed: > AxisFault > faultCode: > {http://xml.apache.org/axis/}Server.NoService<http://xml.apache.org/axis/%7DServer.NoService> > faultSubcode: > faultString: The AXIS engine could not find a target service to invoke! > targetService is null > faultActor: > faultNode: > faultDetail: > > {http://xml.apache.org/axis/}stackTrace:The<http://xml.apache.org/axis/%7DstackTrace:The>AXIS > engine could not find a target service to invoke! targetService is > null > at org.apache.axis.server.AxisServer.invoke(AxisServer.java:269) > 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:147) > at org.globus.wsrf.container.ServiceThread.run(ServiceThread.java:291) > > > {http://xml.apache.org/axis/}hostname:mainha<http://xml.apache.org/axis/%7Dhostname:mainha> > > The AXIS engine could not find a target service to invoke! targetService > is null > at > org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221) > at > org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128) > at > org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087) > at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown > Source) > at > org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(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 javax.xml.parsers.SAXParser.parse(SAXParser.java:375) > at > org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) > at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645) > at org.apache.axis.Message.getSOAPEnvelope(Message.java:424) > at > org.apache.axis.message.addressing.handler.AddressingHandler.processClientResponse(AddressingHandler.java:305) > at > org.apache.axis.message.addressing.handler.AddressingHandler.invoke(AddressingHandler.java:110) > 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:190) > 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.getMultipleResourceProperties(ManagedJobFactoryPortTypeSOAPBindingStub.java:1219) > at > org.globus.exec.client.GramJob.fetchDelegationFactoryEndpoints(GramJob.java:651) > at > org.globus.exec.client.GramJob.populateJobDescriptionEndpoints(GramJob.java:513) > at org.globus.exec.client.GramJob.submit(GramJob.java:458) > at > org.globus.cog.abstraction.impl.execution.gt4_0_0.JobSubmissionTaskHandler.submit(JobSubmissionTaskHandler.java:171) > at > org.globus.cog.abstraction.impl.common.AbstractTaskHandler.submit(AbstractTaskHandler.java:69) > at > org.globus.exemplos.helloworld.impl.JobSubmission.submitTask(JobSubmission.java:191) > at > org.globus.exemplos.helloworld.impl.HelloworldService.writeMessage(HelloworldService.java:27) > 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: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:147) > at org.globus.wsrf.container.ServiceThread.run(ServiceThread.java:291) > 2008-10-22 11:53:58,137 WARN gt4_0_0.JobSubmissionTaskHandler > [ServiceThread-16,cleanup:352] Unable to destroy remote service for task > urn:cog-1224687237279 > java.lang.NullPointerException > at > org.globus.exec.generated.service.ManagedJobServiceAddressingLocator.getManagedJobPortTypePort(ManagedJobServiceAddressingLocator.java:12) > at > org.globus.exec.utils.client.ManagedJobClientHelper.getPort(ManagedJobClientHelper.java:32) > at org.globus.exec.client.GramJob.release(GramJob.java:1489) > at > org.globus.cog.abstraction.impl.execution.gt4_0_0.JobSubmissionTaskHandler.cleanup(JobSubmissionTaskHandler.java:348) > at > org.globus.cog.abstraction.impl.execution.gt4_0_0.JobSubmissionTaskHandler.submit(JobSubmissionTaskHandler.java:185) > at > org.globus.cog.abstraction.impl.common.AbstractTaskHandler.submit(AbstractTaskHandler.java:69) > at > org.globus.exemplos.helloworld.impl.JobSubmission.submitTask(JobSubmission.java:191) > at > org.globus.exemplos.helloworld.impl.HelloworldService.writeMessage(HelloworldService.java:27) > 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: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:147) > at org.globus.wsrf.container.ServiceThread.run(ServiceThread.java:291) > Submission Exception: Cannot submit job: The AXIS engine could not find a > target service to invoke! targetService is null > > > -------------------------------8<-------------------------------------------- > > > > My wsdl file: > > -------------------------------8<-------------------------------------------- > <?xml version="1.0" encoding="UTF-8"?> > <definitions name="HelloworldService" > targetNamespace=" > http://topgrid.dcc.ufba.br/namespaces/grid/apps/HelloworldService_instance > " > xmlns="http://schemas.xmlsoap.org/wsdl/" > xmlns:tns=" > http://topgrid.dcc.ufba.br/namespaces/grid/apps/HelloworldService_instance > " > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdlpp=" > http://www.globus.org/namespaces/2004/10/WSDLPreprocessor" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > > <!-- Types --> > > <types> > <xsd:schema targetNamespace=" > http://topgrid.dcc.ufba.br/namespaces/grid/apps/HelloworldService_instance > " > xmlns:tns=" > http://topgrid.dcc.ufba.br/namespaces/grid/apps/HelloworldService_instance > " > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > > <!-- REQUESTS AND RESPONSES --> > > <xsd:element name="message" type="xsd:string"/> > <xsd:element name="messageResponse"> > <xsd:complexType/> > </xsd:element> > > </xsd:schema> > </types> > > > <!-- Messages --> > > <message name="WriteMessageInputMessage"> > <part name="parameters" element="tns:message"/> > </message> > <message name="WriteMessageOutputMessage"> > <part name="parameters" element="tns:messageResponse"/> > </message> > > > <!-- PortType --> > > <portType name="HelloWorldPortType"> > > <operation name="writeMessage"> > <input message="tns:WriteMessageInputMessage"/> > <output message="tns:WriteMessageOutputMessage"/> > </operation> > > </portType> > > > </definitions> > > > -------------------------------8<-------------------------------------------- > > > > My java class of the service: > > -------------------------------8<-------------------------------------------- > package org.globus.exemplos.helloworld.impl; > > import java.rmi.RemoteException; > > import > org.globus.exemplos.stubs.HelloworldService_instance.MessageResponse; > > public class HelloworldService { > public MessageResponse writeMessage(String message) throws > RemoteException { > > try { > // Output in the globus container log > System.out.println("Submiting task"); > JobSubmission job = new JobSubmission(); > > StringBuffer specification = new StringBuffer(); > specification.append("<job>"); > specification.append(" <executable>/bin/echo</executable>"); > specification.append(" <argument>" + message + "</argument>"); > specification.append(" > <stdout>${GLOBUS_USER_HOME}/helloworld.stdout</stdout>"); > specification.append(" > <stderr>${GLOBUS_USER_HOME}/helloworld.stderr</stderr>"); > specification.append("</job>"); > > job.setJobmanager("FORK"); > job.setSpecification(specification.toString()); > > job.prepareTask(); > job.submitTask(); > job.waitJob(); > > System.out.println(job.getExitValue()); > } catch (Exception e) { > //TODO > } > > return new MessageResponse(); > } > } > > > -------------------------------8<-------------------------------------------- > > > > The java class of JobSubmission is very similar with the example in java > cog wiki: > http://www.cogkit.org/viewcvs/viewcvs.cgi/src/cog/modules/abstraction-examples/src/org/globus/cog/abstraction/examples/execution/ > > Finally, my client java class: > > -------------------------------8<-------------------------------------------- > package org.globus.clients.helloworld; > > import javax.xml.rpc.Stub; > import org.globus.axis.util.Util; > import org.apache.axis.message.addressing.Address; > import org.apache.axis.message.addressing.EndpointReferenceType; > import org.globus.wsrf.impl.security.authorization.NoAuthorization; > import org.globus.wsrf.security.Constants; > import > org.globus.exemplos.stubs.HelloworldService_instance.HelloWorldPortType; > import > org.globus.exemplos.stubs.HelloworldService_instance.service.HelloworldServiceAddressingLocator; > > public class HelloworldClient { > static { > Util.registerTransport(); > } > > public HelloWorldPortType getPortType(String URI, boolean security) > throws Exception > { > HelloworldServiceAddressingLocator locator = new > HelloworldServiceAddressingLocator(); > EndpointReferenceType endpoint = new EndpointReferenceType(); > HelloWorldPortType helloworld = null; > > endpoint.setAddress(new Address(URI)); > helloworld = locator.getHelloWorldPortTypePort(endpoint); > > if (security) > { > ((Stub) helloworld)._setProperty(Constants.GSI_TRANSPORT, > Constants.ENCRYPTION); > ((Stub) helloworld)._setProperty(Constants.AUTHORIZATION, > NoAuthorization.getInstance()); > } > > return helloworld; > } > > public static void main(String[] args) { > > try { > String URI = " > https://172.16.132.201:8443/wsrf/services/HelloworldService"; > HelloworldClient client = new HelloworldClient(); > HelloWorldPortType helloworld = client.getPortType(URI,true); > > helloworld.writeMessage("Hello World!"); > } catch (Exception e) { > e.printStackTrace(); > } > } > > } > > > -------------------------------8<-------------------------------------------- > > > > Any suggestions to why it does not work ? > > > Thanks. > > ps: sorry my english... :) > > > -- > Saudações, > > Italo Valcy :: > http://twiki.dcc.ufba.br/~ItaloValcy<http://twiki.dcc.ufba.br/%7EItaloValcy> > Graduando em Ciência da Computação - DCC/UFBA :: http://www.dcc.ufba.br > -- Saudações, Italo Valcy :: http://twiki.dcc.ufba.br/~ItaloValcy Graduando em Ciência da Computação - DCC/UFBA :: http://www.dcc.ufba.br
