Search in sources :

Example 1 with Port

use of com.sun.tools.ws.wsdl.document.Port in project metro-jax-ws by eclipse-ee4j.

the class WSDLParser method parseService.

private Service parseService(TWSDLParserContextImpl context, Definitions definitions, Element e) {
    context.push();
    context.registerNamespaces(e);
    Service service = new Service(definitions, forest.locatorTable.getStartLocation(e), errReceiver);
    String name = Util.getRequiredAttribute(e, Constants.ATTR_NAME);
    service.setName(name);
    boolean gotDocumentation = false;
    for (Iterator iter = XmlUtil.getAllChildren(e); iter.hasNext(); ) {
        Element e2 = Util.nextElement(iter);
        if (e2 == null)
            break;
        if (XmlUtil.matchesTagNS(e2, WSDLConstants.QNAME_DOCUMENTATION)) {
            if (gotDocumentation) {
                errReceiver.error(forest.locatorTable.getStartLocation(e), WsdlMessages.PARSING_ONLY_ONE_DOCUMENTATION_ALLOWED(e.getLocalName()));
            }
            gotDocumentation = true;
            if (service.getDocumentation() == null) {
                service.setDocumentation(getDocumentationFor(e2));
            }
        } else if (XmlUtil.matchesTagNS(e2, WSDLConstants.QNAME_PORT)) {
            Port port = parsePort(context, definitions, e2);
            service.add(port);
        } else {
            // possible extensibility element -- must live outside the WSDL namespace
            checkNotWsdlElement(e2);
            if (!handleExtension(context, service, e2)) {
                checkNotWsdlRequired(e2);
            }
        }
    }
    context.pop();
    context.fireDoneParsingEntity(WSDLConstants.QNAME_SERVICE, service);
    return service;
}
Also used : Element(org.w3c.dom.Element) Port(com.sun.tools.ws.wsdl.document.Port) Iterator(java.util.Iterator) Service(com.sun.tools.ws.wsdl.document.Service)

Example 2 with Port

use of com.sun.tools.ws.wsdl.document.Port in project metro-jax-ws by eclipse-ee4j.

the class WSDLParser method parsePort.

private Port parsePort(TWSDLParserContextImpl context, Definitions definitions, Element e) {
    context.push();
    context.registerNamespaces(e);
    Port port = new Port(definitions, forest.locatorTable.getStartLocation(e), errReceiver);
    String name = Util.getRequiredAttribute(e, Constants.ATTR_NAME);
    port.setName(name);
    String bindingAttr = Util.getRequiredAttribute(e, Constants.ATTR_BINDING);
    port.setBinding(context.translateQualifiedName(context.getLocation(e), bindingAttr));
    boolean gotDocumentation = false;
    for (Iterator iter = XmlUtil.getAllChildren(e); iter.hasNext(); ) {
        Element e2 = Util.nextElement(iter);
        if (e2 == null) {
            break;
        }
        if (XmlUtil.matchesTagNS(e2, WSDLConstants.QNAME_DOCUMENTATION)) {
            if (gotDocumentation) {
                errReceiver.error(forest.locatorTable.getStartLocation(e), WsdlMessages.PARSING_ONLY_ONE_DOCUMENTATION_ALLOWED(e.getLocalName()));
            }
            gotDocumentation = true;
            if (port.getDocumentation() == null) {
                port.setDocumentation(getDocumentationFor(e2));
            }
        } else {
            // possible extensibility element -- must live outside the WSDL namespace
            checkNotWsdlElement(e2);
            if (!handleExtension(context, port, e2)) {
                checkNotWsdlRequired(e2);
            }
        }
    }
    context.pop();
    context.fireDoneParsingEntity(WSDLConstants.QNAME_PORT, port);
    return port;
}
Also used : Port(com.sun.tools.ws.wsdl.document.Port) Element(org.w3c.dom.Element) Iterator(java.util.Iterator)

Aggregations

Port (com.sun.tools.ws.wsdl.document.Port)2 Iterator (java.util.Iterator)2 Element (org.w3c.dom.Element)2 Service (com.sun.tools.ws.wsdl.document.Service)1