public JAXWSServiceUnit(AbstractComponent component, String serviceUnitName, String serviceUnitRootPath) throws Exception {
super(component, serviceUnitName, serviceUnitRootPath);
for (Iterator iter = services.iterator(); iter.hasNext();) {
EndpointSpec es = (EndpointSpec) iter.next();
RuntimeEndpointInfo rtEndpointInfo = new RuntimeEndpointInfo();
rtEndpointInfo.setImplementor(es.getPojo());
rtEndpointInfo.setImplementorClass(es.getPojo().getClass());
rtEndpointInfo.setBinding(BindingImpl.getBinding(null, es.getPojo().getClass(), false));
rtEndpointInfo.init();
rtEndpointInfo.setWebServiceContext(new WebServiceContextImpl());
rtEndpointInfo.injectContext();
QName serviceName = rtEndpointInfo.getServiceName();
String endpointName = rtEndpointInfo.getPortName().getLocalPart();
if (es.getServiceName() == null) {
es.setServiceName(serviceName);
} else if (!es.getServiceName().equals(serviceName)) {
logger.warn("The service name defined in the wsdl (" + serviceName +
") does not match the service name defined in the endpoint spec (" + es.getServiceName() +
"). WSDL description may be unusable.");
}
if (es.getEndpointName() == null) {
es.setEndpointName(endpointName);
} else if (!es.getEndpointName().equals(endpointName)) {
logger.warn("The endpoint name defined in the wsdl (" + endpointName +
") does not match the endpoint name defined in the endpoint spec (" + es.getEndpointName() +
"). WSDL description may be unusable.");
}
if (rtEndpointInfo.needWSDLGeneration()) {
rtEndpointInfo.generateWSDL();
}
// put service description
try {
SourceTransformer st = new SourceTransformer();
Map<String, DocInfo> docs = rtEndpointInfo.getDocMetadata();
Set<Entry<String, DocInfo>> entries = docs.entrySet();
for (Entry<String, DocInfo> entry : entries) {
DocInfo docInfo = (DocInfo)entry.getValue();
DOC_TYPE docType = docInfo.getDocType();
if (docType == DOC_TYPE.WSDL) {