From 422fcf25c85000689330796120233f62fc44572c Mon Sep 17 00:00:00 2001 From: cantor Date: Thu, 11 Oct 2007 17:49:43 +0000 Subject: [PATCH] Fix namespace in SOAP fault child elements. Convert ENDLINE refs to eol. Make configure script check for proper logging version. git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/trunk@398 de75baf8-a10c-0410-a50a-987c0e22f00f --- configure.ac | 15 +++++++-------- xmltooling/XMLToolingConfig.cpp | 4 ++-- xmltooling/security/impl/AbstractPKIXTrustEngine.cpp | 2 +- xmltooling/soap/SOAP.h | 8 ++++---- xmltooling/soap/impl/SOAPImpl.cpp | 8 ++++---- xmltooling/util/ParserPool.cpp | 8 ++++---- xmltooling/util/ReloadableXMLFile.cpp | 6 +++--- 7 files changed, 25 insertions(+), 26 deletions(-) diff --git a/configure.ac b/configure.ac index c1cb9bb..a19573c 100644 --- a/configure.ac +++ b/configure.ac @@ -106,10 +106,10 @@ AC_ARG_WITH(log4shib, if test -f "${LOG4SHIB_CONFIG}"; then LDFLAGS="`${LOG4SHIB_CONFIG} --libs` $LDFLAGS" CPPFLAGS="`${LOG4SHIB_CONFIG} --cflags` $CPPFLAGS" - AC_CHECK_HEADER([log4shib/Category.hh],,AC_MSG_ERROR([unable to find log4shib header files])) + AC_CHECK_HEADER([log4shib/CategoryStream.hh],,AC_MSG_ERROR([unable to find log4shib header files])) AC_TRY_LINK( - [#include ], - [log4shib::Category::getInstance("foo")], + [#include ], + [log4shib::Category::getInstance("foo").errorStream() << log4shib::eol], [AC_DEFINE(XMLTOOLING_LOG4SHIB,1,[Define if log4shib library is used.])], [AC_MSG_ERROR([unable to link with log4shib])]) else @@ -130,13 +130,12 @@ else AC_MSG_WARN([will try to use log4cpp, note that most non-Internet2 supplied versions are not thread-safe]) LDFLAGS="`${LOG4CPP_CONFIG} --libs` $LDFLAGS" CPPFLAGS="`${LOG4CPP_CONFIG} --cflags` $CPPFLAGS" - AC_CHECK_HEADER([log4cpp/Category.hh],,AC_MSG_ERROR([unable to find log4cpp header files])) - AC_CHECK_HEADER([log4cpp/PropertyConfigurator.hh],,AC_MSG_ERROR([you need at least log4cpp 0.3.x])) + AC_CHECK_HEADER([log4cpp/CategoryStream.hh],,AC_MSG_ERROR([unable to find log4cpp header files])) AC_TRY_LINK( - [#include ], - [log4cpp::Category::getInstance("foo")], + [#include ], + [log4cpp::Category::getInstance("foo").errorStream() << log4cpp::eol], [AC_DEFINE(XMLTOOLING_LOG4CPP,1,[Define if log4cpp library is used.])], - [AC_MSG_ERROR([unable to link with log4cpp])]) + [AC_MSG_ERROR([unable to link with log4cpp, need version 1.0 or later])]) else AC_MSG_ERROR([log4cpp-config not found, may need to use --with-log4cpp option]) fi diff --git a/xmltooling/XMLToolingConfig.cpp b/xmltooling/XMLToolingConfig.cpp index 476f8f1..ee3e2a8 100644 --- a/xmltooling/XMLToolingConfig.cpp +++ b/xmltooling/XMLToolingConfig.cpp @@ -475,9 +475,9 @@ void xmltooling::log_openssl() unsigned long code=ERR_get_error_line_data(&file,&line,&data,&flags); while (code) { Category& log=Category::getInstance("OpenSSL"); - log.errorStream() << "error code: " << code << " in " << file << ", line " << line << CategoryStream::ENDLINE; + log.errorStream() << "error code: " << code << " in " << file << ", line " << line << logging::eol; if (data && (flags & ERR_TXT_STRING)) - log.errorStream() << "error data: " << data << CategoryStream::ENDLINE; + log.errorStream() << "error data: " << data << logging::eol; code=ERR_get_error_line_data(&file,&line,&data,&flags); } } diff --git a/xmltooling/security/impl/AbstractPKIXTrustEngine.cpp b/xmltooling/security/impl/AbstractPKIXTrustEngine.cpp index b98ce39..d3c9449 100644 --- a/xmltooling/security/impl/AbstractPKIXTrustEngine.cpp +++ b/xmltooling/security/impl/AbstractPKIXTrustEngine.cpp @@ -169,7 +169,7 @@ bool AbstractPKIXTrustEngine::checkEntityNames( buf[len] = '\0'; subjectstr+=buf; } - log.debugStream() << "certificate subject: " << subjectstr << CategoryStream::ENDLINE; + log.debugStream() << "certificate subject: " << subjectstr << logging::eol; // The flags give us LDAP order instead of X.500, with a comma plus space separator. len=X509_NAME_print_ex(b2,subject,0,XN_FLAG_RFC2253 + XN_FLAG_SEP_CPLUS_SPC - XN_FLAG_SEP_COMMA_PLUS); BIO_flush(b2); diff --git a/xmltooling/soap/SOAP.h b/xmltooling/soap/SOAP.h index 8ef5de0..3c79da4 100644 --- a/xmltooling/soap/SOAP.h +++ b/xmltooling/soap/SOAP.h @@ -95,13 +95,13 @@ namespace soap11 { END_XMLOBJECT; DECL_SOAP11OBJECTBUILDER(Body); - DECL_SOAP11OBJECTBUILDER(Detail); DECL_SOAP11OBJECTBUILDER(Envelope); DECL_SOAP11OBJECTBUILDER(Fault); - DECL_SOAP11OBJECTBUILDER(Faultactor); - DECL_SOAP11OBJECTBUILDER(Faultcode); - DECL_SOAP11OBJECTBUILDER(Faultstring); DECL_SOAP11OBJECTBUILDER(Header); + DECL_XMLOBJECTBUILDER(XMLTOOL_API,Detail,NULL,NULL); + DECL_XMLOBJECTBUILDER(XMLTOOL_API,Faultactor,NULL,NULL); + DECL_XMLOBJECTBUILDER(XMLTOOL_API,Faultcode,NULL,NULL); + DECL_XMLOBJECTBUILDER(XMLTOOL_API,Faultstring,NULL,NULL); /** * Registers builders and validators for SOAP 1.1 classes into the runtime. diff --git a/xmltooling/soap/impl/SOAPImpl.cpp b/xmltooling/soap/impl/SOAPImpl.cpp index 57c7fde..62315ca 100644 --- a/xmltooling/soap/impl/SOAPImpl.cpp +++ b/xmltooling/soap/impl/SOAPImpl.cpp @@ -184,10 +184,10 @@ namespace { protected: void processChildElement(XMLObject* childXMLObject, const DOMElement* root) { - PROC_TYPED_CHILD(Faultcode,SOAP11ENV_NS,false); - PROC_TYPED_CHILD(Faultstring,SOAP11ENV_NS,false); - PROC_TYPED_CHILD(Faultactor,SOAP11ENV_NS,false); - PROC_TYPED_CHILD(Detail,SOAP11ENV_NS,false); + PROC_TYPED_CHILD(Faultcode,NULL,false); + PROC_TYPED_CHILD(Faultstring,NULL,false); + PROC_TYPED_CHILD(Faultactor,NULL,false); + PROC_TYPED_CHILD(Detail,NULL,false); AbstractXMLObjectUnmarshaller::processChildElement(childXMLObject,root); } }; diff --git a/xmltooling/util/ParserPool.cpp b/xmltooling/util/ParserPool.cpp index 18f27ea..693cef4 100644 --- a/xmltooling/util/ParserPool.cpp +++ b/xmltooling/util/ParserPool.cpp @@ -280,19 +280,19 @@ bool ParserPool::handleError(const DOMError& e) case DOMError::DOM_SEVERITY_WARNING: log.warnStream() << "warning on line " << locator->getLineNumber() << ", column " << locator->getColumnNumber() - << ", message: " << temp.get() << CategoryStream::ENDLINE; + << ", message: " << temp.get() << logging::eol; return true; case DOMError::DOM_SEVERITY_ERROR: log.errorStream() << "error on line " << locator->getLineNumber() << ", column " << locator->getColumnNumber() - << ", message: " << temp.get() << CategoryStream::ENDLINE; + << ", message: " << temp.get() << logging::eol; throw XMLParserException(string("error during XML parsing: ") + (temp.get() ? temp.get() : "no message")); case DOMError::DOM_SEVERITY_FATAL_ERROR: log.critStream() << "fatal error on line " << locator->getLineNumber() << ", column " << locator->getColumnNumber() - << ", message: " << temp.get() << CategoryStream::ENDLINE; + << ", message: " << temp.get() << logging::eol; throw XMLParserException(string("fatal error during XML parsing: ") + (temp.get() ? temp.get() : "no message")); } throw XMLParserException(string("unclassified error during XML parsing: ") + (temp.get() ? temp.get() : "no message")); @@ -369,7 +369,7 @@ unsigned int StreamInputSource::StreamBinInputStream::readBytes(XMLByte* const t catch(ios_base::failure& e) { Category::getInstance(XMLTOOLING_LOGCAT".StreamInputSource").critStream() << "XML::StreamInputSource::StreamBinInputStream::readBytes caught an exception: " << e.what() - << CategoryStream::ENDLINE; + << logging::eol; *toFill=0; return 0; } diff --git a/xmltooling/util/ReloadableXMLFile.cpp b/xmltooling/util/ReloadableXMLFile.cpp index 5bdb545..5391a94 100644 --- a/xmltooling/util/ReloadableXMLFile.cpp +++ b/xmltooling/util/ReloadableXMLFile.cpp @@ -170,7 +170,7 @@ pair ReloadableXMLFile::load(bool backup) doc=XMLToolingConfig::getConfig().getParser().parse(dsrc); } - m_log.infoStream() << "loaded XML resource (" << (backup ? m_backing : m_source) << ")" << CategoryStream::ENDLINE; + m_log.infoStream() << "loaded XML resource (" << (backup ? m_backing : m_source) << ")" << logging::eol; if (!backup && !m_backing.empty()) { m_log.debug("backing up remote resource to (%s)", m_backing.c_str()); @@ -189,14 +189,14 @@ pair ReloadableXMLFile::load(bool backup) catch (XMLException& e) { auto_ptr_char msg(e.getMessage()); m_log.critStream() << "Xerces error while loading resource (" << (backup ? m_backing : m_source) << "): " - << msg.get() << CategoryStream::ENDLINE; + << msg.get() << logging::eol; if (!backup && !m_backing.empty()) return load(true); throw XMLParserException(msg.get()); } catch (exception& e) { m_log.critStream() << "error while loading configuration from (" - << (m_source.empty() ? "inline" : (backup ? m_backing : m_source)) << "): " << e.what() << CategoryStream::ENDLINE; + << (m_source.empty() ? "inline" : (backup ? m_backing : m_source)) << "): " << e.what() << logging::eol; if (!backup && !m_backing.empty()) return load(true); throw; -- 2.1.4