Try an exterior rated construction adhesive like Liquid Nails . Make sure its water resistant .
I would clean and dry eveything very throually and use a 2 part epoxy. That Will stick it for good
You could get a small container of pre-mixed tile grout at a place like Home Depot. It’s about a quart size, and it’s not expensive. They might even have a smaller size.
Get ceramic tile adhesive and tape soap disp. to wall while adhesive sets. Use duct tape!