summaryrefslogtreecommitdiff
path: root/gnu/CORBA/gnuRequest.java
diff options
context:
space:
mode:
authorAudrius Meskauskas <audriusa@Bioinformatics.org>2005-05-29 15:39:41 +0000
committerAudrius Meskauskas <audriusa@Bioinformatics.org>2005-05-29 15:39:41 +0000
commitd2e41f3d6d2a388933fed0823d4e2df591951c6f (patch)
tree4712dfb3245aea8597f99b9f9aa1afcc21cc0c4f /gnu/CORBA/gnuRequest.java
parenteb80e97ad74fd8eb2d1a281a601cb11bfb5bd945 (diff)
downloadclasspath-d2e41f3d6d2a388933fed0823d4e2df591951c6f.tar.gz
2005-05-29 Audrius Meskauskas <AudriusA@Bioinformatics.org>
* gnu/CORBA/gnuRequest.java (p_invoke): Wrap the received UserException into UnknownUserException. * gnu/CORBA/streamReadyHolder.java: New wrapper for UserException. * org/omg/CORBA/UnknownUserException.java: New exception.
Diffstat (limited to 'gnu/CORBA/gnuRequest.java')
-rw-r--r--gnu/CORBA/gnuRequest.java15
1 files changed, 7 insertions, 8 deletions
diff --git a/gnu/CORBA/gnuRequest.java b/gnu/CORBA/gnuRequest.java
index 0665e919b..5f674aa2e 100644
--- a/gnu/CORBA/gnuRequest.java
+++ b/gnu/CORBA/gnuRequest.java
@@ -69,6 +69,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
+import org.omg.CORBA.UnknownUserException;
/**
* The implementation of the CORBA request.
@@ -786,17 +787,15 @@ public class gnuRequest
input.align(8);
align = false;
}
- input.mark(2000);
- String uxId = input.read_string();
- input.reset();
+ // Prepare an Any that will hold the exception.
+ gnuAny exc = new gnuAny();
- UserException uex = ObjectCreator.readUserException(uxId, input);
+ exc.insert_Streamable(new streamReadyHolder(input));
+
+ UnknownUserException unuex = new UnknownUserException(exc);
+ m_environment.exception(unuex);
- if (uex == null)
- m_environment.exception(new UserException(uxId));
- else
- m_environment.exception(uex);
break;
case ReplyHeader.LOCATION_FORWARD_PERM :