src/share/jaxws_classes/com/sun/xml/internal/ws/protocol/soap/MUTube.java

changeset 368
0989ad8c0860
parent 286
f50545b5e2f1
child 637
9c07ef4934dd
     1.1 --- a/src/share/jaxws_classes/com/sun/xml/internal/ws/protocol/soap/MUTube.java	Thu Apr 04 19:05:24 2013 -0700
     1.2 +++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/protocol/soap/MUTube.java	Tue Apr 09 14:51:13 2013 +0100
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -29,14 +29,12 @@
    1.11  import static com.sun.xml.internal.ws.api.SOAPVersion.SOAP_11;
    1.12  import static com.sun.xml.internal.ws.api.SOAPVersion.SOAP_12;
    1.13  import com.sun.xml.internal.ws.api.WSBinding;
    1.14 -import com.sun.xml.internal.ws.api.addressing.AddressingVersion;
    1.15  import com.sun.xml.internal.ws.api.message.Header;
    1.16 -import com.sun.xml.internal.ws.api.message.HeaderList;
    1.17  import com.sun.xml.internal.ws.api.message.Message;
    1.18 +import com.sun.xml.internal.ws.api.message.MessageHeaders;
    1.19  import com.sun.xml.internal.ws.api.pipe.Tube;
    1.20  import com.sun.xml.internal.ws.api.pipe.TubeCloner;
    1.21  import com.sun.xml.internal.ws.api.pipe.helper.AbstractFilterTubeImpl;
    1.22 -import com.sun.xml.internal.ws.binding.BindingImpl;
    1.23  import com.sun.xml.internal.ws.binding.SOAPBindingImpl;
    1.24  import com.sun.xml.internal.ws.message.DOMHeader;
    1.25  import com.sun.xml.internal.ws.fault.SOAPFaultBuilder;
    1.26 @@ -49,7 +47,6 @@
    1.27  import javax.xml.ws.WebServiceException;
    1.28  import javax.xml.ws.soap.SOAPBinding;
    1.29  import javax.xml.ws.soap.SOAPFaultException;
    1.30 -import java.util.HashSet;
    1.31  import java.util.Set;
    1.32  import java.util.logging.Logger;
    1.33  
    1.34 @@ -95,27 +92,10 @@
    1.35       * @return returns the headers that have mustUnderstand attribute and are not understood
    1.36       *         by the binding.
    1.37       */
    1.38 -    public final Set<QName> getMisUnderstoodHeaders(HeaderList headers, Set<String> roles,
    1.39 +    public final Set<QName> getMisUnderstoodHeaders(MessageHeaders headers, Set<String> roles,
    1.40                                                      Set<QName> handlerKnownHeaders) {
    1.41 -        Set<QName> notUnderstoodHeaders = null;
    1.42 -        for (int i = 0; i < headers.size(); i++) {
    1.43 -            if (!headers.isUnderstood(i)) {
    1.44 -                Header header = headers.get(i);
    1.45 -                if (!header.isIgnorable(soapVersion, roles)) {
    1.46 -                    QName qName = new QName(header.getNamespaceURI(), header.getLocalPart());
    1.47 -                    // see if the binding can understand it
    1.48 -                    if (!binding.understandsHeader(qName)) {
    1.49 -                        if (!handlerKnownHeaders.contains(qName)) {
    1.50 -                            logger.info("Element not understood=" + qName);
    1.51 -                            if (notUnderstoodHeaders == null)
    1.52 -                                notUnderstoodHeaders = new HashSet<QName>();
    1.53 -                            notUnderstoodHeaders.add(qName);
    1.54 -                        }
    1.55 -                    }
    1.56 -                }
    1.57 -            }
    1.58 -        }
    1.59 -        return notUnderstoodHeaders;
    1.60 +        return headers.getNotUnderstoodHeaders(roles, handlerKnownHeaders, binding);
    1.61 +
    1.62      }
    1.63  
    1.64      /**

mercurial