http://qs1969.pair.com?node_id=650684


in reply to Re^2: HTTP Post of XML data
in thread HTTP Post of XML data

It looks like you are trying to post an XML::Writer object to a URL. Without looking at the API for either XML::Writer or LWP::UserAgent I can only guess, but I seriously, seriously doubt that procedure is possible. What you will want to post is not the writer object, but the output it produces.

Replies are listed 'Best First'.
Re^4: HTTP Post of XML data
by erroneousBollock (Curate) on Nov 14, 2007 at 05:57 UTC
    I think he's trying to use Perl 5.8's "stringy filehandles".

    From the docs:

    OUTPUT An object blessed into IO::Handle or one of its subclasses (such a +s IO::File), or a reference to a string; if this parameter is not pre +sent, the module will write to standard output. If a string reference + is passed, it will capture the generated XML (as a string; to get by +tes use the Encode module).
    Looks fine to me.

    I wonder what version of perl is on the web-server.

    -David

      I am using 5.8.8 on this box. I ended up just writing it to a file, and then reading that file into $data and doing a
      my $response = $browser->post( $url, Content => $data );
      But I am getting an error, I think may be java in the jboss log.
      14 Nov 2007 00:15:56,547 INFO [STDOUT] REQUEST RECEIVED BY SERVLET:<m +anager xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > 14 Nov 2007 00:15:56,547 ERROR [STDERR] [Fatal Error] :1:69: XML docum +ent structures must start and end within the same entity.
      Is this LWP::UserAgent creating an html tag or header screwing up the post? I am looking into that, but I just want to send ONLY what is in the file, but it's probably sending extra data?
        Is this LWP::UserAgent creating an html tag or header screwing up the post? I am looking into that, but I just want to send ONLY what is in the file, but it's probably sending extra data?
        I really doubt that.

        You'll still want to be sending an HTTP request (headers, content), and your content will still need to be encoded appropriately.

        -David