[jacorb-developer] issue about customer exception propagation over iiop

Chao Wang soul2zimate at gmail.com
Wed Sep 26 05:05:20 CEST 2012


Hello, Nick

Thanks for your reply.

Actually my case is a test issue for JBoss EAP5 
https://issues.jboss.org/browse/JBPAPP-9891 As I saw your name in JacORB 
Authors and Contributors list marked as (Red Hat) ORB Core, I think you 
can access to this public jira link, In case you don't have EAP source 
test code in hand or can't access to jenkins site. I have another small 
test can produce similar error (see zip file in attachment).

There is a "readme.txt" to explain more details.

The point I suspect is that out.write_value() process of 
com.ibm.rmi.iiop.CDROutputStream, it looks like the variable defined of 
an user exception can't be proper written to the stream, and when it 
reads back, we have a wrong value.

I also test this with an openjdk-1.7.0.3 and a oracle jdk1.7, and test 
can pass without any problem, to run with openjdk, we have to switch 
CDROutputStream type to com.sun.corba.se.impl.encoding.CDROutputStream 
in the code.

Any your advice or guide could be helpful.

Please let me know if you have any trouble to run the test.

Best regards,

Chao





On 09/26/2012 12:14 AM, Nick Cross wrote:
> Hi
> Can you submit a complete working test case including details of all 
> versions of software you are using please. You could use bugzilla for 
> code attachments.
>
> Regards,
> Nick
>
> ------- Original message -------
>> From: Chao Wang <soul2zimate at gmail.com>
>> To: jacorb-developer at lists.spline.inf.fu-berlin.de
>> Sent: 25.9.'12,  8:06
>>
>> Hey all,
>>
>> I have a spiny case with jacorb and iiop on jboss (Fedora16 + IBM 
>> JDK7), I
>> have a test case that try to throw an user exception and test this
>> exception propagation over IIOP.
>>
>> the idea of test is deploying my "iiop.jar" to server which contains my
>> customer exception (have a variable "i" inside, initial this value 
>> with the
>> parameter of constructor) and contains my SLSB who provide a method
>> "testException" to throw a new customer exception. so, after create a
>> session from my test case, I tried to call the testException method by
>> passing a parameter -1,
>>
>> try{
>>   session.testException(-1);
>> }catch(customerexception e)
>> {
>>   make assertion on e.getValueI(); // here the i value should be -1, 
>> but is
>> always return -2, no matter what I input as parameter in testException()
>> }
>>
>> and catching the customer exception threw from server, and check the 
>> value
>> "i", it should be equal to -1 as the parameter.
>>
>> the weird thing is that the value i in the exception that I catch is 
>> always
>> "-2", no matter passing -1 or other value as parameter, it always return
>> -2. so in the code of server side, I can track down until it writes
>> exception to an outputstream and sending by GIOP to test client side, 
>> the i
>> value in exception is still good one at that time.
>>
>> so I used wireshark to catch GIOP byte data, and try to see whether my i
>> variable has the good value in the stream,  the byte data I captured 
>> with
>> wireshark only contains a few readable message like exception class 
>> name,
>> but apart of this, other byte data are unreadable and encoded.
>>
>> So, do you have any suggestion on my issue or any other method that I 
>> can
>> see that wrong variable?
>> _______________________________________________
>> jacorb-developer maillist  - 
>> jacorb-developer at lists.spline.inf.fu-berlin.de
>> https://lists.spline.inf.fu-berlin.de/mailman/listinfo/jacorb-developer
>
> _______________________________________________
> jacorb-developer maillist  - 
> jacorb-developer at lists.spline.inf.fu-berlin.de
> https://lists.spline.inf.fu-berlin.de/mailman/listinfo/jacorb-developer




More information about the jacorb-developer mailing list