title: Create Invoice Method is not working properly of Magento API
body: <p>I am trying to create sales order Invoice using Magento API in android application using XMLRPC.I am using the method "<strong>sales_order_invoice.create</strong>" for creating invoice.This method is giving me Invoice Id in the response for given quantity as mention in <a href="http://www.magentocommerce.com/api/soap/sales/salesOrderInvoice/sales_order_invoice.create.html" rel="nofollow">magento wiki</a>.But the problem is that the Invoice qty isn't updated on magento store.Other thing is Order status is changing to Processing which is correct and the entry of created invoice is also present in invoice list of store but It is displaying the paid amount as <strong>$0.0</strong> which is not correct.</p>
  
  <p>I don't know if I need to call another method before calling <strong>sales_order_invoice.create</strong> or is there any problem in the method??<br>
  Below is some part of my code for calling method:</p>
  
  <pre><code>import java.util.HashMap;
  import org.xmlrpc.android.XMLRPCClient;
  import org.xmlrpc.android.XMLRPCException;
  
  import android.app.Activity;
  import android.os.Bundle;
  import android.util.Log;
  
  public class MagentoStore extends Activity {
  
  private XMLRPCClient client;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
  
      setContentView(R.layout.main);
              String sessionId = "";
  
  
  client = new XMLRPCClient("http://www.mystore.com/index.php/api/xmlrpc");
          try {
  
              sessionId = (String)client.call("login", "tester", "tester");
              Log.d("MY_XMLRPC_SUCCESS_SESSION_ID", sessionId);
              }
           catch (XMLRPCException e) {
  
              Log.d("MY_XMLRPCException_MSG", e.getMessage());
          }
  
          Object salesorderInfo = null;
          Object[] methodParams = new Object[]{"100000028"};
          Object[] callParams = new Object[]{sessionId,"sales_order.info", methodParams};
          String salesorderinvoice= null;
          try {
               salesorderInfo = (Object)client.callEx("call",callParams);
               HashMap map = (HashMap)salesorderInfo;
               Object[]items=(Object[])map.get("items");
               for(Object item :items)
               {
                   HashMap itemlist=(HashMap)item;
                   String item_id=(String)itemlist.get("item_id");
                   int itemids=Integer.parseInt(item_id);
                   String base_price=(String)itemlist.get("base_price");
                   if(base_price.equals("0.0000"))
                   {
                    continue;  
                   }   
                   String name=(String)itemlist.get("name");
                   Double qty=1.0;
                   String qty_ordered =(String)itemlist.get("qty_ordered");
                   String qty_invoiced=(String)itemlist.get("qty_invoiced");
                   Object[] methodParams1 = new Object[]{"100000028",itemids,qty};
                   Object[] callParams1 = new Object[]{sessionId,"sales_order_invoice.create", methodParams1};
                   salesorderinvoice= (String)client.callEx("call",callParams1);
  
               } 
              } catch (Exception e) {
              Log.d("APP_INFO", "Exception: " + e.getMessage());
              }               
      }
  }
  </code></pre>
  
  <p>Anyone have any Idea??
  Thanks in advance</p>