Mercurial > repos > ktnyt > gembassy
view GEMBASSY-1.0.3/gsoap/extras/fault.cpp @ 0:8300eb051bea draft
Initial upload
author | ktnyt |
---|---|
date | Fri, 26 Jun 2015 05:19:29 -0400 |
parents | |
children |
line wrap: on
line source
/* Contributed by Allan Kelly, June 17, 2002 Provides C++ alternatives for soap_print_fault and soap_print_fault_location functions Note: soap_stream_fault in stdsoap2.cpp provides similar functionality */ /******************************************************************************/ SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault(struct soap *soap, std::ostream& msg) { if (soap->error) { if (!*soap_faultcode(soap)) soap_set_fault(soap); if (!*soap_faultstring(soap)) *soap_faultstring(soap) = ""; msg << "SOAP FAULT: " << *soap_faultcode(soap) << std::endl << "\"" << *soap_faultstring(soap) << "\"" << std::endl; if (*soap_faultdetail(soap)) msg << "Detail: " << *soap_faultdetail(soap) << std::endl; } } /******************************************************************************/ SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault_location(struct soap *soap, std::ostream& msg) { int c; if (soap->error && soap->buflen > 0) { if (soap->bufidx == 0) soap->bufidx = 1; c = soap->buf[soap->bufidx-1]; soap->buf[soap->bufidx-1] = '\0'; if (soap->bufidx < soap->buflen) msg << soap->buf << static_cast<char> (c) << std::endl << "** HERE **" << std::endl << soap->buf+soap->bufidx << std::endl; else msg << soap->buf << static_cast<char> (c) << std::endl << "** HERE **" << std::endl; } } /******************************************************************************/