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 di...@apache.org on 2004/11/01 15:07:35 UTC
cvs commit: ws-axis/java/src/org/apache/axis/encoding DeserializationContext.java
dims 2004/11/01 06:07:35
Modified: java/src/org/apache/axis/encoding/ser BeanDeserializer.java
java/src/org/apache/axis/encoding
DeserializationContext.java
Log:
Fix for AXIS-1632 - NPE Using DeserializationContext
from Steve Green (steve.green@epok.net)
Revision Changes Path
1.70 +1 -1 ws-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java
Index: BeanDeserializer.java
===================================================================
RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -r1.69 -r1.70
--- BeanDeserializer.java 29 Jul 2004 21:40:27 -0000 1.69
+++ BeanDeserializer.java 1 Nov 2004 14:07:35 -0000 1.70
@@ -156,7 +156,7 @@
FieldDesc fieldDesc = null;
SOAPConstants soapConstants = context.getSOAPConstants();
- String encodingStyle = context.getMessageContext().getEncodingStyle();
+ String encodingStyle = context.getEncodingStyle();
boolean isEncoded = Constants.isSOAP_ENC(encodingStyle);
QName elemQName = new QName(namespace, localName);
1.60 +16 -10 ws-axis/java/src/org/apache/axis/encoding/DeserializationContext.java
Index: DeserializationContext.java
===================================================================
RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/DeserializationContext.java,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- DeserializationContext.java 14 Sep 2004 06:14:01 -0000 1.59
+++ DeserializationContext.java 1 Nov 2004 14:07:35 -0000 1.60
@@ -21,6 +21,7 @@
import org.apache.axis.Constants;
import org.apache.axis.Message;
import org.apache.axis.AxisFault;
+import org.apache.axis.constants.Use;
import org.apache.axis.attachments.Attachments;
import org.apache.axis.description.TypeDesc;
import org.apache.axis.soap.SOAPConstants;
@@ -270,6 +271,19 @@
}
/**
+ * Returns this context's encoding style. If we've got a message
+ * context then we'll get the style from that; otherwise we'll
+ * return a default.
+ *
+ * @return a <code>String</code> value
+ */
+ public String getEncodingStyle()
+ {
+ return msgContext == null ?
+ Use.ENCODED.getEncoding() : msgContext.getEncodingStyle();
+ }
+
+ /**
* Get Envelope
*/
public SOAPEnvelope getEnvelope()
@@ -490,7 +504,7 @@
TypeDesc typedesc = TypeDesc.getTypeDescForClass(cls);
if (typedesc != null) {
dser = (Deserializer) method.invoke(null,
- new Object[] {msgContext.getEncodingStyle(), cls, typedesc.getXmlType()});
+ new Object[] {getEncodingStyle(), cls, typedesc.getXmlType()});
}
}
} catch (Exception e) {
@@ -539,15 +553,7 @@
null);
}
TypeMappingRegistry tmr = msgContext.getTypeMappingRegistry();
- return (TypeMapping) tmr.getTypeMapping(msgContext.getEncodingStyle());
- /*
- * TODO: This code doesn't yet work, but we aren't looking up the right
- * TypeMapping by just using SOAP_ENC.
-
- String encStyle = curElement == null ? Constants.NS_URI_CURRENT_SOAP_ENC :
- curElement.getEncodingStyle();
- return (TypeMapping) tmr.getTypeMapping(encStyle);
- */
+ return (TypeMapping) tmr.getTypeMapping(getEncodingStyle());
}
/**