{
MESSAGE("PortableServer::ObjectId * ATOMSOLVEngine_factory()");
SCRUTE(interfaceName);
- ATOMSOLV_Session * myATOMSOLV
- = new ATOMSOLV_Session(orb, poa, contId, instanceName, interfaceName);
- return myATOMSOLV->getId() ;
+ CORBA::Object_var o = poa->id_to_reference(*contId);
+ Engines::Container_var cont = Engines::Container::_narrow(o);
+ if(cont->is_SSL_mode())
+ {
+ ATOMSOLV_No_Session * myATOMSOLV = new ATOMSOLV_No_Session(orb, poa, contId, instanceName, interfaceName);
+ return myATOMSOLV->getId() ;
+ }
+ else
+ {
+ ATOMSOLV_Session * myATOMSOLV = new ATOMSOLV_Session(orb, poa, contId, instanceName, interfaceName);
+ return myATOMSOLV->getId() ;
+ }
}
}