code: private File getPublishLocation(String serviceName, String archiveName, String wsdlLocation) throws IOException
     {
        if (wsdlLocation == null && serviceName == null)
        {
           Loggers.DEPLOYMENT_LOGGER.cannotGetWsdlPublishLocation();
           return null;
        }
  
        //JBWS-2829: windows issue
        if (archiveName.startsWith("http://"))
        {
           archiveName = archiveName.replace("http://", "http-");
        }
  
        File locationFile = new File(serverConfig.getServerDataDir().getCanonicalPath() + "/wsdl/" + archiveName);
  
        if (wsdlLocation != null && wsdlLocation.indexOf(expLocation) >= 0)
        {
           wsdlLocation = wsdlLocation.substring(wsdlLocation.indexOf(expLocation) + expLocation.length());
           return new File(locationFile + "/" + wsdlLocation);
        }
        else if (wsdlLocation != null && !wsdlLocation.startsWith("vfs:"))
        {
           for (String wsdlLocationPrefix : wsdlLocationPrefixes) {
              if (wsdlLocation.startsWith(wsdlLocationPrefix)) {
                 return new File(locationFile, encodeLocation(wsdlLocation.substring(wsdlLocationPrefix.length(), wsdlLocation.lastIndexOf("/") + 1)));
              }
           }
           return new File(locationFile, encodeLocation(wsdlLocation));
        }
        else
        {
           return new File(locationFile + "/" + serviceName + ".wsdl");
        }
     }
docs: Get the file publish location