src/share/jaxws_classes/com/sun/xml/internal/ws/wsdl/PayloadQNameBasedOperationFinder.java

changeset 368
0989ad8c0860
parent 286
f50545b5e2f1
child 408
b0610cd08440
     1.1 --- a/src/share/jaxws_classes/com/sun/xml/internal/ws/wsdl/PayloadQNameBasedOperationFinder.java	Thu Apr 04 19:05:24 2013 -0700
     1.2 +++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/wsdl/PayloadQNameBasedOperationFinder.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, 2012, 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 @@ -28,6 +28,7 @@
    1.11  import com.sun.istack.internal.Nullable;
    1.12  import com.sun.xml.internal.ws.api.WSBinding;
    1.13  import com.sun.xml.internal.ws.api.model.SEIModel;
    1.14 +import com.sun.xml.internal.ws.api.model.WSDLOperationMapping;
    1.15  import com.sun.xml.internal.ws.api.model.wsdl.WSDLPort;
    1.16  import com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation;
    1.17  import com.sun.xml.internal.ws.api.message.Message;
    1.18 @@ -62,7 +63,7 @@
    1.19      public static final String EMPTY_PAYLOAD_NSURI = "";
    1.20      public static final QName EMPTY_PAYLOAD = new QName(EMPTY_PAYLOAD_NSURI, EMPTY_PAYLOAD_LOCAL);
    1.21  
    1.22 -    private final QNameMap<QName> methodHandlers = new QNameMap<QName>();
    1.23 +    private final QNameMap<WSDLOperationMapping> methodHandlers = new QNameMap<WSDLOperationMapping>();
    1.24      private final QNameMap<List<String>> unique = new QNameMap<List<String>>();
    1.25  
    1.26  
    1.27 @@ -98,7 +99,7 @@
    1.28                  // Set up method handlers only for unique QNames. So that dispatching
    1.29                  // happens consistently for a method
    1.30                  if (unique.get(name).size() == 1) {
    1.31 -                    methodHandlers.put(name, m.getOperationQName());
    1.32 +                    methodHandlers.put(name, wsdlOperationMapping(m));
    1.33                  }
    1.34              }
    1.35          } else {
    1.36 @@ -106,7 +107,7 @@
    1.37                  QName name = wsdlOp.getReqPayloadName();
    1.38                  if (name == null)
    1.39                      name = EMPTY_PAYLOAD;
    1.40 -                methodHandlers.put(name, wsdlOp.getName());
    1.41 +                methodHandlers.put(name, wsdlOperationMapping(wsdlOp));
    1.42              }
    1.43          }
    1.44      }
    1.45 @@ -119,7 +120,9 @@
    1.46       * @throws DispatchException if the payload itself is incorrect, this happens when the payload is not accepted by
    1.47       *          any operation in the port.
    1.48       */
    1.49 -    public QName getWSDLOperationQName(Packet request) throws DispatchException{
    1.50 +//  public QName getWSDLOperationQName(Packet request) throws DispatchException{
    1.51 +
    1.52 +    public WSDLOperationMapping getWSDLOperationMapping(Packet request) throws DispatchException {
    1.53          Message message = request.getMessage();
    1.54          String localPart = message.getPayloadLocalPart();
    1.55          String nsUri;
    1.56 @@ -131,7 +134,7 @@
    1.57              if(nsUri == null)
    1.58                  nsUri = EMPTY_PAYLOAD_NSURI;
    1.59          }
    1.60 -        QName op = methodHandlers.get(nsUri, localPart);
    1.61 +        WSDLOperationMapping op = methodHandlers.get(nsUri, localPart);
    1.62  
    1.63          // Check if payload itself is correct. Usually it is, so let us check last
    1.64          if (op == null && !unique.containsKey(nsUri,localPart)) {

mercurial