title: out Parameter used with [ref] in PowerShell are not filled
body: <p>I'm trying to call the Copy.asmx WebService of SharePoint from a PowerShell Script:</p>
  
  <pre><code>$copyWS = .\Connect-WebService.ps1 $copyWsdlUrl -requiresAuthentication
  $copyWS.UseDefaultCredentials = $true
  
  [FieldInformation[]]$fieldInfos = $null
  [System.Byte[]]$data = $null
  $copyWS.GetItem($fileUrl, [ref]$fieldInfos, [ref]$data)
  </code></pre>
  
  <p>Result: GetItem returns 0 for success, but $fieldInfos and $data are $null. If I do the same thing from a C# Console Application, it works fine and data.Length equals my file length.</p>
  
  <pre><code>Copy copyWS = new Copy();
  copyWS.UseDefaultCredentials = true;
  
  FieldInformation[] fieldInfos = null;
  byte[] data = null;
  uint result = copyWS.GetItem(fileUrl, out fieldInfos, out data);
  
  Console.WriteLine(result);
  Console.WriteLine(data.Length);
  </code></pre>
  
  <p>Where is my mistake or is this a PowerShell bug?</p>
  
  <p>Following beefarino's advice I called $copyWS.GetItem and got:</p>
  
  <pre><code>System.UInt32 GetItem(string Url,
  Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy3http___moss__vti_bin_Copy_asmx.FieldInformation[]&amp;, jfww_71i, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null Fields,
  System.Byte[]&amp;, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Stream)
  </code></pre>
  
  <p>So my parameters look right, I even changed the type of $fieldInfos to display the full name <code>Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy3http___moss__vti_bin_Copy_asmx.FieldInformation[]</code> but to no avail.</p>