My guess is that upperLayerOut is an output gate, while radioIn is an input. You cannot attach an input and output gate with a two way connection. That would imply that an input gate can send a message to an output gate, too. Which is clearly wrong.
use:
publisher[i].wlan[0].upperLayerOut --> accessPoint.radioIn[0];
But besides this: the simulation does not make sense to me in general. You are connecting wireless nodes with a connection??? Why, how?