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;
       }