Johannes, I can only guess here, but did you have a look at service security descriptors of other services in gt 4.2? They look different to me (elements and namespace), for example the service security descriptor of the counter service in $GLOBUS_LOCATION/etc/globus_wsrf_core_samples_counter/security-confix.xml:
<serviceSecurityConfig xmlns="http://www.globus.org/security/descriptor/service"> ... <authzChain> <pdps> <interceptor name="self"/> </pdps> </authzChain> </serviceSecurityConfig> I remember that I had some problems (with sub-optimal error messages) once because I used a wrong namespace in a security descriptor. I'd hope the documentation says something about this: http://www.globus.org/toolkit/docs/4.2/4.2.1/security/wsaajava/descriptor/#wsaajavaDescriptor Martin Johannes Duschl wrote: > I have spent the last night figuring out what's wrong. I couldn't. It > will complain if the file actually is not there. However, for every > valid securityDescriptor, no matter how simple or complex, I always get > the error > > "/usr/local/globus-4.2.1.1/etc/com_my_service/factory-security.xml" > [Caused by: cvc-elt.1: Cannot find the declaration of element > 'securityConfig'.] > > Since others, who had this problem and also have posted in this list did > not get any answers I believe nobody knows the cause of this behaviour. > I now see no other option then re-setup globus to eliminate the > possibility that my globus installation is borked. > > Johannes > > > Zitat von Johannes Duschl <[email protected]>: > >> Hello, >> >> now the problem is back. I can build and deploy the service fine, also >> with validation. However, when I want to connect to the service I get >> this error on the client side: >> >> Client: Error: Could not connect to Factory. >> org.globus.wsrf.config.ConfigException: [JWSSEC-245] Error >> parsing file: >> >> "/usr/local/globus-4.2.1.1/etc/com_my_service/factory-security.xml" >> [Caused by: cvc-elt.1: Cannot find the declaration of element >> 'securityConfig'.] >> >> >> and this error on the server side: >> >> 2010-03-29T12:56:32.700+02:00 ERROR handler.AddressingHandler >> [ServiceThread-56,invoke:142] Exception in AddressingHandler >> AxisFault >> faultCode: >> {http://schemas.xmlsoap.org/soap/envelope/}Server.userException >> faultSubcode: >> faultString: org.globus.wsrf.config.ConfigException: >> [JWSSEC-245] Error parsing file: >> >> "/usr/local/globus-4.2.1.1/etc/com_my_service/factory-security.xml" >> >> [Caused by: cvc-elt.1: Cannot find the declaration of element >> 'securityConfig'.] >> faultActor: >> faultNode: >> faultDetail: >> {http://xml.apache.org/axis/}stackTrace:[JWSSEC-245] Error >> parsing file: >> >> "/usr/local/globus-4.2.1.1/etc/com_my_service/factory-security.xml". >> Caused by org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the >> declaration of element 'securityConfig'. >> at >> >> org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown >> Source) >> at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown >> Source) >> at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown >> Source) >> at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown >> Source) >> at >> >> org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown >> Source) >> at >> >> org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source) >> at >> >> org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown >> Source) >> at org.apache.xerces.impl.XMLNSDocumentScannerImpl >> $NSContentDispatcher.scanRootElementHook(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.commons.digester.Digester.parse(Digester.java:1567) >> at >> >> org.globus.wsrf.impl.security.descriptor.SecurityHelper.parse(SecurityHelper.java:185) >> >> at >> >> org.globus.wsrf.impl.security.descriptor.SecurityHelper.parseServiceDescriptor(SecurityHelper.java:209) >> >> at >> >> org.globus.wsrf.impl.security.descriptor.ServiceSecurityDescriptor.<init>(ServiceSecurityDescriptor.java:115) >> >> at >> >> org.globus.wsrf.impl.security.descriptor.ServiceSecurityHelper.createServiceDescriptor(ServiceSecurityHelper.java:337) >> >> at >> >> org.globus.wsrf.impl.security.descriptor.ServiceSecurityHelper.initialize(ServiceSecurityHelper.java:120) >> >> at >> >> org.globus.wsrf.impl.security.descriptor.ServiceSecurityHelper.initialize(ServiceSecurityHelper.java:90) >> >> at >> >> org.globus.wsrf.impl.security.descriptor.ServiceSecurityHelper.initialize(ServiceSecurityHelper.java:80) >> >> at >> >> org.globus.wsrf.container.ServiceManager.initializeService(ServiceManager.java:262) >> >> at >> >> org.globus.axis.description.ServiceDescUtil.resetOperations(ServiceDescUtil.java:138) >> >> at >> >> org.globus.wsrf.handlers.AddressingHandler.resetOperations(AddressingHandler.java:310) >> >> at >> >> org.globus.axis.message.addressing.handler.AddressingHandler.processServerRequest(AddressingHandler.java:434) >> >> at >> >> org.globus.wsrf.handlers.AddressingHandler.processServerRequest(AddressingHandler.java:115) >> >> at >> >> org.globus.axis.message.addressing.handler.AddressingHandler.invoke(AddressingHandler.java:136) >> >> 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.invokeService(AxisServer.java:199) >> 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.ServiceThread.run(ServiceThread.java:471) >> >> >> This happens with a very basic securityDescriptor as >> >> <securityConfig xmlns="http://www.globus.org"> >> <authz value="none"/> >> </securityConfig> >> >> as well as with a more complex one. >> >> I can run the container in secure mode and without security, the error >> is the same. I have absolutely no idea what's wrong. >> >> Greetings, >> Johannes >> >> >> On Tue, 2010-03-23 at 10:02 +0100, Johannes Duschl wrote: >>> Hello Mike, >>> >>> I have got it working again, but for how long? :) Many thanks for the >>> hint on disabling the validation. This will definitely save time in >>> future. >>> >>> Greetings, >>> Johannes >>> >>> On Mon, 2010-03-22 at 14:44 -0700, Mike D'Arcy wrote: >>> > Hi Johannes, >>> > >>> > I have run into the same problem during the security descriptor >>> validation process when developing my own services. Unfortunately, I >>> cannot explain why it happens and furthermore it only seems to happen >>> under certain non-default conditions. >>> > >>> > A workaround for me has always been to bypass validation by adding >>> the following to your service's build.xml file: >>> > >>> > <property name="doValidation" value="false"/> >>> > >>> > You need to restore the securityDescriptor option in the wsdd >>> file. Also put the your original security-config.xml back. >>> Everything should work normally again. >>> > >>> > Hope this helps. >>> > >>> > Mike >>> > >>> > > -----Original Message----- >>> > > From: [email protected] [mailto:gt-user- >>> > > [email protected]] On Behalf Of Johannes Duschl >>> > > Sent: Monday, March 22, 2010 6:41 AM >>> > > To: [email protected] >>> > > Subject: Re: [gt-user] Cannot find the declaration of element >>> > > 'securityConfig' >>> > > >>> > > Ok, I have figured it out now. After I removed the >>> securityDescriptor >>> > > option completely from the wsdd file, the error still occurred. I >>> had to >>> > > remove the xml file. >>> > > Globus now detects the file correctly and I can deploy the service. >>> > > Nevertheless, I get this error now: >>> > > >>> > > 2010-03-22T16:40:52.559+01:00 ERROR >>> handler.AddressingHandler >>> > > [ServiceThread-56,invoke:142] Exception in AddressingHandler >>> > > AxisFault >>> > > faultCode: >>> > > >>> {http://schemas.xmlsoap.org/soap/envelope/}Server.userException >>> > > faultSubcode: >>> > > faultString: org.globus.wsrf.ResourceContextException: ; >>> nested >>> > > exception is: >>> > > javax.naming.NamingException: [JWSCORE-203] Bean security >>> > > initialization failed [Root exception is >>> > > org.globus.wsrf.config.ConfigException: [JWSSEC-245] Error >>> > > parsing file: >>> "etc/com_service/security-config.xml" >>> > > [Caused by: cvc-elt.1: Cannot find the declaration of >>> element >>> > > 'securityConfig'.]] >>> > > >>> > > Again, I have tried different files, as well as the very basic >>> > > security-conf.xml already posted. Does this mean it actually >>> cannot find >>> > > the element or could this also point to a more general problem? >>> > > >>> > > Greetings, >>> > > Johannes >>> > > >>> > > >>> > > On Mon, 2010-03-22 at 11:18 +0100, Johannes Duschl wrote: >>> > > > Hi there, >>> > > > >>> > > > I'm running GT 4.2.1 and developing some services for it. Today >>> I have >>> > > > changed some settings in the security descriptor of one service >>> and now >>> > > > I keep getting these messages, when trying to deploy it: >>> > > > >>> > > > Deploying gar file... >>> > > > >>> > > > ... >>> > > > >>> > > > Validating /usr/local/globus- >>> > > 4.2.1.1/share/globus_wsrf_common/tmp/gar/etc/security-config.xml... >>> > > > cvc-elt.1: Cannot find the declaration of element >>> > > > 'securityConfig'. >>> > > > >>> > > > Deploy failed.: The following error occurred while >>> executing >>> > > > this line: >>> > > > /usr/local/globus-4.2.1.1/share/globus_wsrf_common/build- >>> > > packages.xml:466: The following error occurred while executing >>> this line: >>> > > > /usr/local/globus-4.2.1.1/share/globus_wsrf_common/build- >>> > > packages.xml:734: /usr/local/globus- >>> > > 4.2.1.1/share/globus_wsrf_common/tmp/gar/etc/security-config.xml >>> is not a >>> > > valid XML document. >>> > > > >>> > > > >>> > > > This now happens for every possible security-config.xml I >>> define. If I >>> > > > leave it empty I get this error, as well as when I copy an >>> example from >>> > > > the documentation. >>> > > > >>> > > > At the moment I just have >>> > > > >>> > > > <securityConfig xmlns="http://www.globus.org"> >>> > > > <authz value="none"/> >>> > > > </securityConfig> >>> > > > >>> > > > and it fails with the mentioned error. Obviously the element >>> > > > securityConfig *is* there and it *is* a valid XML file. >>> > > > >>> > > > Maybe somebody can give me a hint :) >>> > > > >>> > > > Greetings, >>> > > > Johannes >>> > > > >>> > > > >>> > > > >>> > > > >>> > > >>> > >>> > >>> >>> >> >> >> >> > > > >
