Package javax.wsdl

Examples of javax.wsdl.Part


                BindingOperation bop = wsdlHelper.getBindingOperation(def, operation.getName());
                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 (SOAPBinding.Style.RPC.name().equalsIgnoreCase(style) && p.getTypeName() == null
                            && !isHeaderPart(bop, p)) {
                            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 (SOAPBinding.Style.DOCUMENT.name().equalsIgnoreCase(style)
                            && 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
                            &&  !isHeaderPart(bop, p)) {
                            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;
View Full Code Here


           
            Iterator paramlist = null;
            //add each parameter to parameter list
            if ("document".equals(bindingEntry.getBindingStyle().getName())){
        paramlist = op.getInput().getMessage().getParts().values().iterator();
        Part part = (Part) paramlist.next();
        QName minfoqname;
        element = symbolTable.getElement(part.getElementName());
        if ( element == null ) {
          // the part reference a type.
          qname =  symbolTable.getType(part.getTypeName()).getQName();
          minfoqname = symbolTable.getType(part.getTypeName()).getQName();
        }
        else {
          qname = element.getRefType().getQName();
          minfoqname = element.getQName();
        }
        if (qname != null){
          minfo.setInputMessage(minfoqname);
          System.out.println(minfoqname.getLocalPart()+"setInputMessage.............?????????????");
          type = this.typeMap.getType(qname);
          boolean wrapped = true; //TODO take this from a commandline argument
          if (wrapped){
            if(type == null)
               throw new WrapperFault("unregisterd type "+qname+" refered");
            else{
              /* if(type.getLanguageSpecificName().startsWith(">")){*/ //anyway skip the wrapping element type even if it is a named type.
              //get inner attributes and elements and add them as parameters
              ArrayList elementlist = new ArrayList();
              Iterator names = type.getElementnames();
              while (names.hasNext()){
                elementlist.add(names.next());
              }
              Type innerType;
              for (int i = 0 ; i < elementlist.size(); i++) {
                String elementname = (String)elementlist.get(i);
                innerType = type.getElementForElementName(elementname).getType();
                pinfo = new ParameterInfo(innerType,elementname);
                pinfo.setElementName(type.getElementForElementName(elementname).getName());
                if (innerType.getName().equals(CUtils.anyTypeQname))
                  pinfo.setAnyType(true);
                minfo.addInputParameter(pinfo);   
              }
              //remove the type that represents the wrapping element so that such type is not created.
              this.typeMap.removeType(qname);
            }
          }
          else{
           
          }
        }
        }
          else{
        minfo.setInputMessage(op.getInput().getMessage().getQName());
             if (op.getParameterOrdering() != null){
               for (int ix=0; ix < op.getParameterOrdering().size(); ix++){
            Part p = (Part)(op.getInput().getMessage().getParts().get((String)op.getParameterOrdering().get(ix)));
            if (p == null) continue;
            pinfo = createParameterInfo(p);
            if (null != pinfo) minfo.addInputParameter(pinfo);
               }
             }
             else {
          paramlist = op.getInput().getMessage().getParts().values().iterator();
          while (paramlist.hasNext()) { //RPC style messages can have multiple parts
            Part p = (Part) paramlist.next();
            pinfo = createParameterInfo(p);
            if (null != pinfo) minfo.addInputParameter(pinfo);
          }              
             }
           }
            //get the return type
      if(op.getOutput()!=null){
              Iterator returnlist = op.getOutput().getMessage().getParts().values().iterator();
        if (returnlist.hasNext() && "document".equals(bindingEntry.getBindingStyle().getName())){
          Part part = (Part) returnlist.next();
          QName minfoqname;
          element = symbolTable.getElement(part.getElementName());
          if ( element == null ) {
            // the part reference a type.
            qname =  symbolTable.getType(part.getTypeName()).getQName();
            minfoqname = symbolTable.getType(part.getTypeName()).getQName();
          }
          else {
            qname = element.getRefType().getQName();
            minfoqname = element.getQName();
          }
          if (qname != null){
            minfo.setOutputMessage(minfoqname);
            type = this.typeMap.getType(qname);       
            boolean wrapped = true; //TODO take this from a commandline argument
            if (wrapped){
              if(type == null)
                 throw new WrapperFault("unregisterd type "+qname+" refered");
              else{
                /*if(type.getLanguageSpecificName().startsWith(">")){*///anyway skip the wrapping element type even if it is a named type.
                //get inner attributes and elements and add them as parameters
                ArrayList elementlist = new ArrayList();
                Iterator names = type.getElementnames();
                while (names.hasNext()){
                  elementlist.add(names.next());
                }
                Type innerType;
                for (int i = 0 ; i < elementlist.size(); i++) {
                  String elementname = (String)elementlist.get(i);
                  innerType = type.getElementForElementName(elementname).getType();
                  pinfo = new ParameterInfo(innerType,elementname);
                  pinfo.setElementName(type.getElementForElementName(elementname).getName());
                  if (innerType.getName().equals(CUtils.anyTypeQname))
                    pinfo.setAnyType(true);
                  minfo.addOutputParameter(pinfo);   
                }             
                //remove the type that represents the wrapping element so that such type is not created.             
                this.typeMap.removeType(qname);
              }
            }
            else{
            }
          }
        }
        else{
      //added on 1-jun-2004
            minfo.setInputMessage(op.getInput().getMessage().getQName());
            minfo.setOutputMessage(op.getOutput().getMessage().getQName());
           // minfo.setFaultMessage();
          if (op.getParameterOrdering() != null){
            
            for (int ix=0; ix < op.getParameterOrdering().size(); ix++){
              Part p = (Part)(op.getOutput().getMessage().getParts().get((String)op.getParameterOrdering().get(ix)));
              if (p == null) continue;
              pinfo = createParameterInfo(p);
              if (null != pinfo) minfo.addOutputParameter(pinfo);
            }
            /* there can be more output parameters than in parameterOrder list (partial parameter ordering) */
            returnlist = op.getOutput().getMessage().getParts().values().iterator();
            while (returnlist.hasNext()) { //RPC style messages can have multiple parts
              Part p = (Part) returnlist.next();
              if (op.getParameterOrdering().contains(p.getName())) continue;
              pinfo = createParameterInfo(p);
              if (null != pinfo) minfo.addOutputParameter(pinfo);
            }                               
          }
          else {
            returnlist = op.getOutput().getMessage().getParts().values().iterator();
            while (returnlist.hasNext()) { //RPC style messages can have multiple parts
              Part p = ((Part) returnlist.next());
              pinfo = createParameterInfo(p);
              if (null != pinfo) minfo.addOutputParameter(pinfo);
            }
          }
        }
View Full Code Here

            }
            Message message = definition.createMessage();
            message.setUndefined(false);
            message.setQName(mie.getKey());
            for (MessagePartInfo mpi : mie.getValue().getMessageParts()) {
                Part part = definition.createPart();
                boolean elemental = mpi.isElement();
                // RFSB will turn on isElement bogusly.
                if (elemental
                    && null == serviceInfo.getXmlSchemaCollection().
                        getElementByQName(mpi.getElementQName())) {
                    elemental = false;
                }
                if (elemental) {
                    part.setElementName(mpi.getElementQName());
                } else {
                    part.setTypeName(mpi.getTypeQName());
                }
                part.setName(mpi.getName().getLocalPart());
                message.addPart(part);
            }
           
            definition.addMessage(message);
        }
View Full Code Here

        message.setQName(messageContainer.getName());
        message.setUndefined(false);
        def.addMessage(message);
       
        List<MessagePartInfo> messageParts = messageContainer.getMessageParts();
        Part messagePart = null;
        for (MessagePartInfo messagePartInfo : messageParts) {
            messagePart = def.createPart();
            messagePart.setName(messagePartInfo.getName().getLocalPart());
            if (messagePartInfo.isElement()) {
                messagePart.setElementName(messagePartInfo.getElementQName());
                addNamespace(messagePartInfo.getElementQName().getNamespaceURI(), def);
            } else if (messagePartInfo.getTypeQName() != null) {
                messagePart.setTypeName(messagePartInfo.getTypeQName());
                addNamespace(messagePartInfo.getTypeQName().getNamespaceURI(), def);
            }
            message.addPart(messagePart);
        }
    }
View Full Code Here

        this.message = fault.getMessage();
        this.xmlType = getFaultType(symbolTable, getFaultPart());
        this.use     = use;
        this.name    = fault.getName();

        Part part = getFaultPart();
        if (part == null) {
            this.qName = null;
        }
        else if (part.getTypeName() != null) {
            this.qName = new QName(namespace, part.getName());
        }
        else {
            this.qName = part.getElementName();
        }
    } // ctor
View Full Code Here

        if (mEntry == null) {
            throw new IOException(Messages.getMessage("noMsg",
                    fault.getMessage().toString()));
        }
        this.message = mEntry.getMessage();
        Part part    = message.getPart(fault.getPart());
        this.xmlType = getFaultType(symbolTable, part);
        this.use     = Use.getUse(fault.getUse());

        if (part == null) {
            this.qName = null;
        }
        else if (part.getTypeName() != null) {
            this.qName = new QName(fault.getNamespaceURI(), part.getName());
        }
        else {
            this.qName = part.getElementName();
        }
        this.name    = qName.getLocalPart();
       
    } // ctor
View Full Code Here

        if (style == Style.WRAPPED) {
            // We need to make sure the operation name, which is what we
            // wrap the elements in, matches the Qname of the parameter
            // element.
            Map partsMap = bop.getOperation().getInput().getMessage().getParts();
            Part p = (Part)partsMap.values().iterator().next();
            QName q = p.getElementName();
            setOperationName(q);
        } else {
            QName elementQName =
                Utils.getOperationQName(bop, bEntry, symbolTable);
            if (elementQName != null) {
View Full Code Here

        // the operation, we can unwrap it.
        int numberOfElements = 0;
        boolean possiblyWrapped = false;
        Iterator i = parts.iterator();
        while (i.hasNext()) {
            Part part = (Part) i.next();
            if (part.getElementName() != null) {
                ++numberOfElements;
                if (part.getElementName().getLocalPart().equals(opName)) {
                    possiblyWrapped = true;
                }
            }
        }

        // Hack alert - Try to sense "wrapped" document literal mode
        // if we haven't been told not to.
        // Criteria:
        //  - If there is a single element part,
        //  - That part is an element
        //  - That element has the same name as the operation
        //  - That element has no attributes (check done below)
        if (!nowrap &&
                literal &&
                numberOfElements == 1 &&
                possiblyWrapped) {
            wrapped = true;
        }

        i = parts.iterator();
        while (i.hasNext()) {
            Parameter param = new Parameter();
            Part part = (Part) i.next();
            QName elementName = part.getElementName();
            QName typeName = part.getTypeName();
            String partName = part.getName();

            // We're either:
            // 1. encoded
            // 2. literal & not wrapped.
            if (!literal || !wrapped || elementName == null) {
View Full Code Here

        }

        // Set all the message's types
        Iterator parts = message.getParts().values().iterator();
        while (parts.hasNext()) {
            Part part = (Part) parts.next();
            TypeEntry type = getType(part.getTypeName());
            if (type != null) {
                setTypeReferences(type, doc, literal);
            }
            type = getElement(part.getElementName());
            if (type != null) {
                setTypeReferences(type, doc, literal);
                TypeEntry refType = type.getRefType();
                if (refType != null) {
                  setTypeReferences(refType, doc, literal);
View Full Code Here

     */
    private void partStrings(Vector v, Collection parts, boolean elements) {
        Iterator i = parts.iterator();

        while (i.hasNext()) {
            Part part = (Part) i.next();

            if (elements) {
                v.add("org.w3c.dom.Element");
                v.add(part.getName());
            } else {
                if (part.getTypeName() != null) {
                    v.add(type(part.getTypeName().getLocalPart()));
                    v.add(part.getName());
                }
            }
        }
    } // partStrings
View Full Code Here

TOP

Related Classes of javax.wsdl.Part

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.