If the sole is solid rubber, a tap can be glued on, but it's likely to come off after repeatedly getting wet.
If it's dainite over leather, a tap can be nailed in. There's a little nail with a corkscrew tip that does the job. The nail grips not the dainite but the leather underneath it. Good-quality dainite soles are made this way. My trickers, C&J, AS, etc., all have dainite over leather. The dainite sole is a kind of double sole in other words, instead of leather over leather, it's dainite over leather.
I wear the dainite-soled shoes a little while. If the wear is uneven, say too heavy on the tip or on the heel, I get the taps banged on. The shoe guy knows exactly where to put them because they are already worn.