2004-04-02 22:30:10 UTC
Great library! This looks to be exactly what we're looking for
... one small hitch, of course :)
I'm implementing a 'spike' solution - a call from a .NET app to an existing Java server application.
The problem is with the first parameter, TraitSelectorSeq. (It is essentially an array of TraitSelector objects. Each TraitSelector object contains a Trait object.)
Trait is defined as:
typedef any TraitValue;
struct Trait {
TraitName name;
TraitValue value;
};
When I put a string in 'value', the call fails with:
CORBA.BAD_PARAM
Detailed error log reveals:
org.omg.CORBA.BAD_PARAM: Illegal IDL name: omg.org.CORBA.WStringValue
If I put the number 1 in 'value', the call succeeds.
Possibly the interaction of IDL 'any' and .NET string?
Can anyone help? Workaround, fix, anything?
Thanks
-- Joel
Here's the IDL of the call:
void find_candidates(
in TraitSelectorSeq profile_selector,
in IdStateSeq states_of_interest,
in float confidence_threshold,
in unsigned long sequence_max,
in unsigned long iterator_max,
in SpecifiedTraits traits_requested,
out CandidateSeq returned_sequence,
out CandidateIterator returned_iterator )
And another part of IDL that's important:
typedef any TraitValue;
struct Trait {
TraitName name;
TraitValue value;
};