DS can't parse '<?xml version="1.0" encoding="UTF8" standalone="no" ?>' in a metadata file

Description

I have a SP that is enrolled in multiple federations. It is running a shibb 2.2.1 SP and a 1.1.0 DS on the same box. I use the metadata in the backingFilePath "/var/run/shibboleth" in the configuration of the DS. (Why download it twice"). It seems that one of the difference between shib SP 2.1 and 2.2.1 SP is that 2.1.1 adds '<?xml version="1.0" encoding="UTF8" standalone="no" ?>' to the downloaded metadata files.

The DS croaks on this. The 1.1.1 DS croaks too, Error message below. Note the UTF8 at the bottom of the dump.

Remove the '<?xml version="1.0" encoding="UTF8" standalone="no" ?>' from the metadata files and all is well again for SP and DS.

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Error parsing DS configuration file.
edu.internet2.middleware.shibboleth.wayf.WayfService.init(WayfService.java:268)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
java.lang.Thread.run(Thread.java:619)

root cause

edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException: Could not read file:///var/run/shibboleth/aaf-pilot-prod-metadata.xml
edu.internet2.middleware.shibboleth.wayf.IdPSiteSet.<init>(IdPSiteSet.java:206)
edu.internet2.middleware.shibboleth.wayf.WayfService.init(WayfService.java:192)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
java.lang.Thread.run(Thread.java:619)

root cause

org.opensaml.saml2.metadata.provider.MetadataProviderException: Unable to unmarshall metadata
org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider.refreshMetadata(FilesystemMetadataProvider.java:167)
org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider.initialize(FilesystemMetadataProvider.java:93)
edu.internet2.middleware.shibboleth.wayf.IdPSiteSet.<init>(IdPSiteSet.java:188)
edu.internet2.middleware.shibboleth.wayf.WayfService.init(WayfService.java:192)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
java.lang.Thread.run(Thread.java:619)

root cause

org.opensaml.xml.io.UnmarshallingException: org.opensaml.xml.parse.XMLParserException: Invalid XML
org.opensaml.saml2.metadata.provider.AbstractMetadataProvider.unmarshallMetadata(AbstractMetadataProvider.java:159)
org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider.refreshMetadata(FilesystemMetadataProvider.java:138)
org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider.initialize(FilesystemMetadataProvider.java:93)
edu.internet2.middleware.shibboleth.wayf.IdPSiteSet.<init>(IdPSiteSet.java:188)
edu.internet2.middleware.shibboleth.wayf.WayfService.init(WayfService.java:192)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
java.lang.Thread.run(Thread.java:619)

root cause

org.opensaml.xml.parse.XMLParserException: Invalid XML
org.opensaml.xml.parse.BasicParserPool.parse(BasicParserPool.java:211)
org.opensaml.saml2.metadata.provider.AbstractMetadataProvider.unmarshallMetadata(AbstractMetadataProvider.java:152)
org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider.refreshMetadata(FilesystemMetadataProvider.java:138)
org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider.initialize(FilesystemMetadataProvider.java:93)
edu.internet2.middleware.shibboleth.wayf.IdPSiteSet.<init>(IdPSiteSet.java:188)
edu.internet2.middleware.shibboleth.wayf.WayfService.init(WayfService.java:192)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
java.lang.Thread.run(Thread.java:619)

root cause

org.xml.sax.SAXParseException: Invalid encoding name "UTF8".
org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
org.opensaml.xml.parse.BasicParserPool$DocumentBuilderProxy.parse(BasicParserPool.java:604)
org.opensaml.xml.parse.BasicParserPool.parse(BasicParserPool.java:208)
org.opensaml.saml2.metadata.provider.AbstractMetadataProvider.unmarshallMetadata(AbstractMetadataProvider.java:152)
org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider.refreshMetadata(FilesystemMetadataProvider.java:138)
org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider.initialize(FilesystemMetadataProvider.java:93)
edu.internet2.middleware.shibboleth.wayf.IdPSiteSet.<init>(IdPSiteSet.java:188)
edu.internet2.middleware.shibboleth.wayf.WayfService.init(WayfService.java:192)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
java.lang.Thread.run(Thread.java:619)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.

Environment

None

Activity

Rodney Rodney August 31, 2009 at 12:35 AM

See https://bugs.internet2.edu/jira/browse/CPPXT-39. xmltooling-1.2.2-1 fixed it for me

ChadC August 30, 2009 at 11:32 PM
Edited

You're encoding is wrong. It's "UTF-8" not "UTF8", you're missing the hyphen.

Invalid

Details

Assignee

Reporter

Affects versions

Created August 30, 2009 at 11:28 PM
Updated June 22, 2021 at 7:48 PM
Resolved August 30, 2009 at 11:32 PM