Beyond the fact that I don't think you can keep the connection open (you might be able to do some creative things with HTTP 1.1, I don't know), this is not the right thing to do.

Warning: rant follows!

Firewalls are here for a reason: to isolate the internal network from the Wild Wild Internet. Firewalls allow certain types of communication to the outside world. Network administrators are paid to ensure that those communications are reasonably safe. They usually do this by allowing certain ports to be open, based on the services these ports provide. If you start using port 80 for an XML socket server (not to mention SOAP or XML-RPC) then you completely break this security model. The admin does not know that you are using port 80 for a non-standard purpose, hence she can't do her job and keep the system secure.

If I was a network administrator and discovered that people are using that kind of trick on my network, be sure there would be consequences!

The right thing to do is to setup your server on a defined port and to ask the network admin to open it. You might have to justify the need and to demonstrate that this new service is secure. THIS IS A GOOD THING!

You might find Paul Prescod's Some thoughts about SOAP versus REST on Security an interesting read.


In reply to Re: XML socket server HTTP tunneling by mirod
in thread XML socket server HTTP tunneling by JamieD

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.