hi,
I wrote two services A and B using java. and I want to run service
A's client in service B. I'd better use host credential when calling
service A, right ? Please tell me how to use host credential in
service B so that when I call service A in service B I can use it. Can
you give me an example.
And another question. If I want to call RFT client in service B.
and I got the following exception in container.log:
2007-10-08 14:16:38 [WARN] Gridmap authorization failed: peer
"/O=Grid/OU=GlobusTest/OU=simpleCA-server132/CN=host/freedom" not in
gridmap file.
2007-10-08 14:16:38 [WARN]
"/O=Grid/OU=GlobusTest/OU=simpleCA-server132/CN=host/freedom" is not
authorized to use operation:
{http://www.globus.org/08/2004/delegationService}requestSecurityToken
on this service
2007-10-08 14:16:38 [ERROR]
org.globus.wsrf.impl.security.authorization.exceptions.AuthorizationException:
"/O=Grid/OU=GlobusTest/OU=simpleCA-server132/CN=host/freedom" is not
authorized to use operation:
{http://www.globus.org/08/2004/delegationService}requestSecurityToken
on this service
. Caused by AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString:
org.globus.wsrf.impl.security.authorization.exceptions.AuthorizationException:
"/O=Grid/OU=GlobusTest/OU=simpleCA-server132/CN=host/freedom"
is not authorized to use operation:
{http://www.globus.org/08/2004/delegationService}requestSecurityToken
on this service
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.globus.wsrf.impl.security.authorization.exceptions.AuthorizationException:
"/O=Grid/OU=GlobusTest/OU=simpleCA-server132/CN=host/freedom"
is not authorized to use operation:
{http://www.globus.org/08/2004/delegationService}requestSecurityToken
on this service
at
org.globus.wsrf.impl.security.authorization.ServiceAuthorizationChain.authorize(ServiceAuthorizationChain.java:301)
at
org.globus.wsrf.impl.security.authorization.ServiceAuthorizationChain.authorize(ServiceAuthorizationChain.java:272)
at
org.globus.wsrf.impl.security.authorization.ServiceAuthorizationChain.authorize(ServiceAuthorizationChain.java:235)
at
org.globus.wsrf.impl.security.authorization.AuthorizationHandler.invoke(AuthorizationHandler.java:173)
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.server.AxisServer.invoke(AxisServer.java:248)
at
org.globus.wsrf.container.ServiceThread.doPost(ServiceThread.java:676)
at
org.globus.wsrf.container.ServiceThread.process(ServiceThread.java:397)
at
org.globus.wsrf.container.GSIServiceThread.process(GSIServiceThread.java:151)
at org.globus.wsrf.container.ServiceThread.run(ServiceThread.java:302)
{http://xml.apache.org/axis/}hostname:freedom
org.globus.wsrf.impl.security.authorization.exceptions.AuthorizationException:
"/O=Grid/OU=GlobusTest/OU=simpleCA-server132/CN=host/freedom" is not
authorized to use operation:
{http://www.globus.org/08/2004/delegationService}requestSecurityToken
on this service
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 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: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.delegationService.DelegationFactoryPortTypeSOAPBindingStub.requestSecurityToken(DelegationFactoryPortTypeSOAPBindingStub.java:1230)
at
org.globus.delegation.DelegationUtil.delegate(DelegationUtil.java:432)
at
pact.grid.easytools.util.BaseRFTClient.delegateCredential(BaseRFTClient.java:304)
at
pact.grid.easytools.util.GlobusRFTClient.runRFT(GlobusRFTClient.java:151)
at
pact.grid.easytools.transfer.impl.TransferClientImpl.exeRFTtrans(TransferClientImpl.java:200)
at
hit.pact.crawler.daemons.node.host.ExeFileTransfer.exeTransfer(ExeFileTransfer.java:117)
at
hit.pact.crawler.daemons.node.host.RawFileProcessor.callTransfer(RawFileProcessor.java:206)
at
hit.pact.crawler.daemons.node.host.RawFileProcessor$RealProcess.run(RawFileProcessor.java:280)
runRFT:Error: org.globus.delegation.DelegationException: [Caused by:
org.globus.wsrf.impl.security.authorization.exceptions.AuthorizationException:
"/O=Grid/OU=GlobusTest/OU=simpleCA-server132/CN=host/freedom" is not
authorized to use operation:
{http://www.globus.org/08/2004/delegationService}requestSecurityToken
on this service]
I created a credential for user globus. And it sames that host
credential is used instead of globus's. Please tell me how to solve
this error. An example code will be appreciated.
Thanks.