You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by gd...@apache.org on 2001/05/02 00:05:27 UTC
cvs commit: xml-axis/java/src/org/apache/axis/message SOAPEnvelope.java
gdaniels 01/05/01 15:05:27
Modified: java/src/org/apache/axis/message SOAPEnvelope.java
Log:
Start roughing in ID/HREF support. This likely will get a little complicated,
since we can easily imagine being in the midst of deserializing an element
when we find that we need another one by ID - so we'll then need to
record SAX events, popping out as far as we need to on the element
stack, until we hit the desired thing, then play back all the events we
recorded....
Revision Changes Path
1.20 +11 -1 xml-axis/java/src/org/apache/axis/message/SOAPEnvelope.java
Index: SOAPEnvelope.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPEnvelope.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- SOAPEnvelope.java 2001/04/27 18:53:19 1.19
+++ SOAPEnvelope.java 2001/05/01 22:05:25 1.20
@@ -198,6 +198,16 @@
handler.parseToEnd();
}
+ public MessageElement getElementByID(String id)
+ {
+ MessageElement el = (MessageElement)idMapping.get(id);
+ if ((el != null) || (handler == null))
+ return el; // Got it, or else don't have anything to parse.
+
+ // Must find it...
+ return handler.parseForID(id);
+ }
+
public SOAPHeader getHeaderByName(String namespace, String localPart)
{
SOAPHeader header = (SOAPHeader)findElement(headers, namespace, localPart);
@@ -217,7 +227,7 @@
return (SOAPBodyElement)findElement(bodyElements, namespace, localPart);
}
- public MessageElement findElement(Vector vec, String namespace,
+ protected MessageElement findElement(Vector vec, String namespace,
String localPart)
{
if (vec.isEmpty())