Skip to main content
Announcements
A fresh, new look for the Data Integration & Quality forums and navigation! Read more about what's changed.
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
Anonymous
Not applicable
Author

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.
Anonymous
Not applicable
Author

Hello and thanks for your reply.
Sorry for my late response, but I was ending some other projects.
I've done every thing you said, I have an orderid into tlogrow, but no data retrieved, but also no errors and and I have connection.
Do you have any ideia?
Thanks
Anonymous
Not applicable
Author

On the store I have all resources as treu for webservices.
here goes the screenshot
Anonymous
Not applicable
Author

What is your entity_id mapped to?
Here is how I get the order increment id: output_row.orderID = entity.getIncrement_id();
Also keep in mind that if you have any filters set you may or may not get anything across.
Anonymous
Not applicable
Author

Hello again.
I try again, I am having a Jaa IO exception error, after pressing the WSDL2Java button on the TwebserviceInput advanced options...
Any Ideia?
Anonymous
Not applicable
Author

I have had that happen to me with different Magento implementations... Usually it boils down to the URL that you are using. Normally I start at http://www.yourdomain.com/api/v2_soap/?wsdl then I press the WSDL2JAVA. However I am actually encountering the same problem where I get the IO error with Magento 1.6.1 but it might not be the Magento version nor Talend but how the server is configured and if you are allowed access.

Other things you might try:
api/v2_soap/
api/soap/?wsdl
api/?wsdl

Hope that this is helpful. If I figure out a generic way to get the wsdl working across versions I will let you know. But I think it depends on how the webstore is configured.
_AnonymousUser
Specialist III

i'm using twebservice for the implementation of a webservice MAGENTO , could you please tell me if i can use it???
if yes i find difficulties to configurate it !!!
here is my questions
yes this is the part where i face problems ...
i don't know what to put in the expressions accorded to the elements.
for exemple i need the login operation(used by MAGENTOwebservice) shown in the firt screen just under the wsdl adress
for this opération i have in the left the field of my table CMS and on the right the webservices parametres
EXPRESSIONS ELEMENTS
user id ------- user_name
login_user
---------- apikey
pass_user
this is in the inputmapping part
in the outputmapping i get in the left side the retur login and i ve to macht it with one parametre in the right side , i don't know what i've to return ??
QUESTIONS
1-i dont know how to fill the expressions with which input left fields fill them ???
2-what is the type of what i will return in type_login in the output ( i'm working on MAGENTOwebservice)

in the second case i use the call operation
in the left side i get my sql database table (CATEGORY)
in the right i was asqued to complete the expession of theses elements id session (the session of ma CMS webservice)
the resource path of my webservice and the args
QUESTIONS
1- i don't know how to bring the id session (the login return of ma first case )
2- for the resource path i try CATEGORY.CREATE as shown in MAGENTO website but it doesn't work is that Ok
3_for the args i don't know which fields bring from my Mysql database CATEGORY table to fill the args area and if there more than one args is there any separating thing (, or . or wink

thank's a lot you for your help
Anonymous
Not applicable
Author

Could you post some detailed images of what you are trying to accomplish. I don't quite understand what you are trying to do here.
_AnonymousUser
Specialist III

here are some pictures to explaine what i want to do , and what i can't configurate with the webservice .
i'm trying to call 2 Magento operations a LOGIN and a CALL " to create a nwe category" ( i don't know how to fill the ressource path and the args as shown in the picture )