Witnesses say gunmen have opened fire on the motorcade of Palestinian Prime Minister Ismail Haniyeh .