Your script only needs to run as a http server IF the other side actually initiates new connections; if all you have to do is send a request to a server and get a response in return, you don't need to run as a server yourself.
update: and if all this is really done using SOAP, use SOAP::Lite - it'll save you a lot of work.