Android SoapFault-故障代码:';1062';faultstring:';装运方式不可用';

Android SoapFault-故障代码:';1062';faultstring:';装运方式不可用';,android,soap,ksoap2,magento-1.9,android-ksoap2,Android,Soap,Ksoap2,Magento 1.9,Android Ksoap2,您好,我正在开发一个Android应用程序,它使用Magento作为后端,我正在使用Magento的SOAP WebService,我已经将所有产品、客户和客户地址信息添加到购物车中,但是当我尝试将配送方法添加到购物车中时,我遇到了这个错误 SoapFault-faultcode:'1062'faultstring:'Shipping方法不可用' 这是我正在尝试使用的代码,请帮助我解决此问题 SoapObject availableShippingMethods = new SoapObjec

您好,我正在开发一个Android应用程序,它使用Magento作为后端,我正在使用Magento的SOAP WebService,我已经将所有产品、客户和客户地址信息添加到购物车中,但是当我尝试将配送方法添加到购物车中时,我遇到了这个错误


SoapFault-faultcode:'1062'faultstring:'Shipping方法不可用' 这是我正在尝试使用的代码,请帮助我解决此问题

SoapObject availableShippingMethods = new SoapObject(MAGENTO_NAMESPACE, "shoppingCartShippingList");
availableShippingMethods.addProperty("sessionId", sessionId);
availableShippingMethods.addProperty("quoteId", quoteId);
env.setOutputSoapObject(availableShippingMethods);
androidHttpTransport.call("", env);
Object resultForAvailableShippingMethods = env.getResponse();
Log.d("AvailableShippingMethods",resultForAvailableShippingMethods.toString());
这将给我们这个输出


D/可用的运输方法﹕ shoppingCartShippingMethodEntityArray{item=shoppingCartShippingMethodEntity{code=flatrate\u错误;carrier=flatrate;carrier\u title=flatrate;price=0;};} 下面是将装运方式设置为CartId的代码

 SoapObject shippingmethod = new SoapObject(MAGENTO_NAMESPACE, "shoppingCartShippingMethod");
 shippingmethod.addProperty("sessionId", sessionId);
 shippingmethod.addProperty("quoteId", quoteId);
 shippingmethod.addProperty("shippingMethod", "flatrate_error");//Code for Flatrate shipping method and it is enabled in magento site
 env.setOutputSoapObject(shippingmethod);
 androidHttpTransport.call("", env);
 Log.d("shippingMethod", shippingmethod.toString());
 Object resultforShippingMethod = env.getResponse();
 Log.d("ShippingMethod", resultforShippingMethod.toString());

这可能是因为输入了错误的国家ID。在输入正确的信息后,我得到了两种装运方法(
freeshipping\u freeshipping
flatrate\u flatrate
).

在设置配送方式之前,您需要先设置客户地址,并在客户地址中输入国家/地区id。

我知道现在回答已经太晚了。。。但它可能会在将来帮助某人

问题出在MagentoSOAPV2的文档中。。。当我浏览wsdl链接时,我注意到如下一些事情

<message name="shoppingCartShippingMethodRequest">
<part name="sessionId" type="xsd:string"/>
<part name="quoteId" type="xsd:int"/>
<part name="method" type="xsd:string"/>
<part name="storeId" type="xsd:string"/>
</message>
SoapObject shippingmethod = new SoapObject(MAGENTO_NAMESPACE,"shoppingCartShippingMethod");
shippingmethod.addProperty("sessionId", sessionId);
shippingmethod.addProperty("quoteId", quoteId);
shippingmethod.addProperty("method", "flatrate_error");
env.setOutputSoapObject(shippingmethod);
androidHttpTransport.call("", env);
Log.d("shippingMethod", shippingmethod.toString());
Object resultforShippingMethod = env.getResponse();
Log.d("ShippingMethod", resultforShippingMethod.toString());

您可以使用工具测试您的web服务检查您的web服务方法名称和传递的方法名称是否相同我已检索到可用的传送方法列表,并给出了确切的传送方法名称,但仍然无法获取您是否解决了此问题?请告诉我怎么做…但是我们没有在这里输入任何国家Id是的,我已经输入了,我已经输入了印度的“IN”。但是仍然得到相同的错误,那么请检查您是否输入了地址Id?以前我用“flatrate_error”来获取代码,但现在我得到了两种发送方法,即一种是freeshipping_freeshipping&另一种是flatrate_flatrate。我在前端也得到了同样的结果。我使用的是SOAP V2版本,但将客户地址信息添加到购物车时会抛出一些错误代码将客户地址信息添加到购物车时会得到什么错误代码?地址id是必需的,您可以通过调用“customerAddressList”方法获取它。出于测试目的,我们在magento管理面板中保留了固定费率和免费配送方法,因此在调用“shoppingCartShippingList”方法时,我们得到了两种配送方法!,先生,无论何时,您的回答都是有价值的,谢谢您的回答,回答+10