code: public void publishWsdlFiles(QName serviceName, String wsdlLocation, Bus bus, List<ServiceInfo> serviceInfos) throws IOException
     {
        String deploymentName = dep.getCanonicalName();
        File wsdlFile = getPublishLocation(serviceName.getLocalPart(), deploymentName, wsdlLocation);
        if (wsdlFile == null) return;
        createParentDir(wsdlFile);
        try
        {
           // Write the wsdl def to file
           ServiceWSDLBuilder builder = new ServiceWSDLBuilder(bus, serviceInfos);
           Definition def = builder.build();
  
           Document doc = getWsdlDocument(bus, def);
           writeDocument(doc, wsdlFile);
  
           URL wsdlPublishURL = new URL(URLDecoder.decode(wsdlFile.toURI().toURL().toExternalForm(), "UTF-8"));
           Loggers.DEPLOYMENT_LOGGER.wsdlFilePublished(wsdlPublishURL);
  
           // Process the wsdl imports
           if (def != null)
           {
              List<String> published = new LinkedList<String>();
              String expLocation = getExpLocation(wsdlLocation);
              publishWsdlImports(wsdlPublishURL, def, published, expLocation);
  
              // Publish XMLSchema imports
              publishSchemaImports(wsdlPublishURL, doc.getDocumentElement(), published, expLocation);
  
              dep.addAttachment(WSDLFilePublisher.class, this);
           }
           else
           {
              throw Messages.MESSAGES.wsdl20NotSupported();
           }
        }
        catch (RuntimeException rte)
        {
           throw rte;
        }
        catch (Exception e)
        {
           throw Messages.MESSAGES.cannotPublishWSDLTo(serviceName, wsdlFile, e);
        }
     }
docs: Publish the deployed wsdl file to the data directory