protected Map<String,String> packageNamespaceMap = new HashMap<String,String>();
protected void processEndpoint(WSDLService service, EndpointMetaData endpoint)
{
WSDLEndpoint wsdlEndpoint = new WSDLEndpoint(service, endpoint.getPortName());
String address = endpoint.getEndpointAddress();
wsdlEndpoint.setAddress(address == null ? "REPLACE_WITH_ACTUAL_URL" : address);
service.addEndpoint(wsdlEndpoint);
QName interfaceQName = endpoint.getPortTypeName();
WSDLInterface wsdlInterface = new WSDLInterface(wsdl, interfaceQName);
wsdl.addInterface(wsdlInterface);
// Add imports
if (!interfaceQName.getNamespaceURI().equals(endpoint.getServiceMetaData().getServiceName().getNamespaceURI()))
{
WSDLImport wsdlImport = new WSDLImport(wsdl);
wsdlImport.setLocation(interfaceQName.getLocalPart() + "_PortType");
wsdlImport.setNamespace(interfaceQName.getNamespaceURI());
wsdl.addImport(wsdlImport);
wsdl.registerNamespaceURI(interfaceQName.getNamespaceURI(), null);
}
QName bindingQName = new QName(interfaceQName.getNamespaceURI(), interfaceQName.getLocalPart() + "Binding");
WSDLBinding wsdlBinding = new WSDLBinding(wsdl, bindingQName);
wsdlBinding.setInterfaceName(interfaceQName);
if (extension)
endpoint.setBindingId(SOAPBinding.SOAP12HTTP_BINDING);
wsdlBinding.setType(endpoint.getBindingId());
wsdl.addBinding(wsdlBinding);
wsdlEndpoint.setBinding(bindingQName);
for (OperationMetaData operation : endpoint.getOperations())
{
processOperation(wsdlInterface, wsdlBinding, operation);
}