in src/wsdd/WSDDTransport.cpp [127:186]
int WSDDTransport::updateWSDD(FILE* wsddfile, int tabcount)
{
WSDDHandlerList::iterator iter2;
const char* trtype = 0;
for (int type = APTHTTP1_0; type < APTOTHER; type++)
{
if((m_RequestHandlers &&
(m_RequestHandlers->find((AXIS_PROTOCOL_TYPE)type) !=
m_RequestHandlers->end())) ||
(m_RequestHandlers &&
(m_RequestHandlers->find((AXIS_PROTOCOL_TYPE)type) !=
m_RequestHandlers->end())))
{
trtype = (APTHTTP1_0 == type || APTHTTP1_1 == type) ?
"http" : ((APTSMTP == type) ? "smtp" : "unsupported");
if (fputs("\t<transport name=\"", wsddfile) < 0) return AXIS_FAIL;
if (fputs(trtype, wsddfile) < 0) return AXIS_FAIL;
if (fputs("\" >\n", wsddfile) < 0) return AXIS_FAIL;
/* Write request flow handler configuration */
if(m_RequestHandlers &&
(m_RequestHandlers->find((AXIS_PROTOCOL_TYPE)type) !=
m_RequestHandlers->end()))
{
WSDDHandlerList &list =
(*m_RequestHandlers)[(AXIS_PROTOCOL_TYPE)type];
if (fputs("\t\t<requestFlow>\n", wsddfile) < 0)
return AXIS_FAIL;
for(iter2 = list.begin(); iter2 != list.end(); iter2++)
{
if (AXIS_SUCCESS !=
(*iter2)->updateWSDD(wsddfile, tabcount))
return AXIS_FAIL;
}
if (fputs("\t\t</requestFlow>\n", wsddfile) < 0)
return AXIS_FAIL;
}
/* Write response flow handler configuration */
if(m_ResponseHandlers &&
(m_ResponseHandlers->find((AXIS_PROTOCOL_TYPE)type) !=
m_ResponseHandlers->end()))
{
WSDDHandlerList &list =
(*m_ResponseHandlers)[(AXIS_PROTOCOL_TYPE)type];
if (fputs("\t\t<responseFlow>\n", wsddfile) < 0)
return AXIS_FAIL;
for(iter2 = list.begin(); iter2 != list.end(); iter2++)
{
if (AXIS_SUCCESS !=
(*iter2)->updateWSDD(wsddfile, tabcount))
return AXIS_FAIL;
}
if (fputs("\t\t</responseFlow>\n", wsddfile) < 0)
return AXIS_FAIL;
}
if (fputs("\t</transport>\n", wsddfile) < 0) return AXIS_FAIL;
}
}
return AXIS_SUCCESS;
}