CAF UI

Hi All,

i have one requiremt that, i will get the xml document as input to IS, below is the structure, i have created documenttype with .xsd file in IS

persons------------------------------------------documentlist
—information----document
------UIdata------------documentList
--------contactinformation------document
----------contactname--------------string
----------contactcode--------string

  • ----personaldata--------------documentlist
    -------contactinformation------document
    ----------contactname--------------string
    ----------contactcode--------string
    ------TelefoneInformation ------------documentlist
    -------contactinformation------document
    ----------contactname--------------string
    ----------contactcode--------string
    ------EdataInformation ------------documentlist
    --------contactinformation------document
    ----------contactname--------------string
    ----------contactcode--------string
    in UI interface i need to display the []. contactinformation.contactcode of UIdata[],personaldata[],TelefoneInformation[],EdataInformation in one dropdown box as a output.

how to send xml input data to UI, and display in one combobox.

xml data is the input data, how can i achieve this please any one help me to develop this scenariao.

regards,
anil kumar e

hi all,

please give me solution on this ASAP, it will be great helpful to me on this.

Regards,
anil kumar e

Hi Anil,

I have tried of creating your process -

  1. Created an IS service, accepting the XML string as input, used the built in xml services to create the IS doc.

  2. Mapped the code ids of all the four ( UIdata, Personaldate, etc ) into a string list. Now the string list is of size of 4. And this string list is the only output signature of the IS service.

  3. In the UI, i dragged n dropped the IS service. The input is XML string and the ouput is a list.

  4. Creating a combo Box - Drag the control combo onto the canvas. In the properties of the combo, select the choices, add option group.

  5. In the option group value, select the output expression of the webService connector ( IS service ) . You can select this by clicking on the Expression binding button to the side of the value attribute of the option group.

Note: Make sure that the output signature of the IS service is only the list to be in the combo box. The signature must not have any more.

plz let me know if you were hung at any point.

It was successful in my sample code. I see all the four values in the UI’s combo box.

Thank you, for your creative questions. Do post…

regards,
Naidu

Naidi,

thanks for reply , am not getting how did u create stringlist of the contactcode information from from UIdata[],personaldata[],TelefoneInformation[],EdataInformation[] document list which is in persons[] document list .

how can i pass input ti the UI to do test, imean how can i run the UI to display results in combobox

regards,
anil kumar e

Hi Anil,

For your first question( to create stringList ) :

I consider, you have the persons document list ( with complete structure of UIdata , personalData ) and also create a stringList in the output signature.

Now you map the contactCode of UIData to the stringList. Now click on the map or line joining ( highlight it ). Then in the properties of the Map, click on the indices and type “0” in the pop up window. That “0” will be the index of the stringList where the contactCode of the UIData is stored.

Now map the second mapping i.e contactCode of the personalData to the stringList and give the index as 1 in the map properties.

same way you map all the four mappings. At this point your service is done.

Your second question : How to run from UI.

As the IS’s service’s input signature is a XML string. I created a mulitiline text input in the UI and binded that to the input string of the webservice connector.

Also created a button binding with the refresh() method of the webservice. Below which i created a dropdown list or combo box, whose values are taken from the option group which is binded to the ouput stringList of the webservice.

feel free to call me @ 09912208309 if you have still any queries.

thank you,
Naidu

naidu,

thanks for reply once again.

as you said
"“Now you map the contactCode of UIData to the stringList. Now click on the map or line joining ( highlight it ). Then in the properties of the Map, click on the indices and type “0” in the pop up window. That “0” will be the index of the stringList where the contactCode of the UIData is stored.”

my question here is:
UIdata , personalData …etc… are document lists, contactCode of each document lists if i map to indices of stringlist it will be a problem becz, runtime UIData is not the one value come ,may have some may UIData ,each UIData have it’s own contactcode.

let me explain u briefly

if make indices to the stringlist, it will give always 4 elements only eventhough
ContactAddress,UIdata,Personaldata…etc… have [n] element size ,becz these are documentlists, u cant expect the size of these documents is one

regards,
anil kumar re

Anil,

You can use loop over the document list. And map the contactCode to the stringList. Now on the map properties, set the indices to %$iteration% . Now this will map automatically to the index of the loop.

Here the $iteration starts from value 1 and the start index of the list is “0”, so there will be null in the first box of the stringList.

To overcome this also, you use temp string “tempString” which is 1 less than the $iteration variable. ( use transformer math.subtractInts sbtract 1 from $iteration and map to temp variable be “tempString” ) Now in the properties of the index mapping to stringList give the index as %tempString%

Hope this will solve your prob.

Pls post if you still get stuck at some point.

Thank you,
Naidu

thanks for reply, you want me to use loop, i need to use some many loops for each documentlist, here i require without loop can i achieve the solution, is there any way to do that.

Hi Anil,

To get the elements from the documentList, the only possible way (jus I think ) is Looping over it. But I ll try my side of getting thro’ it in a more easy way, and let you know.

And sorry for yesterday, as I was really busy( friend was ill ). Pls call today at any time its ok for me… :slight_smile:

Thank you,
Naidu

i ahve done same thing as you said,
i have give xml string in the inpout text box abd clicked on refresh button it is not displayng result in the dropdown list.

  1. in input xmlstring text bon i have bind the bimgimg expression of webservice input string.
    2.in dropdown list under option group, i did binding expression output of webservice it is result[i]…
    3.i have taken asy command button for refresh, in binding expression i ma the binding exprestion webservice refresh() method.

i have deployed in MWs and and given xml string in the i/p text and clicked the button , but i couldnot able to see the results in dropdownlist…

regards,
anil kumar e

i got the output, thanks for ur help naidu…,i have done mistake assigning lenght and size of the textbox control,it is not taking my input xml,it is trucating the input at runtime…

anyhave thanks for help…

anil kumar e