diff options
| author | Audrius Meskauskas <audriusa@Bioinformatics.org> | 2005-09-02 15:53:05 +0000 |
|---|---|---|
| committer | Audrius Meskauskas <audriusa@Bioinformatics.org> | 2005-09-02 15:53:05 +0000 |
| commit | 16d2ccf44ebcc6f1caa902cb75a61bf2dc21b153 (patch) | |
| tree | 496184a12d3273b47a091261c7f85b8eef8e47ef /gnu/CORBA/gnuRequest.java | |
| parent | 57449b75ee1714d1ce50d04f4db4db84f797068e (diff) | |
| download | classpath-16d2ccf44ebcc6f1caa902cb75a61bf2dc21b153.tar.gz | |
2005-09-02 <AudriusA@Bioinformatics.org>
* gnu/CORBA/IOR_Delegate.java (request),
gnu/CORBA/SocketRepository.java (get_socket),
gnu/CORBA/gnuRequest (getParameterStream),
gnu/CORBA/NamingService/NameParser.java,
gnu/CORBA/NamingService/NamingServiceTransient.java: Rewritten.
* gnu/CORBA/Functional_ORB.java (nameParser): New field.
(string_to_object): Rewritten.
(ior_to_object): Made public.
* org/omg/CORBA/ORB.java (string_to_object):
Documentation update.
Diffstat (limited to 'gnu/CORBA/gnuRequest.java')
| -rw-r--r-- | gnu/CORBA/gnuRequest.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gnu/CORBA/gnuRequest.java b/gnu/CORBA/gnuRequest.java index 3784eba6a..7d756eddb 100644 --- a/gnu/CORBA/gnuRequest.java +++ b/gnu/CORBA/gnuRequest.java @@ -340,6 +340,21 @@ public class gnuRequest extends Request implements Cloneable m_parameter_buffer.setCodeSet(cxCodeSet.negotiate(ior.Internet.CodeSets)); m_parameter_buffer.setOrb(orb); m_parameter_buffer.setBigEndian(Big_endian); + + // For the old iiop versions, it is important to set the size + // correctly. + if (ior.Internet.version.until_inclusive(1, 1)) + { + cdrBufOutput measure = new cdrBufOutput(); + measure.setOffset(12); + if (m_rqh == null) + m_rqh = new gnu.CORBA.GIOP.v1_0.RequestHeader(); + m_rqh.operation = m_operation; + m_rqh.object_key = ior.key; + m_rqh.write(measure); + m_parameter_buffer.setOffset(12 + measure.buffer.size()); + } + return m_parameter_buffer; } @@ -738,7 +753,7 @@ public class gnuRequest extends Request implements Cloneable // This also sets the stream encoding to the encoding, specified // in the header. rh.write(request_part); - + if (m_args != null && m_args.count() > 0) { write_parameters(header, request_part); |
