Hi,
          I have the following queries/suggestions on the Axis 1.4 codebase.

1) In the XmlUtils.java class we are creating a ThreadLocalDocumentBuilder .So for each thread we have a separate instance of    ThreadLocalDocumentBuilder. Wouldn't it be better to have a method

    public static DocumentBuilder getDocumentBuilder() throws ParserConfigurationException {
         DocumentBuilder db;
         synchronized (dbf) {
              db = dbf.newDocumentBuilder();          
        }
        return db;
   }

This will result in fewer objects being created and also the thread safety is maintained.

2) In UTF8Encoder.java I want to allow hex chars > 0x7F without converting to ASCII representation. I can modify the code in my copy but is it possible to incorporate this functionality by means of a flag in the axis distro?

3) In AxisServlet.java I need to replace
                contentType = responseMsg.getContentType(msgContext.getSOAPConstants());
 with
                contentType = msgContext.getSOAPConstants().getContentType();
for certain services. Currently I have modified  the code and added an if else block

            if (msgContext.getTargetService() != null
                && (msgContext.getTargetService().equals("SrvcT1") ||
                    msgContext.getTargetService().equals("SrvcT2") ||
                    msgContext.getTargetService().equals("SrvcT3"))) {
                contentType = msgContext.getSOAPConstants().getContentType();
            } else {
                // determine content type from message response
                contentType = responseMsg.getContentType(msgContext.getSOAPConstants());
            }

Is there a better way to do this? i.e. without changing the axis classes.

Thanks
Manu

Reply via email to