How about doing the printing from a Message-Driven Bean (MDB). Have your web service send the label information to a queue and have one MDB per printer reading from the queue (probably same source code, but deployed multiple times - once per printer - each with its own config). Then your web service does not have to wait for the label to print before responding - the print request is asynchronous.
Thank You for your response.
This could be a good solution, but i think there is still a problem with the printer driver dll which is not working in a multi thread application.