Beispiel #1
0
void CSoapMessage::Read(CObjectIStream& in)
{
    Reset();
    CSoapEnvelope env;

    CObjectTypeInfo typeH = CType<CSoapHeader>();
    typeH.SetLocalReadHook(in, new CSoapReadHook(m_Header,m_Types));

    CObjectTypeInfo typeB = CType<CSoapBody>();
    typeB.SetLocalReadHook(in, new CSoapReadHook(m_Body,m_Types));

    CObjectTypeInfo typeF = CType<CSoapFault::C_Detail>();
    typeF.SetLocalReadHook(in, new CSoapReadHook(m_FaultDetail,m_Types));

    in >> env;
    x_Check(env);
    x_VerifyFaultObj(false);
}
Beispiel #2
0
CObjectHookGuardBase::CObjectHookGuardBase(const CObjectTypeInfo& info,
                                           CReadObjectHook& hook,
                                           CObjectIStream* stream)
    : m_Hook(&hook),
      m_HookMode(eHook_Read),
      m_HookType(eHook_Object)
{
    m_Stream.m_IStream = stream;
    if ( stream ) {
        info.SetLocalReadHook(*stream, &hook);
    }
    else {
        info.SetGlobalReadHook(&hook);
    }
}