我试图创建invoice.This方法是给我发票标识在给定的量在提及响应创建使用XMLRPC.I现在用的方法“sales_order_invoice.create”使用Magento的API在Android应用程序销售订单发票Magento的维基 。但问题是,发票数量将不更新Magento的store.Other的是订单状态正在改变,以处理这是正确的,创造发票的进入也出现在商店的发票清单,但它显示的支付量$ 0.0这是不正确的。
我不知道如果我需要调用sales_order_invoice.create之前调用另一个方法或者是还有什么问题的方法?
下面是我的调用方法的代码一些部分:
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());
}
}
}
人有任何想法? 提前致谢