in src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java [489:536]
private ArrayList getServicePorts(Service s,
boolean styleDocument,
boolean soap11,
boolean soap12,
boolean rest) throws Exception
{
ArrayList a = new ArrayList();
if (s == null)
return a;
Iterator ports = s.getPorts().values().iterator();
while (ports.hasNext())
{
Port p = (Port) ports.next();
Binding b = p.getBinding();
BindingEntry be = c_symbolTable.getBindingEntry(b.getQName());
if (b == null || be == null)
throw new WrapperFault("No binding exists for port '" + p.getName() + "'.");
if ((be.getBindingType() == BindingEntry.TYPE_SOAP) && (soap11 || soap12))
{
String style = be.getBindingStyle().getName();
if (style == null)
style = "document";
if ((styleDocument && style.equalsIgnoreCase("document"))
|| (!styleDocument && style.equalsIgnoreCase("rpc")))
{
String ns = Constants.URI_WSDL11_SOAP;
SOAPBinding soapbinding = (SOAPBinding)getExtensibilityElement(b, INSTANCEOF_SOAPBINDING);
if (soapbinding != null && null != soapbinding.getElementType().getNamespaceURI())
ns = soapbinding.getElementType().getNamespaceURI();
if ((soap11 && ns.equals(Constants.URI_WSDL11_SOAP))
|| (soap12 && ns.equals(Constants.URI_WSDL12_SOAP)))
a.add(p);
}
}
else if (rest && (be.getBindingType() == BindingEntry.TYPE_HTTP_GET
|| be.getBindingType() == BindingEntry.TYPE_HTTP_POST))
{
a.add(p);
}
}
return a;
}