Archived
This forum has been archived. Please start a new discussion on GitHub.
some problem about user exception
I defined a slice just like this:
"java:package:edu.xidian"
module collector
{
exception DataCollectException{};
interface MeContractMgr
{
void getData() throws DataCollectException;
};
};
Then, when the server throws the DataCollectException, the client can't catch it. The client cathc an UnmarshalOutOfBoundsException. I debuged the project and found the user exception factory in the client want to create an exception with the id of "::collector::DataCollectException",but the method of "Class.forName()" can't do this and throw a ClassNotFoundException.
I think, if the client want to work well, the exception id should be "::edu::xidian::collector::DataCollectException" . The metadata cannot produces a good prefix. How could I do? To define three modules in the slice?
"java:package:edu.xidian"
module collector
{
exception DataCollectException{};
interface MeContractMgr
{
void getData() throws DataCollectException;
};
};
Then, when the server throws the DataCollectException, the client can't catch it. The client cathc an UnmarshalOutOfBoundsException. I debuged the project and found the user exception factory in the client want to create an exception with the id of "::collector::DataCollectException",but the method of "Class.forName()" can't do this and throw a ClassNotFoundException.
I think, if the client want to work well, the exception id should be "::edu::xidian::collector::DataCollectException" . The metadata cannot produces a good prefix. How could I do? To define three modules in the slice?
0
Comments
-
Sorry for the late reply.
Thank you for reporting this bug. As a workaround, you can enclose your definitions in extra modules to produce the package hierarchy you need.
Take care,
- Mark0