Hi,
I also got that problem. It will give me and error "Service Unavailable". I did what you did but still error.
This is my request:
POST /webservice/User.asmx HTTP/1.1
Host: www.sample.com.au
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.sample.com.au/UpdateUserBatch"
  
<UpdateUserBatch xmlns="http://www.sample.com.au/">
  <auth>
    <Username>string</Username>
    <Password>string</Password>
  </auth>
  <request>
    <CreateIfNotExist>boolean</CreateIfNotExist>
    <UpdateIfExists>boolean</UpdateIfExists>
    <UserProfile>
        <UserID>string</UserID>
        <BusinessID>string</BusinessID>
        <ExternalID>string</ExternalID>
        <Username>string</Username>
        <Password>string</Password>
        <Addresses xsi:nil="true" />
        <Demographics xsi:nil="true" />
        <Roles xsi:nil="true" />
      </UserProfile>
      <UserProfile>
        <UserID>string</UserID>
        <BusinessID>string</BusinessID>
        <ExternalID>string</ExternalID>
        <Username>string</Username>
        <Password>string</Password>
        <Addresses xsi:nil="true" />
        <Demographics xsi:nil="true" />
        <Roles xsi:nil="true" />
      </UserProfile>
    </Users>
  </request>
</UpdateUserBatch>
And this is my way of passing its parameter:
$param = array('username' => 'username', 'password' => 'password', 'request'=>array('CreateIfNotExist' => TRUE, 'UpdateIfExists' => FALSE), 'Users' => array('UserProfile'=> array('UserID' => 'usr123',
'BusinessID' => 'bus123',
'ExternalID' => 'ext123',
'Username' => 'test',
'Password' => 'testing'
)));