in reply to Re^4: Consuming A Web Service
in thread Consuming A Web Service

Thanks, pryrt for the analysis.

The syntax for HTTP::Request's "new" method requires arguments in pairs, so my previous suggestion was wrong.

It should have been:

my $req = HTTP::Request->new(GET => $endpoint, Accept => 'application/xml');
The "Accept" and "GET" can optionally be quoted.

        ...it is unhealthy to remain near things that are in the process of blowing up.     man page for WARP, by Larry Wall

Replies are listed 'Best First'.
Re^6: Consuming A Web Service
by pryrt (Abbot) on Nov 03, 2016 at 18:02 UTC

    I had tried my $req = HTTP::Request->new(GET => $endpoint, Accept => 'application/xml'); using the OP's server, but I still got the "Bad header argument" error. When I switched to using the separate $req->header, then it started working.

    Looking at HTTP::Request (quoted below), I originally read it the same way as you, that new() required pairs, and was surprised the code above would still give the error. But on a re-read (underline added):

    Constructs a new HTTP::Request object describing a request on the object $uri using method $method. The $method argument must be a string. The $uri argument can be either a string, or a reference to a URI object. The optional $header argument should be a reference to an HTTP::Headers object or a plain array reference of key/value pairs. The optional $content argument should be a string of bytes.

    The $header should either be an object or an arrayref. The $content is the content of the request, not of the header. Running the OP code with the headers with your changes, but in an arrayref, eliminates the error: my $req = HTTP::Request->new(GET => $endpoint, [Accept => 'application/xml']);

      Very nice (++). Thanks for the research, and "Final Answer".

              ...it is unhealthy to remain near things that are in the process of blowing up.     man page for WARP, by Larry Wall

        Thanks everyone for your help on this and working to clarify.

        Regards,
        pkupnorth