Ivan1
(Ivan)
August 7, 2014, 8:08am
1
Hi Everyone
I am experiencing a problem with EntireX.
I am calling a subprogram via service written in C#.
The subprogram uses 3 PDA’s.
When I call the subprogram using the 3 PDA’s, I get the error in the subject.
If I remove 1 PDA I do not get the error.
The first PDA exists out of 14 fields mainly containing security information and messages passed between the web and mainframe.
The second PDA contains 3 array of 10 occurrences of 30 characters each.
The 2 arrays of 999 occurrences. One with 3 characters and one of 60 characters.
Any suggestions or help will be appreciated.
Thank you
Ivan
Might look like a exx vs .NET version issue !?
Which versions are you on ?
Finn
Ivan1
(Ivan)
August 7, 2014, 9:18am
3
Hi
I am using .net version 4.
The entireX.dll is version 8.1.3.0
Natural version 8.2.3.9
And the entrireX version is 8.1.3
Ivan1
(Ivan)
August 7, 2014, 9:29am
4
Hi
It seem the problem is in the second parameter, because if I remove the first parameter. I still get the error.
But there is no difference between how the PDA was declared on the web and mainframe.
They are identical.
Could you post the second pda ?
Finn
PS perhaps you should consider upgrading to a supported version
I just checked the documentation - and it looks like you might run into problems with the version mix you have:
version 8.1.2
Windows prereqs:
http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite9-6/EntireX/9-6_EntireX/relnotes/previousPdfs/rn_812.pdf
? .NET Wrapper
? .NET Framework 2.0.
? C# Compiler from Microsoft Visual Studio 2005 or 2008.
version 9.6
http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite9-6/EntireX/9-6_EntireX/print/relnotes.pdf
? .NET Wrapper
? .NET Framework 4.0.
? C# Compiler from Microsoft Visual Studio 2010.
Ivan1
(Ivan)
August 7, 2014, 10:04am
7
Hi
Here is the PDA in question.
I T L Name F Length Miscellaneous
All – -------------------------------- - ---------- ------------------------->
1 EXGEN1P1
2 PARAMETER-LIST (1:10)
3 KEY-DESCRIPTION A 30
3 KEY-VALUE A 30
3 OPERATOR A 30
C# declaration:
[SendAs(IdlType.A, Length = 30f, Dim = 10 ,Trim = true)]
public string keyDescription;
[SendAs(IdlType.A, Length = 30f, Dim = 10, Trim = true)]
public string keyValue;
[SendAs(IdlType.A, Length = 30f, Dim = 10, Trim = true)]
public string searchOperator;
I noticed that the variable OPERATOR is called searchOperator ???
Finn
BTW I tried to generate in exx9.6 which gives a somewhat different structure
namespace SoftwareAG.EntireX.NETWrapper.Generated.IVAN.Groups
{
#region Groups for LIBRARY ‘IVAN’, PROGRAM ‘IVAN’
public class Ivan
{
public class Exgen1p1
{
[SendAs(IdlType.Group, Id=0, Dim=10f)]public ParameterList parameterList = (ParameterList )Construction.GroupArray(typeof(ParameterList), 10 , 0 , 0 );
public class ParameterList
{
[SendAs(IdlType.A, Length=30f, Id=0, Trim=true)]public string keyDescription ;
[SendAs(IdlType.A, Length=30f, Id=1, Trim=true)]public string keyValue ;
[SendAs(IdlType.A, Length=30f, Id=2, Trim=true)]public string operator ;
}
}
}
#endregion
Usually this error occurs if you modify the generated code.
Ivan1
(Ivan)
August 7, 2014, 11:31am
10
Hi All
Found the problem, which is actually very simple. :oops:
I missed the f in the dim=10f when I declared the array in C#.
Stupid mistake, but kept me busy for a while.
Hopefully the next person who encounters this problem can learn from my mistake.
Thank you for the assistance.