summaryrefslogtreecommitdiff
path: root/gnu/CORBA/gnuRequest.java
diff options
context:
space:
mode:
authorAudrius Meskauskas <audriusa@Bioinformatics.org>2005-09-02 15:53:05 +0000
committerAudrius Meskauskas <audriusa@Bioinformatics.org>2005-09-02 15:53:05 +0000
commit16d2ccf44ebcc6f1caa902cb75a61bf2dc21b153 (patch)
tree496184a12d3273b47a091261c7f85b8eef8e47ef /gnu/CORBA/gnuRequest.java
parent57449b75ee1714d1ce50d04f4db4db84f797068e (diff)
downloadclasspath-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.java17
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);