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 2005/04/24 05:00:50 UTC

cvs commit: ws-axis/java/src/org/apache/axis/client Call.java

dims        2005/04/23 20:00:50

  Modified:    java/src/org/apache/axis/client Call.java
  Log:
  Fix for AXIS-1682 - setting CHARACTER_SET_ENCODING in org.apache.axis.client.Call
  from Bernard Bernstein
  
  URL: http://issues.apache.org/jira/browse/AXIS-1682
  
  Revision  Changes    Path
  1.241     +18 -6     ws-axis/java/src/org/apache/axis/client/Call.java
  
  Index: Call.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/client/Call.java,v
  retrieving revision 1.240
  retrieving revision 1.241
  diff -u -r1.240 -r1.241
  --- Call.java	12 Apr 2005 22:18:14 -0000	1.240
  +++ Call.java	24 Apr 2005 03:00:50 -0000	1.241
  @@ -113,6 +113,7 @@
    *     TIMEOUT        - Timeout used by transport sender in milliseconds
    *     TRANSPORT_NAME - Name of transport handler to use
    *     ATTACHMENT_ENCAPSULATION_FORMAT- Send attachments as MIME the default, or DIME.
  + *     CHARACTER_SET_ENCODING - Character set encoding to use for request
    * </pre>
    *
    * @author Doug Davis (dug@us.ibm.com)
  @@ -183,6 +184,13 @@
       public static final String TRANSPORT_NAME    = "transport_name" ;
   
       /**
  +     * This is the character set encoding to use for the message
  +     *
  +     * @see #setProperty
  +     */
  +    public static final String CHARACTER_SET_ENCODING = SOAPMessage.CHARACTER_SET_ENCODING;
  +
  +    /**
        * This is not the name of a property that can be set with
        * setProperty, despite its name.
        */
  @@ -447,6 +455,9 @@
               verifyBooleanProperty(name, value);
               setStreaming(((Boolean) value).booleanValue());
           }
  +        else if (name.equals(CHARACTER_SET_ENCODING)) {
  +            verifyStringProperty(name, value);
  +        }
           else if (name.startsWith("java.") || name.startsWith("javax.")) {
               throw new JAXRPCException(
                       Messages.getMessage("badProp05", name));
  @@ -551,6 +562,7 @@
           propertyNames.add(TRANSPORT_NAME);
           propertyNames.add(ATTACHMENT_ENCAPSULATION_FORMAT);
           propertyNames.add(CONNECTION_TIMEOUT_PROPERTY);
  +        propertyNames.add(CHARACTER_SET_ENCODING);
       }
   
       public Iterator getPropertyNames() {
  @@ -1880,12 +1892,12 @@
        */
       public SOAPEnvelope invoke(SOAPEnvelope env) throws AxisFault {
           try {
  -            Message msg = null ;
  -
  -            msg = new Message( env );
  -            if (msgContext.getProperty(SOAPMessage.CHARACTER_SET_ENCODING) != null) {
  -                msg.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, msgContext.getProperty(SOAPMessage.CHARACTER_SET_ENCODING));
  -             }
  +            Message msg = new Message( env );
  +            if (getProperty(CHARACTER_SET_ENCODING) != null) {
  +                msg.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, getProperty(CHARACTER_SET_ENCODING));
  +            } else if (msgContext.getProperty(CHARACTER_SET_ENCODING) != null) {
  +                msg.setProperty(CHARACTER_SET_ENCODING, msgContext.getProperty(CHARACTER_SET_ENCODING));
  +            }
               setRequestMessage( msg );
               invoke();
               msg = msgContext.getResponseMessage();