Package javax.wsdl

Examples of javax.wsdl.Message


public class CustomExtension implements WSDLBuilderExtension
{

    public void extend(Definition definition, WSDLBuilder builder)
    {
        Message message = definition.createMessage();
        message.setQName(new QName("urn:foo", "Test"));
        message.setUndefined(false);
       
        definition.addMessage(message);
    }
View Full Code Here


            //

            for (Iterator ite2 = binding.getPortType().getOperations().iterator(); ite2.hasNext();) {
                Operation operation = (Operation)ite2.next();
                if (operation.getInput() != null && operation.getInput().getMessage() != null) {
                    Message inMess = operation.getInput().getMessage();

                    for (Iterator ite3 = inMess.getParts().values().iterator(); ite3.hasNext();) {
                        Part p = (Part)ite3.next();
                        if (style.equalsIgnoreCase(SOAPBinding.Style.RPC.name()) && p.getTypeName() == null) {
                            addErrorMessage("An rpc-literal binding in a DESCRIPTION MUST refer, "
                                            + "in its soapbind:body element(s), only to "
                                            + "wsdl:part element(s) that have been defined "
                                            + "using the type attribute.");
                            return false;
                        }

                        if (style.equalsIgnoreCase(SOAPBinding.Style.DOCUMENT.name())
                            && p.getElementName() == null) {
                            addErrorMessage("A document-literal binding in a DESCRIPTION MUST refer, "
                                            + "in each of its soapbind:body element(s),"
                                            + "only to wsdl:part element(s)"
                                            + " that have been defined using the element attribute.");
                            return false;
                        }

                    }
                }
                if (operation.getOutput() != null && operation.getOutput().getMessage() != null) {
                    Message outMess = operation.getOutput().getMessage();
                    for (Iterator ite3 = outMess.getParts().values().iterator(); ite3.hasNext();) {
                        Part p = (Part)ite3.next();
                        if (style.equalsIgnoreCase(SOAPBinding.Style.RPC.name()) && p.getTypeName() == null) {
                            addErrorMessage("An rpc-literal binding in a DESCRIPTION MUST refer, "
                                            + "in its soapbind:body element(s), only to "
                                            + "wsdl:part element(s) that have been defined "
View Full Code Here

            List<String> partsList = new ArrayList<String>();

            msgPartsMap.put(qname, partsList);

            Message msg = (Message)messageMap.get(qname);

            Map partsMap = msg.getParts();

            Iterator ite2 = partsMap.values().iterator();
            while (ite2.hasNext()) {
                Part part = (Part)ite2.next();

                QName elementName = part.getElementName();
                QName typeName = part.getTypeName();
                if (elementName == null && typeName == null) {
                    Node errNode = ErrNodeLocator.getNode(doc, WSDLConstants.QNAME_MESSAGE, msg.getQName()
                        .getLocalPart(), part.getName());
                    schemaWSDLValidator
                        .addError(errNode,
                                  "The part does not have a type defined. Every part must "
                                      + "specify a type from some type system. The type can "
                                      + "be specified using the built in 'element' or 'type' attributes "
                                      + "or may be specified using an extension attribute.");

                    isValid = false;

                }

                if (elementName != null && typeName != null) {
                    Node errNode = ErrNodeLocator.getNode(doc, WSDLConstants.QNAME_MESSAGE, msg.getQName()
                        .getLocalPart(), part.getName());
                    schemaWSDLValidator.addError(errNode,
                                                 "The part has both an element and a type defined. Every "
                                                     + "part must only have an element or a type defined.");
                    isValid = false;

                }

                if (elementName != null && typeName == null) {
                    boolean valid = vlidatePartType(elementName.getNamespaceURI(),
                                                    elementName.getLocalPart(), true);
                    if (!valid) {
                        Node errNode = ErrNodeLocator.getNode(doc, WSDLConstants.QNAME_MESSAGE, msg
                            .getQName().getLocalPart(), part.getName());
                        schemaWSDLValidator.addError(errNode, elementName + " refefrence can not find");

                        isValid = false;
                    }

                }
                if (typeName != null && elementName == null) {

                    boolean valid = vlidatePartType(typeName.getNamespaceURI(), typeName.getLocalPart(),
                                                    false);

                    if (!valid) {
                        Node errNode = ErrNodeLocator.getNode(doc, WSDLConstants.QNAME_MESSAGE, msg
                            .getQName().getLocalPart(), part.getName());
                        schemaWSDLValidator.addError(errNode, "reference can not find");
                        isValid = false;
                    }
View Full Code Here

        if (requestWrapperQName == null) {
            if (getSOAPParameterStyle() == SOAPBinding.ParameterStyle.BARE
                || getSOAPStyle() == SOAPBinding.Style.RPC) {
                requestWrapperQName = new QName("", "");
            } else {
                Message msg = getMessage(true);
                List parts = msg.getOrderedParts(null);
                Part part = (Part)parts.get(0);
                requestWrapperQName = part.getElementName();
            }
        }
        return requestWrapperQName;
View Full Code Here

        if (responseWrapperQName == null) {
            if (getSOAPParameterStyle() == SOAPBinding.ParameterStyle.BARE
                || getSOAPStyle() == SOAPBinding.Style.RPC) {
                responseWrapperQName = new QName("", "");
            } else {
                Message msg = getMessage(false);
                if (msg != null) {
                    List parts = msg.getOrderedParts(null);
                    Part part = (Part)parts.get(0);
                    responseWrapperQName = part.getElementName();
                } else {
                    responseWrapperQName = new QName("", "");
                }
View Full Code Here

        boolean flag = getSOAPStyle() == SOAPBinding.Style.DOCUMENT
            && getSOAPUse() == SOAPBinding.Use.LITERAL;
        if (!flag) {
            return false;
        }
        Message msg = getMessage(true);
        if (msg == null) {
            return false;
        }
        List parts = msg.getOrderedParts(null);
        if (parts.size() != 1) {
            return false;
        }
        Part part = (Part)parts.get(0);
        QName element = part.getElementName();
        if (element == null
            || !element.getLocalPart().equals(bindingOp.getOperation().getName())) {
            return false;
        }
        //REVISIT check for squence
       
        msg = getMessage(true);
        if (msg != null) {
            parts = msg.getOrderedParts(null);
            if (parts.size() != 1) {
                flag = false;
            } else {
                part = (Part)parts.get(0);
                element = part.getElementName();
View Full Code Here

        }
        return null;
    }

    public Map getParts(Operation operation, boolean out) {
        Message message = null;
        if (out) {
            Output output = operation.getOutput();
            message = output.getMessage();
        } else {
            Input input = operation.getInput();
            message = input.getMessage();
        }
        return message.getParts() == null ? new HashMap() : message.getParts();
    }
View Full Code Here

        return null;
    }

    private int isNonWrappable(BindingOperation bop) {
        String operationName = bop.getName();
        Message bodyMessage = null;
        QName headerMessage = null;
        SOAPHeader header = null;
        boolean containParts = false;
        boolean isSameMessage = false;
        boolean isNonWrappable = false;
        boolean allPartsHeader = false;
        int result = this.noHEADER;

        // begin process input
        if (bop.getBindingInput() != null) {
            Iterator ite = bop.getBindingInput().getExtensibilityElements().iterator();
            while (ite.hasNext()) {
                Object obj = ite.next();
                if (obj instanceof SOAPBody) {
                    bodyMessage = getMessage(operationName, true);
                }
                if (obj instanceof SOAPHeader) {
                    header = (SOAPHeader)obj;
                    headerMessage = header.getMessage();
                    if (header.getPart().length() > 0) {
                        containParts = true;
                    }
                }
            }

            if (headerMessage != null && bodyMessage != null
                && headerMessage.getNamespaceURI().equalsIgnoreCase(bodyMessage.getQName().getNamespaceURI())
                && headerMessage.getLocalPart().equalsIgnoreCase(bodyMessage.getQName().getLocalPart())) {
                isSameMessage = true;
            }

            isNonWrappable = isSameMessage && containParts;
            // if is nonwrapple then return
            if (isNonWrappable) {
                result = this.inHEADER;
            }
        }
        isSameMessage = false;
        containParts = false;

        // process output
        if (bop.getBindingOutput() != null) {
            Iterator ite1 = bop.getBindingOutput().getExtensibilityElements().iterator();
            while (ite1.hasNext()) {
                Object obj = ite1.next();
                if (obj instanceof SOAPBody) {
                    bodyMessage = getMessage(operationName, false);
                }
                if (obj instanceof SOAPHeader) {
                    header = (SOAPHeader)obj;
                    headerMessage = header.getMessage();
                    if (header.getPart().length() > 0) {
                        containParts = true;
                    }
                }
            }
            if (headerMessage != null && bodyMessage != null
                && headerMessage.getNamespaceURI().equalsIgnoreCase(bodyMessage.getQName().getNamespaceURI())
                && headerMessage.getLocalPart().equalsIgnoreCase(bodyMessage.getQName().getLocalPart())) {
                isSameMessage = true;
                if (bodyMessage.getParts().size() == 1) {
                    allPartsHeader = true;
                }

            }
            isNonWrappable = isSameMessage && containParts;
View Full Code Here

    }

    private Message getMessage(String operationName, boolean isIn) {
        Iterator ite = definition.getPortTypes().values().iterator();
        Message msg = null;
        while (ite.hasNext()) {
            PortType portType = (PortType)ite.next();
            Iterator ite1 = portType.getOperations().iterator();
            while (ite1.hasNext()) {
                Operation op = (Operation)ite1.next();
View Full Code Here

    }

    @SuppressWarnings("unchecked")
    private void processFault(JavaMethod method, Fault fault) throws ToolException {
        JavaModel model = method.getInterface().getJavaModel();
        Message faultMessage = fault.getMessage();
        String name = ProcessorUtil.mangleNameToClassName(faultMessage.getQName().getLocalPart());
        String namespace = faultMessage.getQName().getNamespaceURI();
        String packageName = ProcessorUtil.parsePackageName(namespace, env.mapPackageName(namespace));

        while (isNameCollision(packageName, name)) {
            name = name + "_Exception";
        }

        collector.addExceptionClassName(packageName, name, packageName + "." + name);

        method.addException(new JavaException(name, name, namespace));

        Map<String, Part> faultParts = faultMessage.getParts();
        Collection<Part> faultValues = faultParts.values();
       
        JavaExceptionClass expClass = new JavaExceptionClass(model);
        expClass.setName(name);
        expClass.setNamespace(namespace);
View Full Code Here

TOP

Related Classes of javax.wsdl.Message

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.