TUser
2007-09-18 20:03:32 UTC
Using OmniOrb 4.0.3 (SLeS) we get a system exception, with minor code 26
(InvalidServiceCtxtId).
The IDL is shown below;
interface TCOhpServerClient
{
TCOhpStatus getTcoCoeffUTC(in TCOhpTDSsunTime referenceTime,
out TCOhpCorbaCoefficient coefficient);
};
The implementation is shown below;
TCOhpStatus TCOhpServer::getTcoCoeffUTC(const TCOhpTDSsunTime& refTime,
TCOhpCorbaCoefficient& coeff)
throw (CORBA::SystemException)
{
// Local variables
TCOhpStatus retVal = TCO_STATUS_OK;
// Protect the Coefficient cache before reading any data
pthread_mutex_lock(&m_mutex);
if (true == m_coefCacheIf->isInCache(startTime))
{
// The data is already available in the cache.
m_coefCacheIf->getCoeffs(startTime, coeffs, nrOfCoefficients);
}
else
{
retVal = TCO_STATUS_NO_COEFFS_AVAILABLE;
}
return retVal;
}
Following the return the exception is thrown.
We catch the exception in the client and print the minor code. The value is
1096024090 (Decimal). Looking in the minorCode.h file, this maps to minor
code 26 (InvalidServiceCtxtId). The code should be a standard OMG minor code
for BAD_PARAM, but looking in the CORBA 3 specification we dont find this.
Questions are many;
1. Why do we get this error?
2. Do we interpret the error code correctly, i.e. is it really minor code 26
we see?
3. What is a service context id?
Been wasting almost a week on this problem. We would be very thankful for
any help.
(InvalidServiceCtxtId).
The IDL is shown below;
interface TCOhpServerClient
{
TCOhpStatus getTcoCoeffUTC(in TCOhpTDSsunTime referenceTime,
out TCOhpCorbaCoefficient coefficient);
};
The implementation is shown below;
TCOhpStatus TCOhpServer::getTcoCoeffUTC(const TCOhpTDSsunTime& refTime,
TCOhpCorbaCoefficient& coeff)
throw (CORBA::SystemException)
{
// Local variables
TCOhpStatus retVal = TCO_STATUS_OK;
// Protect the Coefficient cache before reading any data
pthread_mutex_lock(&m_mutex);
if (true == m_coefCacheIf->isInCache(startTime))
{
// The data is already available in the cache.
m_coefCacheIf->getCoeffs(startTime, coeffs, nrOfCoefficients);
}
else
{
retVal = TCO_STATUS_NO_COEFFS_AVAILABLE;
}
return retVal;
}
Following the return the exception is thrown.
We catch the exception in the client and print the minor code. The value is
1096024090 (Decimal). Looking in the minorCode.h file, this maps to minor
code 26 (InvalidServiceCtxtId). The code should be a standard OMG minor code
for BAD_PARAM, but looking in the CORBA 3 specification we dont find this.
Questions are many;
1. Why do we get this error?
2. Do we interpret the error code correctly, i.e. is it really minor code 26
we see?
3. What is a service context id?
Been wasting almost a week on this problem. We would be very thankful for
any help.
--
View this message in context: http://www.nabble.com/System-Exception-BAD_PARAMETER%3A%3AInvalidServiceCtxtId-%2826%29-tf4473277.html#a12754218
Sent from the OmniORB - User mailing list archive at Nabble.com.
View this message in context: http://www.nabble.com/System-Exception-BAD_PARAMETER%3A%3AInvalidServiceCtxtId-%2826%29-tf4473277.html#a12754218
Sent from the OmniORB - User mailing list archive at Nabble.com.