Hi,
Without having all the detail it's a bit hard to debug the problem for certain, but I'm pretty certain that your issue is in the second constructor and that it's not formed correctly for the expected input on your second invoke.
Firstly, I noticed that there are no curly braces around the node paths in that constructor (constructor_30_out) so you won't get the reference resolved to the nodes you want.
The other thing I think you find will be wrong is that even if you put in the curly braces, your path won't return the text nodes for your PROG_ID and LANG_ID references. The way your path references are constructed, you'll get the full nodes themselves being resolved which means you'll end up with, for example, something like;
<tem:ProgID><PROG_ID>somevalue</PROG_ID></tem:ProgID>
when what I think you want is:
<tem:ProgID>somevalue</tem:ProgID>
So what you also need is to add at the end of your node path is /text() to retrieve just the text nodes.
Here's an example script that shows how the difference would be:
<mashup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.jackbe.com/2008-03-01/EMMLSchema/ ../src/schemas/EMMLSpec.xsd"
xmlns="http://www.jackbe.com/2008-03-01/EMMLSchema" xmlns:macro="http://www.jackbe.com/2008-03-01/EMMLMacro"
name="test19">
<operation name="run_test19">
<output name="testResult" type="document" />
<variables>
<variable name="invoke_1_out" type="document">
<WSGetIIONUserProfileResponse>
<WSGetIIONUserProfileResult>
<NewDataSet>
<Table>
<PROG_ID>TESTPROG123</PROG_ID>
<LANG_ID>EN</LANG_ID>
</Table>
</NewDataSet>
</WSGetIIONUserProfileResult>
</WSGetIIONUserProfileResponse>
</variable>
<variable name="constructor_30_out" type="document" />
</variables>
<constructor outputvariable="constructor_30_out">
<tem:WSGetSalesTypes xmlns:tem="http://tempuri.org/">
<tem:ProgID>
{$invoke_1_out/*:WSGetIIONUserProfileResponse/*:WSGetIIONUserProfileResult/*:NewDataSet/*:Table/*:PROG_ID}
</tem:ProgID>
<tem:LangID>
{$invoke_1_out/*:WSGetIIONUserProfileResponse/*:WSGetIIONUserProfileResult/*:NewDataSet/*:Table/*:LANG_ID}
</tem:LangID>
</tem:WSGetSalesTypes>
</constructor>
<display message=" constructor_30_(1)" variable="constructor_30_out" />
<constructor outputvariable="constructor_30_out">
<tem:WSGetSalesTypes xmlns:tem="http://tempuri.org/">
<tem:ProgID>
{$invoke_1_out/*:WSGetIIONUserProfileResponse/*:WSGetIIONUserProfileResult/*:NewDataSet/*:Table/*:PROG_ID/text()}
</tem:ProgID>
<tem:LangID>
{$invoke_1_out/*:WSGetIIONUserProfileResponse/*:WSGetIIONUserProfileResult/*:NewDataSet/*:Table/*:LANG_ID/text()}
</tem:LangID>
</tem:WSGetSalesTypes>
</constructor>
<display message=" constructor_30_(2)" variable="constructor_30_out" />
</operation>
</mashup>
and the output that you'd get from this if you run it is;
constructor_30_(1) <?xml version="1.0" encoding="UTF-8"?> <tem:WSGetSalesTypes xmlns:tem="http://tempuri.org/"> <tem:ProgID> <PROG_ID>TESTPROG123</PROG_ID> </tem:ProgID> <tem:LangID> <LANG_ID>EN</LANG_ID> </tem:LangID> </tem:WSGetSalesTypes> constructor_30_(2) <?xml version="1.0" encoding="UTF-8"?> <tem:WSGetSalesTypes xmlns:tem="http://tempuri.org/"> <tem:ProgID>TESTPROG123</tem:ProgID> <tem:LangID>EN</tem:LangID> </tem:WSGetSalesTypes>
Innes,
I am afraid you have hit a bug. We are going to fix it in the nex version.
Mash On!
- deepak alur | vp product + engineering at jackbe | follow me





A Service with inputs from another service is not working in my case.
Individually they work fine and using the green icon I am able to see the data both by
- Sending input parameters from a input label
- OR by directly setting the input parameters on the service
But when the 2nd service gets its inputs from the 1st service output, the 2nd service does not produce any result.