Problem with BRepAlgoAPI_Cut

Hello Users !

I'd like to use BRepAlgoAPI_Cut  to get a cylinder with spherical  ends.
I've got a cylinder as object and a surface of revolution as tool.
I've been struggling for *weeks* to try to find out why the code below doesn't work...
The Final_Shape is empty.
Any suggestion would reaaly be appreciated !

TopoDS_Shape LeftSurface_Shape  = BRepPrimAPI_MakeRevol( LeftSurface_Extruded_Wire,   LeftSurface_RevolAxis,  2.0*M_PI );

BRepPrimAPI_MakeCylinder OuterCylinder_Shape( CylinderAxis, Diameter/2.0, Cylinder_Length );

 TopoDS_Shape Final_Shape   = BRepAlgoAPI_Cut( OuterCylinder_Shape, LeftSurface_Shape );