Six Stars

Webservice WSDL List

Hi,

 

I am working with a SOAP webservice, I am using a WSDL file. This is the TXMLMAP where I am receiving the data from my client using the WSDL

 

5.JPG

As you can see, there is a complex type called "Bookings". This is supposed to be an array, defined by the WSDL.

 

How Can I deal with this? I would like to manage the data as if it was a loop of bookings. I think that by default, talend is not managing this.

 

I don't know If I am sending the data correct but with this soap client(boomerang) I am sending the data like this:

 

1.JPG

 

As you can see I am sending two different booking but with talend I am just receiving the first one.

 

I am not sure If I have explained my problem really good. The question is how to deal with arrays(list).

1 ACCEPTED SOLUTION

Accepted Solutions
Twelve Stars

Re: Webservice WSDL List

It sounds like you simply need to change the element your "loop" is set to. At the moment it is configured on "machineHandle". This needs to change to the "Bookings" element. Try that and see what you get.

Rilhia Solutions
2 REPLIES
Twelve Stars

Re: Webservice WSDL List

It sounds like you simply need to change the element your "loop" is set to. At the moment it is configured on "machineHandle". This needs to change to the "Bookings" element. Try that and see what you get.

Rilhia Solutions
Six Stars

Re: Webservice WSDL List

Hi,

 

I have been able to get the information of the bookings using a Loop.

 

I am saving the array to tHashOutput_2. 

 

1.JPG

 

Then, I am using thashinput_2 to get the values of the array, I save them with tjavarow using context variables AND then with the information of those variables I execute the job. I would like to iterate the data at tHasHinput_2 to loop the program with the different array content. I mean, with the first row, save the variables to a context variable and then execute the data.

 

To make it more clear, tHashInput_2 should send just the first row(array[0]) to tXMLMAP, save the information and execute the rest of the job. Once the job is executed, send the second row(array[1]) and execute the job again.

1.JPG