// locationUrl = url;
// interfaceNamespace = url;
// }
// }
Emitter emitter = new Emitter();
// service alias may be provided if exact naming is required,
// otherwise Axis will name it according to the implementing class name
String alias = (String)service.getOption("alias");
if(alias != null) emitter.setServiceElementName(alias);
Style style = serviceDesc.getStyle();
if (style == Style.RPC) {
emitter.setMode(Emitter.MODE_RPC);
} else if (style == Style.DOCUMENT) {
emitter.setMode(Emitter.MODE_DOCUMENT);
} else if (style == Style.WRAPPED) {
emitter.setMode(Emitter.MODE_DOC_WRAPPED);
}
emitter.setClsSmart(serviceDesc.getImplClass(), locationUrl);
// If a wsdl target namespace was provided, use the targetNamespace.
// Otherwise use the interfaceNamespace constructed above.
String targetNamespace = (String) service.getOption(OPTION_WSDL_TARGETNAMESPACE);
if (targetNamespace == null ||
targetNamespace.length() == 0) {
targetNamespace = interfaceNamespace;
}
emitter.setIntfNamespace(targetNamespace);
emitter.setLocationUrl(locationUrl);
emitter.setServiceDesc(serviceDesc);
emitter.setTypeMapping((TypeMapping)msgContext.getTypeMappingRegistry().
getTypeMapping(Constants.URI_DEFAULT_SOAP_ENC));
emitter.setDefaultTypeMapping((TypeMapping)msgContext.getTypeMappingRegistry().
getDefaultTypeMapping());
String wsdlPortType = (String) service.getOption(OPTION_WSDL_PORTTYPE);
String wsdlServiceElement = (String) service.getOption(OPTION_WSDL_SERVICEELEMENT);
String wsdlServicePort = (String) service.getOption(OPTION_WSDL_SERVICEPORT);
if (wsdlPortType != null && wsdlPortType.length() > 0) {
emitter.setPortTypeName(wsdlPortType);
}
if (wsdlServiceElement != null && wsdlServiceElement.length() > 0) {
emitter.setServiceElementName(wsdlServiceElement);
}
if (wsdlServicePort != null && wsdlServicePort.length() > 0) {
emitter.setServicePortName(wsdlServicePort);
}
Document doc = emitter.emit(Emitter.MODE_ALL);
msgContext.setProperty("WSDL", doc);
} catch (NoClassDefFoundError e) {
entLog.info( Messages.getMessage("toAxisFault00"), e );
throw new AxisFault(e.toString(), e);