Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

magento, retrieve new customers

Hello.
I want to retrieve new costumers from my magento web site with txmlrpcinput component.
I have the txmlrpcinput like this: server url: "http://mysite/api/xmlrpc"
auth=true and "apiuser" + "apikey"
method: "call"
when i run the job the errors are:
statistics] connecting to socket on port 3760
connected
Exception in component tXMLRPCInput_1
org.apache.xmlrpc.XmlRpcException: Calling parameters do not match signature
at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:184)
Any ideia?
Thanks
Labels (4)
25 Replies
_AnonymousUser
Specialist III
Specialist III

here are all the images of what i'm tring to do i'm sorry for the first message: the pictures wasn't so clear .
firstly i'm trying to log into the webservice magento
next i'm tring to bring back the Id session return from the first shema and try to create a nwe category in my webservice , but i don't know what to put in the ressource path and the args .
would you please help me to configurate this .








Anonymous
Not applicable
Author

Is hard to see from the images. But if I am seeing correct it looks like you are using tWebservice. I could not figure out how to make the Magento WSDL work with that component. Instead I used tWebServiceInput to connect to Magento's WSDL.
Hope that is helpful.
_AnonymousUser
Specialist III
Specialist III

hi, thank you for your answer ,

could you please show me the way how to do it with the twebserviceInput component.
i need to do theses operations create a nwe catégory , delete a category and modifie a category ;
which method do i have to use ?
what's the shema to connect mysql database to the webservice ?
how do i have to fill all the parameters of the webservice ?
your answer will help me a lot thank you !!!!!
Anonymous
Not applicable
Author

The 2nd post on this thread should help with that... Let me know if it does not make sense.
_AnonymousUser
Specialist III
Specialist III

thanks for your answer ,
i've tried to do exactly what is shown in the second post , but in the java code i don't know how to do a call to add a new category or to delete one ?? could you please brief me how to do it .
thank you
Anonymous
Not applicable
Author

Assuming you are doing something similar to what I had described in this post, you can do:
routines.Mage_Api_Model_Server_V2_HandlerPortType portType = new routines.MagentoServiceLocator().getMage_Api_Model_Server_V2_HandlerPort(new java.net.URL(url));
portType.catalogCategoryCreate(sessionId, parentId, categoryData, storeView);
portType.catalogCategoryDelete(sessionId, categoryId);

That is how you can create or delete a category.
_AnonymousUser
Specialist III
Specialist III

hi , i tried what you said but i'm using Twebservice i got the magento operations as shown in the shema below , but i don't know what to put in th Category data for exemple .
i'm using V2soap : http:// ................ /index.php/api/v2_soap/?wsdl*
but i need to know what to put in the category data !!!
i get this error once i execute my job

démarrage du job test2 a 11:59 03/07/2012.
connecting to socket on port 3599
connected
warning: bootstrap class path not set in conjunction with -source 1.5
1 warning
41de9480b8d924ee9b25b81e67b4dc10
Exception in component tWebService_2
java.lang.RuntimeException: Error compiling schema from WSDL at {file:/C:/DOCUME~1/BOUTAI~1.BAH/LOCALS~1/Temp/wsdl1341309565306/mainWSDL.wsdl}:
undefined simple or complex type 'typens:associativeMultiArray'
at line 95 column 6513 of schema file:/C:/DOCUME~1/BOUTAI~1.BAH/LOCALS~1/Temp/wsdl1341309565306/mainWSDL.wsdl
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory$InnerErrorListener.throwException(DynamicClientFactory.java:714)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:320)
at org.talend.webservice.helper.ServiceInvokerHelper.createClient(ServiceInvokerHelper.java:143)
at org.talend.webservice.helper.ServiceInvokerHelper.getClient(ServiceInvokerHelper.java:134)
at org.talend.webservice.helper.ServiceInvokerHelper.invoke(ServiceInvokerHelper.java:235)
at startretail.test2_0_1.test2.tMysqlInput_2Process(test2.java:2741)
at startretail.test2_0_1.test2.runJobInTOS(test2.java:3012)
at startretail.test2_0_1.test2.main(test2.java:2880)
disconnected
Caused by: org.xml.sax.SAXParseExceptionpublicId: file:/C:/DOCUME~1/BOUTAI~1.BAH/LOCALS~1/Temp/wsdl1341309565306/mainWSDL.wsdl; systemId: file:/C:/DOCUME~1/BOUTAI~1.BAH/LOCALS~1/Temp/wsdl1341309565306/mainWSDL.wsdl; lineNumber: 95; columnNumber: 6513; undefined simple or complex type 'typens:associativeMultiArray'
at com.sun.xml.xsom.impl.parser.ParserContext$1.reportError(ParserContext.java:180)
at com.sun.xml.xsom.impl.parser.NGCCRuntimeEx.reportError(NGCCRuntimeEx.java:175)
at com.sun.xml.xsom.impl.parser.DelayedRef.resolve(DelayedRef.java:110)
at com.sun.xml.xsom.impl.parser.DelayedRef.run(DelayedRef.java:85)
at com.sun.xml.xsom.impl.parser.ParserContext.getResult(ParserContext.java:135)
at com.sun.xml.xsom.parser.XSOMParser.getResult(XSOMParser.java:211)
at com.sun.tools.xjc.ModelLoader.createXSOM(ModelLoader.java:532)
at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:268)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.cxf.common.util.ReflectionInvokationHandler.invoke(ReflectionInvokationHandler.java:52)
at $Proxy17.bind(Unknown Source)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:318)
... 6 more
Job test2 terminé à 11:59 03/07/2012.
Anonymous
Not applicable
Author

What version of Magento are you integrating with? Also can you post the code you are using in your tWebService -> Advanced Settings. Is hard form me to look at a Exception stack without knowing what you are doing. Also this will get you the answer of what you need to use in the Category... http://www.magentocommerce.com/wiki/doc/webservices-api/catalog_category
_AnonymousUser
Specialist III
Specialist III

Hey Ruben,
I have done connections for a few magento stores. This post will not answer your question, but it will give you another way to connect to a magento store.
First make sure that you have the WSDL enabled at the store. What I have done is....
Basic Settings
tWebserviceInput
WSDL: "http://yourstore.com/api/v2_soap/" (depending on your magento version you might have to add a ?wsdl at the end)
Method name: "" (I leave it empty)
Edit Schema add whichever rows you want to output (for example: orderID)
Advanced Settings
check advanced used checkmark
Then click the WSDL2Java button. This will generate the code based on the WSDL from the store. Keep in mind different versions of magento have different WSDL.
In the code section:
        
String url= "http://yourstore.com/api/v2_soap/?wsdl";
routines.Mage_Api_Model_Server_V2_HandlerPortType portType = null;
String sessionId = null;
SalesOrderEntity[] entity = null;
portType = new routines.MagentoServiceLocator().getMage_Api_Model_Server_V2_HandlerPort(new java.net.URL(url));
sessionId = portType.login(context.userName,context.password);
//Filters to get orders in a certain status
AssociativeEntity ae1 = new AssociativeEntity("status", "Processing");
AssociativeEntity[] ae = {ae1};
ComplexFilter cof1 = new ComplexFilter("status", ae1);
ComplexFilter[] cof = {cof1};
Filters filters = new Filters(ae,cof);
entity = portType.salesOrderList(sessionId,filters);

for(int i = 0 ; i < entity.length; i++)
{
SalesOrderEntity orderInfo = portType.salesOrderInfo(sessionId, entity.getIncrement_id());
output_row.orderID = entity.getIncrement_id();
}

Then you can output out of your tWebserviceInput to another component.
This is how I have been doing it but if anyone else has any input I'm all ears.
Hope this helps.

magento, retrieve new customers
It's really looking helpful and essential featured source about to retrieve new customers for Magento web development. The exclusive features of this source are really looking just stunning for newbie. Thanks for sharing!
Anonymous
Not applicable
Author

Hello,
good information so far but I couldn't solve it still 0683p000009MPcz.png
I had to use 'api/?wsdl' in my URL, otherwise I would have ran into the error mentioned above.
The thing is, ComplexFilter is not available in my wsdl file (using Magento 1.6.2).
The login itself seems to work fine.
Are there any more examples to get hold of this topic?
About the concept itself:
Where can I find the java code I generate by clicking on the WSDL2JAVA button? (just as a reference)
Shall I have one tWebserviceInput per step (retrieve customer, update customer etc.)?
Thanks,
Chris