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/07/10 05:30:52 UTC
cvs commit: xml-axis/java/src/org/apache/axis/message MessageElement.java SAXAdapter.java SOAPSAXHandler.java ThreadedSAXAdapter.java
gdaniels 01/07/09 20:30:52
Modified: java/src/org/apache/axis Message.java
java/src/org/apache/axis/client ServiceClient.java
java/src/org/apache/axis/encoding
DeserializationContext.java
java/src/org/apache/axis/message MessageElement.java
SAXAdapter.java SOAPSAXHandler.java
ThreadedSAXAdapter.java
Log:
Fix serviceDescription linkage a bit.
Pass messageType parameter down into the DeserializationContext, and
make it available directly from there. This works better now that we
check the SD at MessageElement creation time.
This fix restores the functionality for parsing return vals w/o xsi:type.
Revision Changes Path
1.35 +1 -1 xml-axis/java/src/org/apache/axis/Message.java
Index: Message.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/Message.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- Message.java 2001/06/12 15:42:59 1.34
+++ Message.java 2001/07/10 03:30:47 1.35
@@ -282,7 +282,7 @@
is = new InputSource(new StringReader(getAsString()));
}
- SAXAdapter parser = new SAXAdapter(is, msgContext);
+ SAXAdapter parser = new SAXAdapter(is, msgContext, messageType);
SOAPEnvelope env = parser.getEnvelope();
env.setMessageType(messageType);
1.29 +1 -0 xml-axis/java/src/org/apache/axis/client/ServiceClient.java
Index: ServiceClient.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/client/ServiceClient.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- ServiceClient.java 2001/07/06 15:52:20 1.28
+++ ServiceClient.java 2001/07/10 03:30:48 1.29
@@ -390,6 +390,7 @@
if (uri != null) reqEnv.setEncodingStyleURI(uri);
msgContext.setRequestMessage(reqMsg);
+ msgContext.setServiceDescription(this.serviceDesc);
reqEnv.addBodyElement(body);
reqEnv.setMessageType(ServiceDescription.REQUEST);
1.13 +9 -1 xml-axis/java/src/org/apache/axis/encoding/DeserializationContext.java
Index: DeserializationContext.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/DeserializationContext.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- DeserializationContext.java 2001/07/09 14:15:16 1.12
+++ DeserializationContext.java 2001/07/10 03:30:49 1.13
@@ -77,12 +77,15 @@
public Hashtable idMappings = new Hashtable();
private MessageContext msgContext;
+ private String messageType;
public DeserializationContext(SOAPSAXHandler baseHandler,
- MessageContext msgContext)
+ MessageContext msgContext,
+ String messageType)
{
this.baseHandler = baseHandler;
this.msgContext = msgContext;
+ this.messageType = messageType;
}
public SOAPSAXHandler getSAXHandler()
@@ -98,6 +101,11 @@
public String getNamespaceURI(String prefix)
{
return (String)baseHandler.getNamespaceURI(prefix);
+ }
+
+ public String getMessageType()
+ {
+ return messageType;
}
public QName getQNameFromString(String qNameStr)
1.28 +2 -4 xml-axis/java/src/org/apache/axis/message/MessageElement.java
Index: MessageElement.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/MessageElement.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- MessageElement.java 2001/07/09 21:31:41 1.27
+++ MessageElement.java 2001/07/10 03:30:50 1.28
@@ -169,10 +169,8 @@
// No type inline, so check service description.
ServiceDescription serviceDesc = context.getServiceDescription();
if (serviceDesc != null) {
- SOAPEnvelope env = getEnvelope();
- if (env != null)
- setType(serviceDesc.getParamTypeByName(
- env.getMessageType(), name));
+ setType(serviceDesc.getParamTypeByName(context.getMessageType(),
+ name));
}
}
1.7 +3 -2 xml-axis/java/src/org/apache/axis/message/SAXAdapter.java
Index: SAXAdapter.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SAXAdapter.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- SAXAdapter.java 2001/06/13 00:25:43 1.6
+++ SAXAdapter.java 2001/07/10 03:30:50 1.7
@@ -19,9 +19,10 @@
InputSource inputSource;
public SAXAdapter(InputSource inputSource,
- MessageContext msgContext)
+ MessageContext msgContext,
+ String messageType)
{
- super(msgContext);
+ super(msgContext, messageType);
_parser = XMLUtils.getSAXParser();
this.inputSource = inputSource;
}
1.19 +2 -2 xml-axis/java/src/org/apache/axis/message/SOAPSAXHandler.java
Index: SOAPSAXHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPSAXHandler.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- SOAPSAXHandler.java 2001/07/08 14:18:38 1.18
+++ SOAPSAXHandler.java 2001/07/10 03:30:50 1.19
@@ -183,10 +183,10 @@
// Body factory.
ElementFactory bodyFactory = new BodyFactory();
- public SOAPSAXHandler(MessageContext msgContext)
+ public SOAPSAXHandler(MessageContext msgContext, String messageType)
{
envelope = new SOAPEnvelope(this);
- this.context = new DeserializationContext(this,msgContext);
+ this.context = new DeserializationContext(this,msgContext,messageType);
}
public int getState()
1.7 +3 -2 xml-axis/java/src/org/apache/axis/message/ThreadedSAXAdapter.java
Index: ThreadedSAXAdapter.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/ThreadedSAXAdapter.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ThreadedSAXAdapter.java 2001/06/13 00:25:43 1.6
+++ ThreadedSAXAdapter.java 2001/07/10 03:30:51 1.7
@@ -49,9 +49,10 @@
}
public ThreadedSAXAdapter(InputSource inputSource,
- MessageContext msgContext)
+ MessageContext msgContext,
+ String messageType)
{
- super(msgContext);
+ super(msgContext, messageType);
_parser = XMLUtils.getSAXParser();
this.inputSource = inputSource;
}