我试图通过android应用程序中的SOAP API(CusterCustomerCreate(SOAP V2))在magento中创建客户,但我得到了这个错误:
SoapFault-faultcode:“100”faultstring:“需要客户电子邮件”faultactor:“null”详细信息:null
我使用此代码设置电子邮件地址:
request = new SoapObject(NAMESPACE, "customerCustomerCreate");
request.addProperty("sessionId", sessionId);
SoapObject value = new SoapObject(NAMESPACE, "associativeEntity");
value.addProperty("key", "in");
value.addProperty("value", "xxxxx@xxxxx.com");
SoapObject complexFilter = new SoapObject(NAMESPACE,
"complexFilter");
complexFilter.addProperty("key", "email");
complexFilter.addProperty("value", value);
SoapObject filterArray = new SoapObject(NAMESPACE,
"complexFilterArray");
filterArray.addProperty("item", complexFilter);
SoapObject filters = new SoapObject(NAMESPACE, "filters");
filters.addProperty("complex_filter", filterArray);
request.addProperty("filters", filters);
env.setOutputSoapObject(request);
androidHttpTransport.call("", env);
result = env.getResponse();
有人知道我在这里做错了什么吗?谢谢
使用以下代码:
SoapObject request = new SoapObject(NAMESPACE, "customerCustomerCreate");
request.addProperty("sessionId", sessionId);
SoapObject customerEntity = new SoapObject(NAMESPACE, "customerCustomerEntityToCreate");
customerEntity.addProperty("email", "abqpo@120.com");
customerEntity.addProperty("firstname", "firstname");
customerEntity.addProperty("lastname", "lastname");
request.addProperty("customerData", customerEntity);
env.setOutputSoapObject(request);
androidHttpTransport.call("", env);
Object result = env.getResponse();
String custId = result.toString();
其中env是SoapSerializationEnvelope。
如果你没有得到答案,直到你可以使用这个。。
public void CreateNewCustomer(String email, String firstname, String lastname, String password) {
try {
env.dotNet = false;
env.xsd = SoapSerializationEnvelope.XSD;
env.enc = SoapSerializationEnvelope.ENC;
request = new SoapObject(NAMESPACE, "login");
request.addProperty("username", "+++++");
request.addProperty("apiKey", "+++++");
env.setOutputSoapObject(request);
public static HttpTransportSE androidHttpTransport = new HttpTransportSE(URL)
androidHttpTransport.call("", env);
session = env.getResponse();
sessionId = session.toString();
Log.d("sessionId", sessionId.toString());
Log.d("Create "," Creating......");
request = new SoapObject(NAMESPACE,"customerCustomerCreate");
request.addProperty("sessionId", sessionId);
// request.addProperty("product", product_id);
//-----use Kvm Serializable class to serialize the key value data-------
CreateCustomerKVMserialize createcustomerkvm = new CreateCustomerKVMserialize();
createcustomerkvm.Email = email;
createcustomerkvm.Firstname = firstname;
createcustomerkvm.Lastname = lastname;
createcustomerkvm.Password = password;
PropertyInfo pi = new PropertyInfo();
pi.setName("customerData");
pi.setValue(createcustomerkvm);
pi.setType(createcustomerkvm.getClass());
request.addProperty(pi);
env.setOutputSoapObject(request);
env.addMapping(NAMESPACE, "customerData",new CreateCustomerKVMserialize().getClass());
androidHttpTransport.call("", env);
Object customer_create = env.getResponse();
Log.d("mainactivity "," "+customer_create.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
---------CreateCustomerKVM序列化类-----------
public class CreateCustomerKVMserialize implements KvmSerializable{
public String Email;
public String Firstname;
public String Lastname;
public String Password;
// public String Websiteid;
// public String Storeid;
// public String Groupid;
public CreateCustomerKVMserialize(){}
public CreateCustomerKVMserialize(String email, String firstname, String lastname,String password) {
Email = email;
Firstname = firstname;
Lastname = lastname;
Password = password;
}
@Override
public Object getProperty(int arg0) {
// TODO Auto-generated method stub
switch(arg0)
{
case 0:
return Email;
case 1:
return Firstname;
case 2:
return Lastname;
case 3:
return Password;
}
return null;
}
@Override
public int getPropertyCount() {
// TODO Auto-generated method stub
return 4;
}
@Override
public void getPropertyInfo(int index, Hashtable arg1, PropertyInfo info) {
// TODO Auto-generated method stub
switch(index)
{
case 0:
info.type = PropertyInfo.STRING_CLASS;
info.name = "email";
break;
case 1:
info.type = PropertyInfo.STRING_CLASS;
info.name = "firstname";
break;
case 2:
info.type = PropertyInfo.STRING_CLASS;
info.name = "lastname";
break;
case 3:
info.type = PropertyInfo.STRING_CLASS;
info.name = "password";
break;
default:break;
}
}
@Override
public void setProperty(int index, Object value) {
// TODO Auto-generated method stub
switch(index)
{
case 0:
Email = value.toString();
break;
case 1:
Firstname = value.toString();
break;
case 2:
Lastname = value.toString();
break;
case 3:
Password = value.toString();
break;
default:
break;
}
}
}
问题内容: 我想知道是否可以使用其API在Jenkins中创建新用户。我可以创建作业,但Jenkins的API文档与用户创建没有任何关系。 实际上,我必须先创建一个新用户,然后为该用户创建一个新作业,所有这些工作均使用API。 问题答案: 没错,没有用于添加用户的显式CLI命令。但是您可以为此使用groovy脚本(使用CLI执行)。 详细信息取决于您的Jenkins的配置方式。例如,如果您的J
问题内容: 美好的一天! 我想使用Magento的SOAP API来管理产品目录,属性等。我正在运行以下配置:- Magento 1.6 肥皂API WS-I符合性 Mac OSX狮子 模板2.0.5 如果有人要创建新产品,则必须设置产品对象的一些属性。以下代码将演示我执行此操作的方法: 我意识到我将错误写入Magento 的“ ”。 我可以在第265行的文件中定位错误。根据php.net文档,“
我正在通过Magento API开发一个流程支付,遇到了一个问题: 我创建了一个购物车,添加/更新/删除产品,添加了运输方法,所有这些都是通过Magento API完成的,它们都运行得很好。 如果我使用的付款方式像CC Save(代码:)、支票/汇款单(代码:),我会为购物车创建一个订单。 但如果我使用Paypal Pro作为支付方法,我在步骤创建订单时出现错误 (api:cart.order):
这是在一个单独的类中(不是或)。上面的工作很好,我可以看到我的MakeADialg日志消息。然而,当我试图创建一个实际的对话框,然后我得到很多崩溃。当我从C端调用到Java端时,我可以看出我并不是在摸索我在运行什么‘线程’。当我试图创建一个新的线程/对话框时,似乎遇到了麻烦。 我已经尝试了很多关于创建Runnable线程等的建议--但它们似乎总是给我一个可怕的‘无法在未调用looper.prepa
问题内容: 我需要一个Java类来提交BMC Remedy的帮助台产品的票证。 想知道是否有人已经这样做,并愿意分享代码或经验。 问题答案: 杰夫, 请看下面。这将以v7的HPD:Help Desk形式创建一个简单的凭单。希望这可以帮助。 -杰森
本文向大家介绍magento 通过SKU获取产品,包括了magento 通过SKU获取产品的使用技巧和注意事项,需要的朋友参考一下 示例