Hello Martin, you saved my day! :) I have tried various namespaces, however I overlooked that all have different root elements, depending whether they describe security for the container, service, etc.
Thanks a lot, Greetings, Johannes On Tue, 2010-03-30 at 08:42 -0500, Martin Feller wrote: > 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 > >>> > > > > >>> > > > > >>> > > > > >>> > > > > >>> > > > >>> > > >>> > > >>> > >>> > >> > >> > >> > >> > > > > > > > > >
