[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: Erro utilizando o codec



Oi Emílio,

Isso não deveria estar acontecendo. Fui procurar a causa e descobri
que o arquivo server/all/lib/jts.jar contém uma versão "bichada"
da classe org.omg.CosTransactions.PropagationContextHelper. Usei
o BCEL para inspecionar a classe PropagationContextHelper contida
nesse arquivo (que acredito seja fornecido pela Sun, pois na árvore
de geração do JBoss ele está no diretório thirdparty/sun/jts/lib).
O resultado da "disassemblagem" dessa classe está anexado a esta
mensagem. Note as referências à classe org.openorb.CORBA.Any.
Essas referências não deveriam estar presentes num arquivo cuja
única finalidade é prover definições de interfaces padronizadas!

Acho que o arquivo jts.jar é desnecessário, pois as interfaces e 
classes org.omg.CosTransactions.* existem também no jacorb.jar. 
E as versões dessas classes no jacorb.jar com certeza não contém 
referências para o openorb... Além das classes org.omg.CosTransactions, 
o jts.jar contém também interfaces javax.jts.TransactionService e 
org.omg.CORBA.TSIdentification e o pacote org.omg.CosTSPortability.
Ele deve ter sido incluído na distribuição do JBoss por causa
do Tyrex, que precisa da interface javax.jts.TransactionService.

Tente deletar o jts.jar. Assim você usará o CosTransaction do
jacorb.jar, que deve ser bom.

Boa sorte,

Reverbel


On Sun, 9 Nov 2003, Emilio de Camargo Francesquini wrote:

> Olá!
> 
> Estou tendo alguns problemas tentando passar o PropagationContext na requisição.
> No interceptador do lado do cliente faço:
> 
> Any pcAny = org.omg.CORBA.ORB.init().create_any();
> org.omg.CosTransactions.PropagationContextHelper.insert(pcAny, pc);
> byte[] pcEncoded = _codec.encode_value(pcAny);
> ServiceContext sc = new ServiceContext(0, pcEncoded);
> ri.add_request_service_context(sc, false);
> 
> no servidor faço:
> 
> sc = ri.get_request_service_context(0);
> byte[] cd = sc.context_data;
> Any any = _codec.decode_value(cd, PropagationContextHelper.type());
> PropagationContext dec = PropagationContextHelper.extract(any);
> 
> 
> Em ambos, a variável codec é inicializada no ORBInitializer da seguinte forma:
> 
> Encoding encoding = new Encoding(ENCODING_CDR_ENCAPS.value, (byte)1, (byte)0);
> Codec codec = info.codec_factory().create_codec(encoding);
> 
> O caso é que, no servidor, durante o desempacotamento eu recebo o seguinte erro:
> java.lang.NoClassDefFoundError: org/openorb/CORBA/Any
> 
> De onde o servidor do JBoss tirou esse openorb??? Só para constar, nunca tive o
> OpenORB instalado nesta máquina....
> 
> Segue a pilha de erro:
> 
> 16:11:16,932 ERROR [STDERR] java.lang.NoClassDefFoundError: org/openorb/CORBA/An
> y
> 16:11:16,932 ERROR [STDERR]     at org.omg.CosTransactions.PropagationContextHel
> per.extract(PropagationContextHelper.java:35)
> 16:11:16,932 ERROR [STDERR]     at tx.server.interceptor.TxServiceServerRequestI
> nterceptor.receive_request(TxServiceServerRequestInterceptor.java:55)
> 16:11:16,932 ERROR [STDERR]     at org.jacorb.orb.portableInterceptor.ServerInte
> rceptorIterator.invoke(ServerInterceptorIterator.java:98)
> 16:11:16,932 ERROR [STDERR]     at org.jacorb.orb.portableInterceptor.AbstractIn
> terceptorIterator.iterate(AbstractInterceptorIterator.java:67)
> 16:11:16,932 ERROR [STDERR]     at org.jacorb.orb.portableInterceptor.ServerInte
> rceptorIterator.iterate(ServerInterceptorIterator.java:73)
> 16:11:16,932 ERROR [STDERR]     at org.jacorb.poa.RequestProcessor.invokeInterce
> ptors(RequestProcessor.java:573)
> 16:11:16,932 ERROR [STDERR]     at org.jacorb.poa.RequestProcessor.process(Reque
> stProcessor.java:464)
> 16:11:16,932 ERROR [STDERR]     at org.jacorb.poa.RequestProcessor.run(RequestPr
> ocessor.java:635)
> 
> 
> Alguma idéia?
> 
> [ ]'s
> 
> 
> --
> Emilio de Camargo Francesquini
> 
> 
public class org.omg.CosTransactions.PropagationContextHelper extends java.lang.Object
filename		org.omg.CosTransactions.PropagationContextHelper
compiled from		PropagationContextHelper.java
compiler version	45.3
access flags		33
constant pool		232 entries
ACC_SUPER flag		true

Attribute(s):
	SourceFile(PropagationContextHelper.java)
	(Unknown attribute FastJavac3.0)

3 fields:
	private static org.omg.CORBA.TypeCode _tc
	private static boolean _working
	private static final String _id = "IDL:omg.org/CosTransactions/PropagationContext:1.0"

8 methods:
	public static void insert(org.omg.CORBA.Any a, org.omg.CosTransactions.PropagationContext t)
	public static org.omg.CosTransactions.PropagationContext extract(org.omg.CORBA.Any a)
	public static org.omg.CORBA.TypeCode type()
	public static String id()
	public static org.omg.CosTransactions.PropagationContext read(org.omg.CORBA.portable.InputStream istream)
	public static void write(org.omg.CORBA.portable.OutputStream ostream, org.omg.CosTransactions.PropagationContext value)
	public void <init>()
	static void <clinit>()

1)CONSTANT_Utf8[1]("org/omg/CosTransactions/PropagationContextHelper")
2)CONSTANT_Class[7](name_index = 1)
3)CONSTANT_Utf8[1]("java/lang/Object")
4)CONSTANT_Class[7](name_index = 3)
5)CONSTANT_Utf8[1]("_tc")
6)CONSTANT_Utf8[1]("Lorg/omg/CORBA/TypeCode;")
7)CONSTANT_Utf8[1]("_working")
8)CONSTANT_Utf8[1]("Z")
9)CONSTANT_Utf8[1]("_id")
10)CONSTANT_Utf8[1]("Ljava/lang/String;")
11)CONSTANT_Utf8[1]("ConstantValue")
12)CONSTANT_Utf8[1]("IDL:omg.org/CosTransactions/PropagationContext:1.0")
13)CONSTANT_String[8](string_index = 12)
14)CONSTANT_Utf8[1]("insert")
15)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/Any;Lorg/omg/CosTransactions/PropagationContext;)V")
16)CONSTANT_Utf8[1]("Code")
17)CONSTANT_Utf8[1]("org/openorb/CORBA/Any")
18)CONSTANT_Class[7](name_index = 17)
19)CONSTANT_Utf8[1]("org/omg/CosTransactions/PropagationContextHolder")
20)CONSTANT_Class[7](name_index = 19)
21)CONSTANT_Utf8[1]("<init>")
22)CONSTANT_Utf8[1]("(Lorg/omg/CosTransactions/PropagationContext;)V")
23)CONSTANT_NameAndType[12](name_index = 21, signature_index = 22)
24)CONSTANT_Methodref[10](class_index = 20, name_and_type_index = 23)
25)CONSTANT_Utf8[1]("insert_Streamable")
26)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/portable/Streamable;)V")
27)CONSTANT_NameAndType[12](name_index = 25, signature_index = 26)
28)CONSTANT_Methodref[10](class_index = 18, name_and_type_index = 27)
29)CONSTANT_Utf8[1]("type")
30)CONSTANT_Utf8[1]("()Lorg/omg/CORBA/TypeCode;")
31)CONSTANT_NameAndType[12](name_index = 29, signature_index = 30)
32)CONSTANT_Methodref[10](class_index = 2, name_and_type_index = 31)
33)CONSTANT_Utf8[1]("org/omg/CORBA/Any")
34)CONSTANT_Class[7](name_index = 33)
35)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/TypeCode;)V")
36)CONSTANT_NameAndType[12](name_index = 29, signature_index = 35)
37)CONSTANT_Methodref[10](class_index = 34, name_and_type_index = 36)
38)CONSTANT_Utf8[1]("create_output_stream")
39)CONSTANT_Utf8[1]("()Lorg/omg/CORBA/portable/OutputStream;")
40)CONSTANT_NameAndType[12](name_index = 38, signature_index = 39)
41)CONSTANT_Methodref[10](class_index = 34, name_and_type_index = 40)
42)CONSTANT_Utf8[1]("write")
43)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/portable/OutputStream;Lorg/omg/CosTransactions/PropagationContext;)V")
44)CONSTANT_NameAndType[12](name_index = 42, signature_index = 43)
45)CONSTANT_Methodref[10](class_index = 2, name_and_type_index = 44)
46)CONSTANT_Utf8[1]("LineNumberTable")
47)CONSTANT_Utf8[1]("LocalVariableTable")
48)CONSTANT_Utf8[1]("a")
49)CONSTANT_Utf8[1]("Lorg/omg/CORBA/Any;")
50)CONSTANT_Utf8[1]("t")
51)CONSTANT_Utf8[1]("Lorg/omg/CosTransactions/PropagationContext;")
52)CONSTANT_Utf8[1]("extract")
53)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/Any;)Lorg/omg/CosTransactions/PropagationContext;")
54)CONSTANT_Methodref[10](class_index = 34, name_and_type_index = 31)
55)CONSTANT_Utf8[1]("org/omg/CORBA/TypeCode")
56)CONSTANT_Class[7](name_index = 55)
57)CONSTANT_Utf8[1]("equal")
58)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/TypeCode;)Z")
59)CONSTANT_NameAndType[12](name_index = 57, signature_index = 58)
60)CONSTANT_Methodref[10](class_index = 56, name_and_type_index = 59)
61)CONSTANT_Utf8[1]("org/omg/CORBA/MARSHAL")
62)CONSTANT_Class[7](name_index = 61)
63)CONSTANT_Utf8[1]("()V")
64)CONSTANT_NameAndType[12](name_index = 21, signature_index = 63)
65)CONSTANT_Methodref[10](class_index = 62, name_and_type_index = 64)
66)CONSTANT_Utf8[1]("extract_Streamable")
67)CONSTANT_Utf8[1]("()Lorg/omg/CORBA/portable/Streamable;")
68)CONSTANT_NameAndType[12](name_index = 66, signature_index = 67)
69)CONSTANT_Methodref[10](class_index = 18, name_and_type_index = 68)
70)CONSTANT_Utf8[1]("value")
71)CONSTANT_NameAndType[12](name_index = 70, signature_index = 51)
72)CONSTANT_Fieldref[9](class_index = 20, name_and_type_index = 71)
73)CONSTANT_Utf8[1]("create_input_stream")
74)CONSTANT_Utf8[1]("()Lorg/omg/CORBA/portable/InputStream;")
75)CONSTANT_NameAndType[12](name_index = 73, signature_index = 74)
76)CONSTANT_Methodref[10](class_index = 18, name_and_type_index = 75)
77)CONSTANT_Utf8[1]("read")
78)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/portable/InputStream;)Lorg/omg/CosTransactions/PropagationContext;")
79)CONSTANT_NameAndType[12](name_index = 77, signature_index = 78)
80)CONSTANT_Methodref[10](class_index = 2, name_and_type_index = 79)
81)CONSTANT_Methodref[10](class_index = 34, name_and_type_index = 27)
82)CONSTANT_Methodref[10](class_index = 34, name_and_type_index = 75)
83)CONSTANT_Utf8[1]("org/omg/CORBA/BAD_INV_ORDER")
84)CONSTANT_Class[7](name_index = 83)
85)CONSTANT_Utf8[1]("any")
86)CONSTANT_Utf8[1]("Lorg/openorb/CORBA/Any;")
87)CONSTANT_Utf8[1]("s")
88)CONSTANT_Utf8[1]("Lorg/omg/CORBA/portable/Streamable;")
89)CONSTANT_Utf8[1]("h")
90)CONSTANT_Utf8[1]("Lorg/omg/CosTransactions/PropagationContextHolder;")
91)CONSTANT_NameAndType[12](name_index = 5, signature_index = 6)
92)CONSTANT_Fieldref[9](class_index = 2, name_and_type_index = 91)
93)CONSTANT_Utf8[1]("org.omg.CORBA.TypeCode")
94)CONSTANT_String[8](string_index = 93)
95)CONSTANT_Utf8[1]("java/lang/Class")
96)CONSTANT_Class[7](name_index = 95)
97)CONSTANT_Utf8[1]("forName")
98)CONSTANT_Utf8[1]("(Ljava/lang/String;)Ljava/lang/Class;")
99)CONSTANT_NameAndType[12](name_index = 97, signature_index = 98)
100)CONSTANT_Methodref[10](class_index = 96, name_and_type_index = 99)
101)CONSTANT_Utf8[1]("java/lang/NoClassDefFoundError")
102)CONSTANT_Class[7](name_index = 101)
103)CONSTANT_Utf8[1]("java/lang/Throwable")
104)CONSTANT_Class[7](name_index = 103)
105)CONSTANT_Utf8[1]("getMessage")
106)CONSTANT_Utf8[1]("()Ljava/lang/String;")
107)CONSTANT_NameAndType[12](name_index = 105, signature_index = 106)
108)CONSTANT_Methodref[10](class_index = 104, name_and_type_index = 107)
109)CONSTANT_Utf8[1]("(Ljava/lang/String;)V")
110)CONSTANT_NameAndType[12](name_index = 21, signature_index = 109)
111)CONSTANT_Methodref[10](class_index = 102, name_and_type_index = 110)
112)CONSTANT_NameAndType[12](name_index = 7, signature_index = 8)
113)CONSTANT_Fieldref[9](class_index = 2, name_and_type_index = 112)
114)CONSTANT_Utf8[1]("org/omg/CORBA/ORB")
115)CONSTANT_Class[7](name_index = 114)
116)CONSTANT_Utf8[1]("init")
117)CONSTANT_Utf8[1]("()Lorg/omg/CORBA/ORB;")
118)CONSTANT_NameAndType[12](name_index = 116, signature_index = 117)
119)CONSTANT_Methodref[10](class_index = 115, name_and_type_index = 118)
120)CONSTANT_Utf8[1]("id")
121)CONSTANT_NameAndType[12](name_index = 120, signature_index = 106)
122)CONSTANT_Methodref[10](class_index = 2, name_and_type_index = 121)
123)CONSTANT_Utf8[1]("create_recursive_tc")
124)CONSTANT_Utf8[1]("(Ljava/lang/String;)Lorg/omg/CORBA/TypeCode;")
125)CONSTANT_NameAndType[12](name_index = 123, signature_index = 124)
126)CONSTANT_Methodref[10](class_index = 115, name_and_type_index = 125)
127)CONSTANT_Utf8[1]("org/omg/CORBA/StructMember")
128)CONSTANT_Class[7](name_index = 127)
129)CONSTANT_Methodref[10](class_index = 128, name_and_type_index = 64)
130)CONSTANT_Utf8[1]("timeout")
131)CONSTANT_String[8](string_index = 130)
132)CONSTANT_Utf8[1]("name")
133)CONSTANT_NameAndType[12](name_index = 132, signature_index = 10)
134)CONSTANT_Fieldref[9](class_index = 128, name_and_type_index = 133)
135)CONSTANT_Utf8[1]("org/omg/CORBA/TCKind")
136)CONSTANT_Class[7](name_index = 135)
137)CONSTANT_Utf8[1]("tk_ulong")
138)CONSTANT_Utf8[1]("Lorg/omg/CORBA/TCKind;")
139)CONSTANT_NameAndType[12](name_index = 137, signature_index = 138)
140)CONSTANT_Fieldref[9](class_index = 136, name_and_type_index = 139)
141)CONSTANT_Utf8[1]("get_primitive_tc")
142)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/TCKind;)Lorg/omg/CORBA/TypeCode;")
143)CONSTANT_NameAndType[12](name_index = 141, signature_index = 142)
144)CONSTANT_Methodref[10](class_index = 115, name_and_type_index = 143)
145)CONSTANT_NameAndType[12](name_index = 29, signature_index = 6)
146)CONSTANT_Fieldref[9](class_index = 128, name_and_type_index = 145)
147)CONSTANT_Utf8[1]("current")
148)CONSTANT_String[8](string_index = 147)
149)CONSTANT_Utf8[1]("org/omg/CosTransactions/TransIdentityHelper")
150)CONSTANT_Class[7](name_index = 149)
151)CONSTANT_Methodref[10](class_index = 150, name_and_type_index = 31)
152)CONSTANT_Utf8[1]("parents")
153)CONSTANT_String[8](string_index = 152)
154)CONSTANT_Utf8[1]("org/omg/CosTransactions/TransIdentitySeqHelper")
155)CONSTANT_Class[7](name_index = 154)
156)CONSTANT_Methodref[10](class_index = 155, name_and_type_index = 31)
157)CONSTANT_Utf8[1]("implementation_specific_data")
158)CONSTANT_String[8](string_index = 157)
159)CONSTANT_Utf8[1]("tk_any")
160)CONSTANT_NameAndType[12](name_index = 159, signature_index = 138)
161)CONSTANT_Fieldref[9](class_index = 136, name_and_type_index = 160)
162)CONSTANT_Utf8[1]("PropagationContext")
163)CONSTANT_String[8](string_index = 162)
164)CONSTANT_Utf8[1]("create_struct_tc")
165)CONSTANT_Utf8[1]("(Ljava/lang/String;Ljava/lang/String;[Lorg/omg/CORBA/StructMember;)Lorg/omg/CORBA/TypeCode;")
166)CONSTANT_NameAndType[12](name_index = 164, signature_index = 165)
167)CONSTANT_Methodref[10](class_index = 115, name_and_type_index = 166)
168)CONSTANT_Utf8[1]("java/lang/ClassNotFoundException")
169)CONSTANT_Class[7](name_index = 168)
170)CONSTANT_Utf8[1]("orb")
171)CONSTANT_Utf8[1]("Lorg/omg/CORBA/ORB;")
172)CONSTANT_Utf8[1]("_members")
173)CONSTANT_Utf8[1]("[Lorg/omg/CORBA/StructMember;")
174)CONSTANT_Utf8[1]("org/omg/CosTransactions/PropagationContext")
175)CONSTANT_Class[7](name_index = 174)
176)CONSTANT_Methodref[10](class_index = 175, name_and_type_index = 64)
177)CONSTANT_Utf8[1]("org/omg/CORBA/portable/InputStream")
178)CONSTANT_Class[7](name_index = 177)
179)CONSTANT_Utf8[1]("read_ulong")
180)CONSTANT_Utf8[1]("()I")
181)CONSTANT_NameAndType[12](name_index = 179, signature_index = 180)
182)CONSTANT_Methodref[10](class_index = 178, name_and_type_index = 181)
183)CONSTANT_Utf8[1]("I")
184)CONSTANT_NameAndType[12](name_index = 130, signature_index = 183)
185)CONSTANT_Fieldref[9](class_index = 175, name_and_type_index = 184)
186)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/portable/InputStream;)Lorg/omg/CosTransactions/TransIdentity;")
187)CONSTANT_NameAndType[12](name_index = 77, signature_index = 186)
188)CONSTANT_Methodref[10](class_index = 150, name_and_type_index = 187)
189)CONSTANT_Utf8[1]("Lorg/omg/CosTransactions/TransIdentity;")
190)CONSTANT_NameAndType[12](name_index = 147, signature_index = 189)
191)CONSTANT_Fieldref[9](class_index = 175, name_and_type_index = 190)
192)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/portable/InputStream;)[Lorg/omg/CosTransactions/TransIdentity;")
193)CONSTANT_NameAndType[12](name_index = 77, signature_index = 192)
194)CONSTANT_Methodref[10](class_index = 155, name_and_type_index = 193)
195)CONSTANT_Utf8[1]("[Lorg/omg/CosTransactions/TransIdentity;")
196)CONSTANT_NameAndType[12](name_index = 152, signature_index = 195)
197)CONSTANT_Fieldref[9](class_index = 175, name_and_type_index = 196)
198)CONSTANT_Utf8[1]("read_any")
199)CONSTANT_Utf8[1]("()Lorg/omg/CORBA/Any;")
200)CONSTANT_NameAndType[12](name_index = 198, signature_index = 199)
201)CONSTANT_Methodref[10](class_index = 178, name_and_type_index = 200)
202)CONSTANT_NameAndType[12](name_index = 157, signature_index = 49)
203)CONSTANT_Fieldref[9](class_index = 175, name_and_type_index = 202)
204)CONSTANT_Utf8[1]("istream")
205)CONSTANT_Utf8[1]("Lorg/omg/CORBA/portable/InputStream;")
206)CONSTANT_Utf8[1]("new_one")
207)CONSTANT_Utf8[1]("org/omg/CORBA/portable/OutputStream")
208)CONSTANT_Class[7](name_index = 207)
209)CONSTANT_Utf8[1]("write_ulong")
210)CONSTANT_Utf8[1]("(I)V")
211)CONSTANT_NameAndType[12](name_index = 209, signature_index = 210)
212)CONSTANT_Methodref[10](class_index = 208, name_and_type_index = 211)
213)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/portable/OutputStream;Lorg/omg/CosTransactions/TransIdentity;)V")
214)CONSTANT_NameAndType[12](name_index = 42, signature_index = 213)
215)CONSTANT_Methodref[10](class_index = 150, name_and_type_index = 214)
216)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/portable/OutputStream;[Lorg/omg/CosTransactions/TransIdentity;)V")
217)CONSTANT_NameAndType[12](name_index = 42, signature_index = 216)
218)CONSTANT_Methodref[10](class_index = 155, name_and_type_index = 217)
219)CONSTANT_Utf8[1]("write_any")
220)CONSTANT_Utf8[1]("(Lorg/omg/CORBA/Any;)V")
221)CONSTANT_NameAndType[12](name_index = 219, signature_index = 220)
222)CONSTANT_Methodref[10](class_index = 208, name_and_type_index = 221)
223)CONSTANT_Utf8[1]("ostream")
224)CONSTANT_Utf8[1]("Lorg/omg/CORBA/portable/OutputStream;")
225)CONSTANT_Methodref[10](class_index = 4, name_and_type_index = 64)
226)CONSTANT_Utf8[1]("this")
227)CONSTANT_Utf8[1]("Lorg/omg/CosTransactions/PropagationContextHelper;")
228)CONSTANT_Utf8[1]("<clinit>")
229)CONSTANT_Utf8[1]("SourceFile")
230)CONSTANT_Utf8[1]("PropagationContextHelper.java")
231)CONSTANT_Utf8[1]("FastJavac3.0")

public static void insert(org.omg.CORBA.Any a, org.omg.CosTransactions.PropagationContext t)
Code(max_stack = 4, max_locals = 2, code_length = 42)
0:    nop
1:    aload_0
2:    instanceof	<org.openorb.CORBA.Any> (18)
5:    ifeq		#26
8:    aload_0
9:    checkcast		<org.openorb.CORBA.Any> (18)
12:   new		<org.omg.CosTransactions.PropagationContextHolder> (20)
15:   dup
16:   aload_1
17:   invokespecial	org.omg.CosTransactions.PropagationContextHolder.<init> (Lorg/omg/CosTransactions/PropagationContext;)V (24)
20:   invokevirtual	org.openorb.CORBA.Any.insert_Streamable (Lorg/omg/CORBA/portable/Streamable;)V (28)
23:   goto		#41
26:   aload_0
27:   invokestatic	org.omg.CosTransactions.PropagationContextHelper.type ()Lorg/omg/CORBA/TypeCode; (32)
30:   invokevirtual	org.omg.CORBA.Any.type (Lorg/omg/CORBA/TypeCode;)V (37)
33:   aload_0
34:   invokevirtual	org.omg.CORBA.Any.create_output_stream ()Lorg/omg/CORBA/portable/OutputStream; (41)
37:   aload_1
38:   invokestatic	org.omg.CosTransactions.PropagationContextHelper.write (Lorg/omg/CORBA/portable/OutputStream;Lorg/omg/CosTransactions/PropagationContext;)V (45)
41:   return

Attribute(s) = 
LineNumber(0, 17), LineNumber(8, 19), LineNumber(26, 21), LineNumber(33, 22), 
LineNumber(41, 15)
LocalVariable(start_pc = 0, length = 42, index = 0:org.omg.CORBA.Any a)
LocalVariable(start_pc = 0, length = 42, index = 1:org.omg.CosTransactions.PropagationContext t)

public static org.omg.CosTransactions.PropagationContext extract(org.omg.CORBA.Any a)
Code(max_stack = 3, max_locals = 4, code_length = 91)
0:    nop
1:    aload_0
2:    invokevirtual	org.omg.CORBA.Any.type ()Lorg/omg/CORBA/TypeCode; (54)
5:    invokestatic	org.omg.CosTransactions.PropagationContextHelper.type ()Lorg/omg/CORBA/TypeCode; (32)
8:    invokevirtual	org.omg.CORBA.TypeCode.equal (Lorg/omg/CORBA/TypeCode;)Z (60)
11:   ifne		#22
14:   new		<org.omg.CORBA.MARSHAL> (62)
17:   dup
18:   invokespecial	org.omg.CORBA.MARSHAL.<init> ()V (65)
21:   athrow
22:   aload_0
23:   instanceof	<org.openorb.CORBA.Any> (18)
26:   ifeq		#83
29:   aload_0
30:   checkcast		<org.openorb.CORBA.Any> (18)
33:   astore_1
34:   aload_1
35:   invokevirtual	org.openorb.CORBA.Any.extract_Streamable ()Lorg/omg/CORBA/portable/Streamable; (69)
38:   astore_3
39:   aload_3
40:   instanceof	<org.omg.CosTransactions.PropagationContextHolder> (20)
43:   ifeq		#54
46:   aload_3
47:   checkcast		<org.omg.CosTransactions.PropagationContextHolder> (20)
50:   getfield		org.omg.CosTransactions.PropagationContextHolder.value Lorg/omg/CosTransactions/PropagationContext; (72)
53:   areturn
54:   goto		#58
57:   pop
58:   new		<org.omg.CosTransactions.PropagationContextHolder> (20)
61:   dup
62:   aload_1
63:   invokevirtual	org.openorb.CORBA.Any.create_input_stream ()Lorg/omg/CORBA/portable/InputStream; (76)
66:   invokestatic	org.omg.CosTransactions.PropagationContextHelper.read (Lorg/omg/CORBA/portable/InputStream;)Lorg/omg/CosTransactions/PropagationContext; (80)
69:   invokespecial	org.omg.CosTransactions.PropagationContextHolder.<init> (Lorg/omg/CosTransactions/PropagationContext;)V (24)
72:   astore_3
73:   aload_0
74:   aload_3
75:   invokevirtual	org.omg.CORBA.Any.insert_Streamable (Lorg/omg/CORBA/portable/Streamable;)V (81)
78:   aload_3
79:   getfield		org.omg.CosTransactions.PropagationContextHolder.value Lorg/omg/CosTransactions/PropagationContext; (72)
82:   areturn
83:   aload_0
84:   invokevirtual	org.omg.CORBA.Any.create_input_stream ()Lorg/omg/CORBA/portable/InputStream; (82)
87:   invokestatic	org.omg.CosTransactions.PropagationContextHelper.read (Lorg/omg/CORBA/portable/InputStream;)Lorg/omg/CosTransactions/PropagationContext; (80)
90:   areturn

Exception handler(s) = 
From	To	Handler	Type
34	54	57	org.omg.CORBA.BAD_INV_ORDER(84)

Attribute(s) = 
LineNumber(0, 33), LineNumber(14, 34), LineNumber(22, 35), LineNumber(29, 37), 
LineNumber(34, 39), LineNumber(39, 40), LineNumber(46, 41), LineNumber(53, 41), 
LineNumber(57, 43), LineNumber(58, 44), LineNumber(73, 45), LineNumber(78, 46), 
LineNumber(83, 48)
LocalVariable(start_pc = 0, length = 91, index = 0:org.omg.CORBA.Any a)
LocalVariable(start_pc = 34, length = 49, index = 1:org.openorb.CORBA.Any any)
LocalVariable(start_pc = 39, length = 15, index = 3:org.omg.CORBA.portable.Streamable s)
LocalVariable(start_pc = 73, length = 10, index = 3:org.omg.CosTransactions.PropagationContextHolder h)

public static org.omg.CORBA.TypeCode type()
Code(max_stack = 4, max_locals = 5, code_length = 220)
0:    nop
1:    getstatic		org.omg.CosTransactions.PropagationContextHelper._tc Lorg/omg/CORBA/TypeCode; (92)
4:    ifnull		#11
7:    getstatic		org.omg.CosTransactions.PropagationContextHelper._tc Lorg/omg/CORBA/TypeCode; (92)
10:   areturn
11:   ldc		"org.omg.CORBA.TypeCode" (94)
13:   invokestatic	java.lang.Class.forName (Ljava/lang/String;)Ljava/lang/Class; (100)
16:   astore_0
17:   goto		#33
20:   astore_1
21:   new		<java.lang.NoClassDefFoundError> (102)
24:   dup
25:   aload_1
26:   invokevirtual	java.lang.Throwable.getMessage ()Ljava/lang/String; (108)
29:   invokespecial	java.lang.NoClassDefFoundError.<init> (Ljava/lang/String;)V (111)
32:   athrow
33:   aload_0
34:   astore_2
35:   aload_2
36:   monitorenter
37:   getstatic		org.omg.CosTransactions.PropagationContextHelper._working Z (113)
40:   ifeq		#55
43:   invokestatic	org.omg.CORBA.ORB.init ()Lorg/omg/CORBA/ORB; (119)
46:   invokestatic	org.omg.CosTransactions.PropagationContextHelper.id ()Ljava/lang/String; (122)
49:   invokevirtual	org.omg.CORBA.ORB.create_recursive_tc (Ljava/lang/String;)Lorg/omg/CORBA/TypeCode; (126)
52:   aload_2
53:   monitorexit
54:   areturn
55:   iconst_1
56:   putstatic		org.omg.CosTransactions.PropagationContextHelper._working Z (113)
59:   invokestatic	org.omg.CORBA.ORB.init ()Lorg/omg/CORBA/ORB; (119)
62:   astore_3
63:   iconst_4
64:   anewarray		<org.omg.CORBA.StructMember> (128)
67:   astore		%4
69:   aload		%4
71:   iconst_0
72:   new		<org.omg.CORBA.StructMember> (128)
75:   dup
76:   invokespecial	org.omg.CORBA.StructMember.<init> ()V (129)
79:   aastore
80:   aload		%4
82:   iconst_0
83:   aaload
84:   ldc		"timeout" (131)
86:   putfield		org.omg.CORBA.StructMember.name Ljava/lang/String; (134)
89:   aload		%4
91:   iconst_0
92:   aaload
93:   aload_3
94:   getstatic		org.omg.CORBA.TCKind.tk_ulong Lorg/omg/CORBA/TCKind; (140)
97:   invokevirtual	org.omg.CORBA.ORB.get_primitive_tc (Lorg/omg/CORBA/TCKind;)Lorg/omg/CORBA/TypeCode; (144)
100:  putfield		org.omg.CORBA.StructMember.type Lorg/omg/CORBA/TypeCode; (146)
103:  aload		%4
105:  iconst_1
106:  new		<org.omg.CORBA.StructMember> (128)
109:  dup
110:  invokespecial	org.omg.CORBA.StructMember.<init> ()V (129)
113:  aastore
114:  aload		%4
116:  iconst_1
117:  aaload
118:  ldc		"current" (148)
120:  putfield		org.omg.CORBA.StructMember.name Ljava/lang/String; (134)
123:  aload		%4
125:  iconst_1
126:  aaload
127:  invokestatic	org.omg.CosTransactions.TransIdentityHelper.type ()Lorg/omg/CORBA/TypeCode; (151)
130:  putfield		org.omg.CORBA.StructMember.type Lorg/omg/CORBA/TypeCode; (146)
133:  aload		%4
135:  iconst_2
136:  new		<org.omg.CORBA.StructMember> (128)
139:  dup
140:  invokespecial	org.omg.CORBA.StructMember.<init> ()V (129)
143:  aastore
144:  aload		%4
146:  iconst_2
147:  aaload
148:  ldc		"parents" (153)
150:  putfield		org.omg.CORBA.StructMember.name Ljava/lang/String; (134)
153:  aload		%4
155:  iconst_2
156:  aaload
157:  invokestatic	org.omg.CosTransactions.TransIdentitySeqHelper.type ()Lorg/omg/CORBA/TypeCode; (156)
160:  putfield		org.omg.CORBA.StructMember.type Lorg/omg/CORBA/TypeCode; (146)
163:  aload		%4
165:  iconst_3
166:  new		<org.omg.CORBA.StructMember> (128)
169:  dup
170:  invokespecial	org.omg.CORBA.StructMember.<init> ()V (129)
173:  aastore
174:  aload		%4
176:  iconst_3
177:  aaload
178:  ldc		"implementation_specific_data" (158)
180:  putfield		org.omg.CORBA.StructMember.name Ljava/lang/String; (134)
183:  aload		%4
185:  iconst_3
186:  aaload
187:  aload_3
188:  getstatic		org.omg.CORBA.TCKind.tk_any Lorg/omg/CORBA/TCKind; (161)
191:  invokevirtual	org.omg.CORBA.ORB.get_primitive_tc (Lorg/omg/CORBA/TCKind;)Lorg/omg/CORBA/TypeCode; (144)
194:  putfield		org.omg.CORBA.StructMember.type Lorg/omg/CORBA/TypeCode; (146)
197:  aload_3
198:  invokestatic	org.omg.CosTransactions.PropagationContextHelper.id ()Ljava/lang/String; (122)
201:  ldc		"PropagationContext" (163)
203:  aload		%4
205:  invokevirtual	org.omg.CORBA.ORB.create_struct_tc (Ljava/lang/String;Ljava/lang/String;[Lorg/omg/CORBA/StructMember;)Lorg/omg/CORBA/TypeCode; (167)
208:  putstatic		org.omg.CosTransactions.PropagationContextHelper._tc Lorg/omg/CORBA/TypeCode; (92)
211:  getstatic		org.omg.CosTransactions.PropagationContextHelper._tc Lorg/omg/CORBA/TypeCode; (92)
214:  aload_2
215:  monitorexit
216:  areturn
217:  aload_2
218:  monitorexit
219:  athrow

Exception handler(s) = 
From	To	Handler	Type
11	17	20	java.lang.ClassNotFoundException(169)
37	217	217	<Any exception>(0)

Attribute(s) = 
LineNumber(0, 63), LineNumber(7, 64), LineNumber(11, 67), LineNumber(37, 68), 
LineNumber(37, 69), LineNumber(43, 70), LineNumber(52, 67), LineNumber(54, 70), 
LineNumber(55, 71), LineNumber(59, 72), LineNumber(63, 73), LineNumber(69, 75), 
LineNumber(80, 76), LineNumber(89, 77), LineNumber(103, 78), LineNumber(114, 79), 
LineNumber(123, 80), LineNumber(133, 81), LineNumber(144, 82), LineNumber(153, 83), 
LineNumber(163, 84), LineNumber(174, 85), LineNumber(183, 86), LineNumber(197, 87), 
LineNumber(211, 88), LineNumber(214, 67), LineNumber(216, 88), LineNumber(217, 89)

LocalVariable(start_pc = 63, length = 154, index = 3:org.omg.CORBA.ORB orb)
LocalVariable(start_pc = 69, length = 148, index = 4:org.omg.CORBA.StructMember[] _members)

public static String id()
Code(max_stack = 1, max_locals = 0, code_length = 4)
0:    nop
1:    ldc		"IDL:omg.org/CosTransactions/PropagationContext:1.0" (13)
3:    areturn

Attribute(s) = 
LineNumber(0, 99)

public static org.omg.CosTransactions.PropagationContext read(org.omg.CORBA.portable.InputStream istream)
Code(max_stack = 2, max_locals = 2, code_length = 43)
0:    nop
1:    new		<org.omg.CosTransactions.PropagationContext> (175)
4:    dup
5:    invokespecial	org.omg.CosTransactions.PropagationContext.<init> ()V (176)
8:    astore_1
9:    aload_1
10:   aload_0
11:   invokevirtual	org.omg.CORBA.portable.InputStream.read_ulong ()I (182)
14:   putfield		org.omg.CosTransactions.PropagationContext.timeout I (185)
17:   aload_1
18:   aload_0
19:   invokestatic	org.omg.CosTransactions.TransIdentityHelper.read (Lorg/omg/CORBA/portable/InputStream;)Lorg/omg/CosTransactions/TransIdentity; (188)
22:   putfield		org.omg.CosTransactions.PropagationContext.current Lorg/omg/CosTransactions/TransIdentity; (191)
25:   aload_1
26:   aload_0
27:   invokestatic	org.omg.CosTransactions.TransIdentitySeqHelper.read (Lorg/omg/CORBA/portable/InputStream;)[Lorg/omg/CosTransactions/TransIdentity; (194)
30:   putfield		org.omg.CosTransactions.PropagationContext.parents [Lorg/omg/CosTransactions/TransIdentity; (197)
33:   aload_1
34:   aload_0
35:   invokevirtual	org.omg.CORBA.portable.InputStream.read_any ()Lorg/omg/CORBA/Any; (201)
38:   putfield		org.omg.CosTransactions.PropagationContext.implementation_specific_data Lorg/omg/CORBA/Any; (203)
41:   aload_1
42:   areturn

Attribute(s) = 
LineNumber(0, 111), LineNumber(9, 113), LineNumber(17, 114), LineNumber(25, 115), 
LineNumber(33, 116), LineNumber(41, 118)
LocalVariable(start_pc = 0, length = 43, index = 0:org.omg.CORBA.portable.InputStream istream)
LocalVariable(start_pc = 9, length = 34, index = 1:org.omg.CosTransactions.PropagationContext new_one)

public static void write(org.omg.CORBA.portable.OutputStream ostream, org.omg.CosTransactions.PropagationContext value)
Code(max_stack = 2, max_locals = 2, code_length = 34)
0:    nop
1:    aload_0
2:    aload_1
3:    getfield		org.omg.CosTransactions.PropagationContext.timeout I (185)
6:    invokevirtual	org.omg.CORBA.portable.OutputStream.write_ulong (I)V (212)
9:    aload_0
10:   aload_1
11:   getfield		org.omg.CosTransactions.PropagationContext.current Lorg/omg/CosTransactions/TransIdentity; (191)
14:   invokestatic	org.omg.CosTransactions.TransIdentityHelper.write (Lorg/omg/CORBA/portable/OutputStream;Lorg/omg/CosTransactions/TransIdentity;)V (215)
17:   aload_0
18:   aload_1
19:   getfield		org.omg.CosTransactions.PropagationContext.parents [Lorg/omg/CosTransactions/TransIdentity; (197)
22:   invokestatic	org.omg.CosTransactions.TransIdentitySeqHelper.write (Lorg/omg/CORBA/portable/OutputStream;[Lorg/omg/CosTransactions/TransIdentity;)V (218)
25:   aload_0
26:   aload_1
27:   getfield		org.omg.CosTransactions.PropagationContext.implementation_specific_data Lorg/omg/CORBA/Any; (203)
30:   invokevirtual	org.omg.CORBA.portable.OutputStream.write_any (Lorg/omg/CORBA/Any;)V (222)
33:   return

Attribute(s) = 
LineNumber(0, 128), LineNumber(9, 129), LineNumber(17, 130), LineNumber(25, 131), 
LineNumber(33, 126)
LocalVariable(start_pc = 0, length = 34, index = 0:org.omg.CORBA.portable.OutputStream ostream)
LocalVariable(start_pc = 0, length = 34, index = 1:org.omg.CosTransactions.PropagationContext value)

public void <init>()
Code(max_stack = 1, max_locals = 1, code_length = 6)
0:    nop
1:    aload_0
2:    invokespecial	java.lang.Object.<init> ()V (225)
5:    return

Attribute(s) = 
LineNumber(0, 8)
LocalVariable(start_pc = 0, length = 6, index = 0:org.omg.CosTransactions.PropagationContextHelper this)

static void <clinit>()
Code(max_stack = 1, max_locals = 0, code_length = 9)
0:    aconst_null
1:    putstatic		org.omg.CosTransactions.PropagationContextHelper._tc Lorg/omg/CORBA/TypeCode; (92)
4:    iconst_0
5:    putstatic		org.omg.CosTransactions.PropagationContextHelper._working Z (113)
8:    return

Attribute(s) = 
LineNumber(0, 54), LineNumber(4, 55)