Package javax.wsdl.extensions.soap

Examples of javax.wsdl.extensions.soap.SOAPHeader


                    int inmessagePartsCount = partsList.size();
                    SOAPBody soapBody = wsdlHelper.getBindingInputSOAPBody(bop);
                    if (soapBody != null) {
                        List parts = soapBody.getParts();
                        int boundPartSize = parts == null ? inmessagePartsCount : parts.size();
                        SOAPHeader soapHeader = wsdlHelper.getBindingInputSOAPHeader(bop);
                        boundPartSize = soapHeader != null
                                        && soapHeader.getMessage().equals(
                                                                          operation.getInput().getMessage()
                                                                              .getQName())
                            ? boundPartSize - 1 : boundPartSize;

                        if (parts != null) {
                            Iterator partsIte = parts.iterator();
                            while (partsIte.hasNext()) {
                                String partName = (String)partsIte.next();
                                boolean isDefined = false;
                                for (Part part : partsList) {
                                    if (partName.equalsIgnoreCase(part.getName())) {
                                        isDefined = true;
                                        break;
                                    }
                                }
                                if (!isDefined) {
                                    addErrorMessage("opartion: " + operation.getName() + "  soapBody parts : "
                                                    + partName + " not found in the message, wrong WSDL");
                                    return false;
                                }

                            }
                        }

                        if (boundPartSize > 1) {
                            addErrorMessage("operation:" + operation.getName()
                                            + " more than one part bound to body");
                            return false;
                        }
                    }

                    int outmessagePartsCount = wsdlHelper.getOutMessageParts(operation).size();
                    soapBody = wsdlHelper.getBindingOutputSOAPBody(bop);
                    if (soapBody != null) {
                        List parts = soapBody.getParts();
                        int boundPartSize = parts == null ? outmessagePartsCount : parts.size();
                        SOAPHeader soapHeader = wsdlHelper.getBindingOutputSOAPHeader(bop);
                        boundPartSize = soapHeader != null
                                        && soapHeader.getMessage().equals(
                                                                          operation.getOutput().getMessage()
                                                                              .getQName())
                            ? boundPartSize - 1 : boundPartSize;
                        if (parts != null) {
                            Iterator partsIte = parts.iterator();
View Full Code Here


    }       
    private Part getPartFromSOAPHeader(Message message, Object extensibilityElement) {
        Part part = null;
        if (extensibilityElement instanceof SOAPHeader) {
            SOAPHeader soapHeader = (SOAPHeader)extensibilityElement;
            QName msgName = soapHeader.getMessage();
            if (message.getQName().equals(msgName)) {
                part = message.getPart(soapHeader.getPart());
            }
        } else if (extensibilityElement instanceof SOAPHeader) {
            SOAPHeader soapHeader = (SOAPHeader)extensibilityElement;
            QName msgName = soapHeader.getMessage();
            if (message.getQName().equals(msgName)) {
                part = message.getPart(soapHeader.getPart());
            }
        }
        return part;
    }   
View Full Code Here

            if (obj instanceof SOAPBody) {
                SOAPBody soapBody = (SOAPBody)obj;
                use = soapBody.getUse();
            }
            if (obj instanceof SOAPHeader) {
                SOAPHeader soapHeader = (SOAPHeader)obj;
                boolean found = false;
                for (JavaParameter parameter : jm.getParameters()) {
                    if (soapHeader.getPart().equals(parameter.getPartName())) {
                        setParameterAsHeader(parameter);
                        found = true;
                    }
                }
                if (Boolean.valueOf((String)env.get(ToolConstants.CFG_EXTRA_SOAPHEADER)).booleanValue()
                    && !found) {
                    // Header can't be found in java method parameters, in
                    // different message
                    // other than messages used in porttype operation
                    ParameterProcessor processor = new ParameterProcessor(this.env);
                    Part exPart = this.definition.getMessage(soapHeader.getMessage()).getPart(
                                                                                              soapHeader
                                                                                                  .getPart());
                    JavaType.Style jpStyle = JavaType.Style.IN;
                    if (isInOutParam(soapHeader.getPart(), operation.getBindingOutput())) {
                        jpStyle = JavaType.Style.INOUT;
                    }
                    JavaParameter jp = processor.addParameterFromBinding(jm, exPart, jpStyle);
                    if (soapHeader.getPart() != null && soapHeader.getPart().length() > 0) {
                        jp.getAnnotation().addArgument("partName", soapHeader.getPart());
                    }
                    setParameterAsHeader(jp);
                }
            }
            if (obj instanceof MIMEMultipartRelated && jm.getBindingExt().isEnableMime()) {
                // Commented for future use
                LOG.warning("The MIME content in wsdl file will be ignored, "
                            + "current version does not support MIME content");
                // MIMEProcessor mimeProcessor = new MIMEProcessor(this.env);
                // mimeProcessor.process(jm, (MIMEMultipartRelated)obj,
                // JavaType.Style.IN);
            }
        }

        // process output
        if (operation.getBindingOutput() != null) {
            Iterator outbindings = operation.getBindingOutput().getExtensibilityElements().iterator();
            while (outbindings.hasNext()) {
                Object obj = outbindings.next();
                if (obj instanceof SOAPHeader) {
                    SOAPHeader soapHeader = (SOAPHeader)obj;
                    boolean found = false;
                    for (JavaParameter parameter : jm.getParameters()) {
                        if (soapHeader.getPart().equals(parameter.getPartName())) {
                            setParameterAsHeader(parameter);
                            found = true;
                        }
                    }
                    if (jm.getReturn().getName().equals(soapHeader.getPart())) {
                        found = true;
                    }
                    if (Boolean.valueOf((String)env.get(ToolConstants.CFG_EXTRA_SOAPHEADER)).booleanValue()
                        && !found) {
                        // Header can't be found in java method parameters, in
                        // different message
                        // other than messages used in porttype operation
                        ParameterProcessor processor = new ParameterProcessor(this.env);
                        Part exPart = this.definition.getMessage(soapHeader.getMessage())
                            .getPart(soapHeader.getPart());
                        JavaParameter jp = processor.addParameterFromBinding(jm, exPart, JavaType.Style.OUT);
                        setParameterAsHeader(jp);
                    }
                }
                if (obj instanceof MIMEMultipartRelated && jm.getBindingExt().isEnableMime()) {
View Full Code Here

            List<String> parts = new ArrayList<String>();
            for (JavaParameter parameter : bodyParams) {
                parts.add(parameter.getPartName());
            }
            body.setParts(parts);
            SOAPHeader soapHeader = null;
            for (JavaParameter jp : headerParams) {

                try {
                    soapHeader = (SOAPHeader)extensionRegistry
                        .createExtension(BindingOutput.class, new QName(WSDLConstants.SOAP11_NAMESPACE,
                                                                        "header"));
                    soapHeader.setMessage(new QName(param.getTargetNamespace(), param.getName()));
                    soapHeader.setPart(jp.getPartName());
                    soapHeader.setUse("literal");

                } catch (WSDLException e) {
                    throw new ToolException(e.getMessage(), e);
                }
            }
View Full Code Here

            List<String> parts = new ArrayList<String>();
            for (JavaParameter parameter : bodyParams) {
                parts.add(parameter.getPartName());
            }
            body.setParts(parts);
            SOAPHeader soapHeader = null;
            for (JavaParameter jp : headerParams) {

                try {
                    soapHeader = (SOAPHeader)extensionRegistry
                        .createExtension(BindingInput.class, new QName(WSDLConstants.SOAP11_NAMESPACE,
                                                                       "header"));

                    soapHeader.setMessage(new QName(param.getTargetNamespace(), param.getName()));
                    soapHeader.setPart(jp.getPartName());
                    soapHeader.setUse("literal");

                } catch (WSDLException e) {
                    throw new ToolException(e.getMessage(), e);
                }
            }
View Full Code Here

                    soapHeaders.add(headerMessage);
                }

            } else if (wsdl4jExtensibilityElement instanceof SOAPHeader) {

                SOAPHeader soapHeader = (SOAPHeader) wsdl4jExtensibilityElement;
                SOAPHeaderMessage headerMessage = new SOAPHeaderMessage();
                headerMessage.setNamespaceURI(soapHeader.getNamespaceURI());
                headerMessage.setUse(soapHeader.getUse());
                Boolean required = soapHeader.getRequired();
                if (null != required) {
                    headerMessage.setRequired(required.booleanValue());
                }
                if (null != wsdl4jDefinition) {
                    // find the relevant schema part from the messages
                    Message msg = wsdl4jDefinition.getMessage(soapHeader
                            .getMessage());
                   
                    if (msg == null) {
                        msg = getMessage(wsdl4jDefinition, soapHeader
                            .getMessage(), new HashSet());
                    }

                    if (msg == null) {
                        // todo i18n this
                        throw new AxisFault("message "
                                            + soapHeader.getMessage()
                                            + " not found in the WSDL ");
                    }
                    Part msgPart = msg.getPart(soapHeader.getPart());
                    if (msgPart == null) {
                        // todo i18n this
                        throw new AxisFault("message part "
                                            + soapHeader.getPart()
                                            + " not found in the WSDL ");
                    }
                    headerMessage.setElement(msgPart.getElementName());
                }
                headerMessage.setMessage(soapHeader.getMessage());

                headerMessage.setPart(soapHeader.getPart());

                if (description instanceof AxisBindingMessage) {
                    AxisBindingMessage bindingMessage = (AxisBindingMessage) description;
                    List soapHeaders =
                            (List) bindingMessage.getProperty(WSDL2Constants.ATTR_WSOAP_HEADER);
View Full Code Here

    }

    private Part getPartFromSOAPHeader(Message message, Object extensibilityElement) {
        Part part = null;
        if (extensibilityElement instanceof SOAPHeader) {
            SOAPHeader soapHeader = (SOAPHeader) extensibilityElement;
            QName msgName = soapHeader.getMessage();
            if (message.getQName().equals(msgName)) {
                part = message.getPart(soapHeader.getPart());
            }
        } else if (extensibilityElement instanceof SOAPHeader) {
            SOAPHeader soapHeader = (SOAPHeader) extensibilityElement;
            QName msgName = soapHeader.getMessage();
            if (message.getQName().equals(msgName)) {
                part = message.getPart(soapHeader.getPart());
            }
        }
        return part;
    }
View Full Code Here

            if (obj instanceof SOAPBody) {
                setBodyType(((SOAPBody) obj).getUse(), bEntry, operation,
                        input);
            }
            else if (obj instanceof SOAPHeader) {
                SOAPHeader header = (SOAPHeader) obj;
                setBodyType(header.getUse(), bEntry, operation, input);

                // Note, this only works for explicit headers - those whose
                // parts come from messages used in the portType's operation
                // input/output clauses - it does not work for implicit
                // headers - those whose parts come from messages not used in
                // the portType's operation's input/output clauses.  I don't
                // know what we're supposed to emit for implicit headers.
                bEntry.setHeaderPart(operation.getName(), header.getPart(),
                        input ? BindingEntry.IN_HEADER : BindingEntry.OUT_HEADER);

                // Add any soap:headerFault info to the faults array
                Iterator headerFaults = header.getSOAPHeaderFaults().iterator();
                while (headerFaults.hasNext()) {
                    SOAPHeaderFault headerFault =
                            (SOAPHeaderFault) headerFaults.next();
                    faults.add(new FaultInfo(headerFault, this));
                }
View Full Code Here

                    List parts = soapInputBody.getParts();
                    if (parts != null)
                        operation.setPartNames(parts);
                }

                SOAPHeader soapHeader =
                    (SOAPHeader) getExtElem(binpt,
                        SOAPHeader.class,
                        binpt.getExtensibilityElements());
                if (soapHeader != null) {
                    throw new WSIFException(
View Full Code Here

    }

    Part soapHeaderPart = null;
    Part soapHeaderFaultPart = null;

    SOAPHeader soapHeader =
      (SOAPHeader) wsifPort.getExtElem(
        element,
        javax.wsdl.extensions.soap.SOAPHeader.class,
        extensabilityElements);
    if (soapHeader != null) {
      QName messageName = soapHeader.getMessage();
      if (messageName == null) {
        throw new WSIFException(
          "no message attribute on soap:header: " + soapHeader);
      }
      String messagePart = soapHeader.getPart();
      if (messagePart == null) {
        throw new WSIFException(
          "no part attribute on soap:header: " + soapHeader);
      }
      soapHeaderPart = getPart(messageName, messagePart);
      if (soapHeaderPart == null) {
        throw new WSIFException(
          "non existent part specified on soap:header: "
            + soapHeader);
      }

      SOAPHeaderFault soapHeaderFault =
        (SOAPHeaderFault) wsifPort.getExtElem(
          soapHeader,
          javax.wsdl.extensions.soap.SOAPHeaderFault.class,
          extensabilityElements);
      if (soapHeaderFault != null) {
        messageName = soapHeader.getMessage();
        if (messageName == null) {
          throw new WSIFException(
            "no message attribute on soap:header: " + soapHeader);
        }
        messagePart = soapHeader.getPart();
        if (messagePart == null) {
          throw new WSIFException(
            "no part attribute on soap:header: " + soapHeader);
        }
        soapHeaderFaultPart = getPart(messageName, messagePart);
View Full Code Here

TOP

Related Classes of javax.wsdl.extensions.soap.SOAPHeader

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.