gpt4 book ai didi

java - Magento XML-RPC API - 从 Java 创建货件

转载 作者:行者123 更新时间:2023-12-02 13:30:49 24 4
gpt4 key购买 nike

我正在尝试使用 XML-RPC API 从我的第三方应用程序创建 magento 订单的发货。当我仅使用订单增量 id 调用“sales_order_shipment.create”时,一切都很好,但如果我尝试使用订单增量 id 和一组商品和数量进行相同的调用,它会显示“请求的订单不存在。”这是为什么?我做错了什么? itemQuantity 应该是什么类型)

这是我的代码

package magentoapiclient;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.xmlrpc.XmlRpcException;
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;

public class XMLRPCAPIClient {

public static void main(String[] args) {
createShipment("100000005", 5, 1.0);
}

public static XmlRpcClient prepareClient() throws MalformedURLException {
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL("myHost"));
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
client.setTypeFactory(new MyTypeFactory(client));
return client;
}

public static void createShipment(String orderIncrementId, int itemId, double quantity) {
try {
XmlRpcClient client = prepareClient();
String sessionId = login("myUser", "myKey", client);
System.out.println(sessionId);
Object[] request = {orderIncrementId, new HashMap()};
client.execute("call", new Object[]{sessionId, "sales_order_shipment.create", request});
endSession(sessionId, client);
} catch (XmlRpcException | MalformedURLException ex) {
Logger.getLogger(XMLRPCAPIClient.class.getName()).log(Level.SEVERE, null, ex);
}
}

public static String login(String user, String password, XmlRpcClient client) throws XmlRpcException {
String sessionId = (String) client.execute("login", new Object[]{user, password});
return sessionId;
}

public static void endSession(String sessionToken, XmlRpcClient client) throws XmlRpcException {
client.execute("endSession", new Object[]{sessionToken});
}
}

正如您在该行中看到的那样

Object[] request = {orderIncrementId, new HashMap()};

我尝试发送一个 hashMap,它实际上应该包含订单项 ID 和数量。我还尝试过发送一组对象,但它对其中任何一个都不起作用。如果 Map 或 Array 都不可用,那么那里应该有什么?

感谢您的帮助

最佳答案

订单 ID 和订单增量 ID 不同。您应该发送订单增量 ID。

http://www.magentocommerce.com/api/soap/sales/salesOrder/sales_order.info.html

关于java - Magento XML-RPC API - 从 Java 创建货件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14338658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com