#!/usr/bin/perl
use strict; use warnings;

use LWP::UserAgent;
use XML::Simple;

my $request_xml = <<"EO_XML";
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:xsd="http://www.w3.org/2001/XMLSchema"
               xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body> 
      <submitMemberinfo
        xmlns="http://localhost/DefaultNamespace">
        <sessionId></sessionId>
        <username>new_user</username>
        <password>secret</password>
        <fullname>New User</fullname>
        <emailAddress>new.user\@gmail.com</emailAddress>
        <town>Some Town</town>
        <country>Republic of Somewhere</country>
        <motto1>Live free or die!</motto1>
        <motto2></motto2>
        <likes></likes>
        <dislikes></dislikes>
        <gpsCoordinates>38.2N, -95W</gpsCoordinates>
        <enneagramtype1>1</enneagramtype1>
        <enneagramtype2>2</enneagramtype2>
      </submitMemberinfo>
  </soap:Body>
</soap:Envelope>
EO_XML

my $ua = LWP::UserAgent->new();
$ua->agent( 'SunflowerMyBroadBand/1.0' );

my $request = HTTP::Request->new(
    POST => 'http://localhost/soap'
);

$request->content_type( 'text/xml; charset=utf-8' );
$request->header( 'Host' => 'localhost' );
$request->header(
        'SoapAction' => 'http://localhost/soap'
);
$request->content( $request_xml );

my $response = $ua->request( $request );

use Data::Dumper; warn Dumper( $response );
