Mix together the flour, butter or shortening, sugar, and salt. Begin to add the wine, adding enough so that you have formed a fairly firm dough.
Knead for a few minutes until smooth. Form into a ball, wrap in plastic wrap, and let sit at room temperature for one hour.
Cut the dough in half, and roll thinly to about a 1/4 inch thickness. Cut into 4 square. Place a metal diagonally across each square, and wrap the dough around the tube. Seal the edges with a little beaten egg white.
Heat the oil in a large pan until it reaches a temperature of 375 degrees F. Drop one or two tubes into the hot oil at one time, and cook until golden. Remove from the pan, cool, and gently slide the cannoli shell from the tube.
Continue to make the rest of the shells in this manner.
To make the filling:
First let the ricotta sit in a strainer over a small bowl in the refrigerator for 30 minutes to remove excess water.
Mix the ricotta with the rest of the ingredients. Chill in the refrigerator for at least 30 minutes.
Fill each cannoli shell carefully, and sprinkle with a little extra powdered sugar if desired. Chill until you are ready to serve.