Java Code Examples for com.sun.xml.internal.ws.api.message.AddressingUtils#getAction()

The following examples show how to use com.sun.xml.internal.ws.api.message.AddressingUtils#getAction() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: WsaClientTube.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
@Override
protected void validateAction(Packet packet) {
    //There may not be a WSDL operation.  There may not even be a WSDL.
    //For instance this may be a RM CreateSequence message.
    WSDLBoundOperation wbo = getWSDLBoundOperation(packet);

    if (wbo == null)    return;

    String gotA = AddressingUtils.getAction(
            packet.getMessage().getHeaders(),
            addressingVersion, soapVersion);
    if (gotA == null)
        throw new WebServiceException(AddressingMessages.VALIDATION_CLIENT_NULL_ACTION());

    String expected = helper.getOutputAction(packet);

    if (expected != null && !gotA.equals(expected))
        throw new ActionNotSupportedException(gotA);
}
 
Example 2
Source File: DispatchImpl.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
private void dumpParam(T param, String method) {
  if (param instanceof Packet) {
    Packet message = (Packet)param;

    String action;
    String msgId;
    if (LOGGER.isLoggable(Level.FINE)) {
      AddressingVersion av = DispatchImpl.this.getBinding().getAddressingVersion();
      SOAPVersion sv = DispatchImpl.this.getBinding().getSOAPVersion();
      action =
        av != null && message.getMessage() != null ?
          AddressingUtils.getAction(message.getMessage().getHeaders(), av, sv) : null;
      msgId =
        av != null && message.getMessage() != null ?
          AddressingUtils.getMessageID(message.getMessage().getHeaders(), av, sv) : null;
      LOGGER.fine("In DispatchImpl." + method + " for message with action: " + action + " and msg ID: " + msgId + " msg: " + message.getMessage());

      if (message.getMessage() == null) {
        LOGGER.fine("Dispatching null message for action: " + action + " and msg ID: " + msgId);
      }
    }
  }
}
 
Example 3
Source File: WsaTube.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
final boolean isAddressingEngagedOrRequired(Packet packet, WSBinding binding) {
    if (AddressingVersion.isRequired(binding))
        return true;

    if (packet == null)
        return false;

    if (packet.getMessage() == null)
        return false;

    if (packet.getMessage().getHeaders() != null)
        return false;

    String action = AddressingUtils.getAction(
            packet.getMessage().getHeaders(),
            addressingVersion, soapVersion);
    if (action == null)
        return true;

    return true;
}
 
Example 4
Source File: DispatchImpl.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
private void dumpParam(T param, String method) {
  if (param instanceof Packet) {
    Packet message = (Packet)param;

    String action;
    String msgId;
    if (LOGGER.isLoggable(Level.FINE)) {
      AddressingVersion av = DispatchImpl.this.getBinding().getAddressingVersion();
      SOAPVersion sv = DispatchImpl.this.getBinding().getSOAPVersion();
      action =
        av != null && message.getMessage() != null ?
          AddressingUtils.getAction(message.getMessage().getHeaders(), av, sv) : null;
      msgId =
        av != null && message.getMessage() != null ?
          AddressingUtils.getMessageID(message.getMessage().getHeaders(), av, sv) : null;
      LOGGER.fine("In DispatchImpl." + method + " for message with action: " + action + " and msg ID: " + msgId + " msg: " + message.getMessage());

      if (message.getMessage() == null) {
        LOGGER.fine("Dispatching null message for action: " + action + " and msg ID: " + msgId);
      }
    }
  }
}
 
Example 5
Source File: DispatchImpl.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
private void dumpParam(T param, String method) {
  if (param instanceof Packet) {
    Packet message = (Packet)param;

    String action;
    String msgId;
    if (LOGGER.isLoggable(Level.FINE)) {
      AddressingVersion av = DispatchImpl.this.getBinding().getAddressingVersion();
      SOAPVersion sv = DispatchImpl.this.getBinding().getSOAPVersion();
      action =
        av != null && message.getMessage() != null ?
          AddressingUtils.getAction(message.getMessage().getHeaders(), av, sv) : null;
      msgId =
        av != null && message.getMessage() != null ?
          AddressingUtils.getMessageID(message.getMessage().getHeaders(), av, sv) : null;
      LOGGER.fine("In DispatchImpl." + method + " for message with action: " + action + " and msg ID: " + msgId + " msg: " + message.getMessage());

      if (message.getMessage() == null) {
        LOGGER.fine("Dispatching null message for action: " + action + " and msg ID: " + msgId);
      }
    }
  }
}
 
Example 6
Source File: WsaClientTube.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
@Override
protected void validateAction(Packet packet) {
    //There may not be a WSDL operation.  There may not even be a WSDL.
    //For instance this may be a RM CreateSequence message.
    WSDLBoundOperation wbo = getWSDLBoundOperation(packet);

    if (wbo == null)    return;

    String gotA = AddressingUtils.getAction(
            packet.getMessage().getHeaders(),
            addressingVersion, soapVersion);
    if (gotA == null)
        throw new WebServiceException(AddressingMessages.VALIDATION_CLIENT_NULL_ACTION());

    String expected = helper.getOutputAction(packet);

    if (expected != null && !gotA.equals(expected))
        throw new ActionNotSupportedException(gotA);
}
 
Example 7
Source File: DispatchImpl.java    From openjdk-8-source with GNU General Public License v2.0 6 votes vote down vote up
private void dumpParam(T param, String method) {
  if (param instanceof Packet) {
    Packet message = (Packet)param;

    String action;
    String msgId;
    if (LOGGER.isLoggable(Level.FINE)) {
      AddressingVersion av = DispatchImpl.this.getBinding().getAddressingVersion();
      SOAPVersion sv = DispatchImpl.this.getBinding().getSOAPVersion();
      action =
        av != null && message.getMessage() != null ?
          AddressingUtils.getAction(message.getMessage().getHeaders(), av, sv) : null;
      msgId =
        av != null && message.getMessage() != null ?
          AddressingUtils.getMessageID(message.getMessage().getHeaders(), av, sv) : null;
      LOGGER.fine("In DispatchImpl." + method + " for message with action: " + action + " and msg ID: " + msgId + " msg: " + message.getMessage());

      if (message.getMessage() == null) {
        LOGGER.fine("Dispatching null message for action: " + action + " and msg ID: " + msgId);
      }
    }
  }
}
 
Example 8
Source File: MemberSubmissionWsaClientTube.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
@Override
protected void checkMandatoryHeaders(Packet packet, boolean foundAction, boolean foundTo, boolean foundReplyTo,
                                     boolean foundFaultTo, boolean foundMessageID, boolean foundRelatesTo) {
    super.checkMandatoryHeaders(packet,foundAction,foundTo,foundReplyTo,foundFaultTo,foundMessageID,foundRelatesTo);

    // if no wsa:To header is found
    if (!foundTo) {
        throw new MissingAddressingHeaderException(addressingVersion.toTag,packet);
    }

    if (!validation.equals(MemberSubmissionAddressing.Validation.LAX)) {

        // if it is not one-way, response must contain wsa:RelatesTo
        // RelatesTo required as per
        // Table 5-3 of http://www.w3.org/TR/2006/WD-ws-addr-wsdl-20060216/#wsdl11requestresponse
        if (expectReply && (packet.getMessage() != null) && !foundRelatesTo) {
            String action = AddressingUtils.getAction(packet.getMessage().getHeaders(), addressingVersion, soapVersion);
            // Don't check for AddressingFaults as
            // Faults for requests with duplicate MessageId will have no wsa:RelatesTo
            if (!packet.getMessage().isFault() || !action.equals(addressingVersion.getDefaultFaultAction())) {
                throw new MissingAddressingHeaderException(addressingVersion.relatesToTag,packet);
            }
        }
    }
}
 
Example 9
Source File: Fiber.java    From openjdk-jdk9 with GNU General Public License v2.0 5 votes vote down vote up
private void dumpFiberContext(String desc) {
    if(isTraceEnabled()) {
        String action = null;
        String msgId = null;
        if (packet != null) {
            for (SOAPVersion sv: SOAPVersion.values()) {
                for (AddressingVersion av: AddressingVersion.values()) {
                    action = packet.getMessage() != null ? AddressingUtils.getAction(packet.getMessage().getHeaders(), av, sv) : null;
                    msgId = packet.getMessage() != null ? AddressingUtils.getMessageID(packet.getMessage().getHeaders(), av, sv) : null;
                    if (action != null || msgId != null) {
                       break;
                    }
                }
                if (action != null || msgId != null) {
                    break;
                }
            }
        }
        String actionAndMsgDesc;
        if (action == null && msgId == null) {
            actionAndMsgDesc = "NO ACTION or MSG ID";
        } else {
            actionAndMsgDesc = "'" + action + "' and msgId '" + msgId + "'";
        }

        String tubeDesc;
        if (next != null) {
            tubeDesc = next.toString() + ".processRequest()";
        } else {
            tubeDesc = peekCont() + ".processResponse()";
        }

        LOGGER.log(Level.FINE, "{0} {1} with {2} and ''current'' tube {3} from thread {4} with Packet: {5}", new Object[]{getName(), desc, actionAndMsgDesc, tubeDesc, Thread.currentThread().getName(), packet != null ? packet.toShortString() : null});
    }
}
 
Example 10
Source File: WsaTube.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
protected void validateSOAPAction(Packet packet) {
    String gotA = AddressingUtils.getAction(
            packet.getMessage().getHeaders(),
            addressingVersion, soapVersion);
    if (gotA == null)
        throw new WebServiceException(AddressingMessages.VALIDATION_SERVER_NULL_ACTION());
    if(packet.soapAction != null && !packet.soapAction.equals("\"\"") && !packet.soapAction.equals("\""+gotA+"\"")) {
        throw new InvalidAddressingHeaderException(addressingVersion.actionTag, addressingVersion.actionMismatchTag);
    }
}
 
Example 11
Source File: WsaServerTube.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
@Override
protected void validateAction(Packet packet) {
    //There may not be a WSDL operation.  There may not even be a WSDL.
    //For instance this may be a RM CreateSequence message.
    WSDLBoundOperation wsdlBoundOperation = getWSDLBoundOperation(packet);

    if (wsdlBoundOperation == null) {
        return;
    }

    String gotA = AddressingUtils.getAction(
            packet.getMessage().getHeaders(),
            addressingVersion, soapVersion);

    if (gotA == null) {
        throw new WebServiceException(AddressingMessages.VALIDATION_SERVER_NULL_ACTION());
    }

    String expected = helper.getInputAction(packet);
    String soapAction = helper.getSOAPAction(packet);
    if (helper.isInputActionDefault(packet) && (soapAction != null && !soapAction.equals(""))) {
        expected = soapAction;
    }

    if (expected != null && !gotA.equals(expected)) {
        throw new ActionNotSupportedException(gotA);
    }
}
 
Example 12
Source File: WsaServerTube.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
@Override
protected void validateAction(Packet packet) {
    //There may not be a WSDL operation.  There may not even be a WSDL.
    //For instance this may be a RM CreateSequence message.
    WSDLBoundOperation wsdlBoundOperation = getWSDLBoundOperation(packet);

    if (wsdlBoundOperation == null) {
        return;
    }

    String gotA = AddressingUtils.getAction(
            packet.getMessage().getHeaders(),
            addressingVersion, soapVersion);

    if (gotA == null) {
        throw new WebServiceException(AddressingMessages.VALIDATION_SERVER_NULL_ACTION());
    }

    String expected = helper.getInputAction(packet);
    String soapAction = helper.getSOAPAction(packet);
    if (helper.isInputActionDefault(packet) && (soapAction != null && !soapAction.equals(""))) {
        expected = soapAction;
    }

    if (expected != null && !gotA.equals(expected)) {
        throw new ActionNotSupportedException(gotA);
    }
}
 
Example 13
Source File: WsaTube.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
protected void validateSOAPAction(Packet packet) {
    String gotA = AddressingUtils.getAction(
            packet.getMessage().getHeaders(),
            addressingVersion, soapVersion);
    if (gotA == null)
        throw new WebServiceException(AddressingMessages.VALIDATION_SERVER_NULL_ACTION());
    if(packet.soapAction != null && !packet.soapAction.equals("\"\"") && !packet.soapAction.equals("\""+gotA+"\"")) {
        throw new InvalidAddressingHeaderException(addressingVersion.actionTag, addressingVersion.actionMismatchTag);
    }
}
 
Example 14
Source File: WsaServerTube.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
@Override
protected void validateAction(Packet packet) {
    //There may not be a WSDL operation.  There may not even be a WSDL.
    //For instance this may be a RM CreateSequence message.
    WSDLBoundOperation wsdlBoundOperation = getWSDLBoundOperation(packet);

    if (wsdlBoundOperation == null) {
        return;
    }

    String gotA = AddressingUtils.getAction(
            packet.getMessage().getHeaders(),
            addressingVersion, soapVersion);

    if (gotA == null) {
        throw new WebServiceException(AddressingMessages.VALIDATION_SERVER_NULL_ACTION());
    }

    String expected = helper.getInputAction(packet);
    String soapAction = helper.getSOAPAction(packet);
    if (helper.isInputActionDefault(packet) && (soapAction != null && !soapAction.equals(""))) {
        expected = soapAction;
    }

    if (expected != null && !gotA.equals(expected)) {
        throw new ActionNotSupportedException(gotA);
    }
}
 
Example 15
Source File: Fiber.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
private void dumpFiberContext(String desc) {
    if(isTraceEnabled()) {
        String action = null;
        String msgId = null;
        if (packet != null) {
            for (SOAPVersion sv: SOAPVersion.values()) {
                for (AddressingVersion av: AddressingVersion.values()) {
                    action = packet.getMessage() != null ? AddressingUtils.getAction(packet.getMessage().getHeaders(), av, sv) : null;
                    msgId = packet.getMessage() != null ? AddressingUtils.getMessageID(packet.getMessage().getHeaders(), av, sv) : null;
                    if (action != null || msgId != null) {
                       break;
                    }
                }
                if (action != null || msgId != null) {
                    break;
                }
            }
        }
        String actionAndMsgDesc;
        if (action == null && msgId == null) {
            actionAndMsgDesc = "NO ACTION or MSG ID";
        } else {
            actionAndMsgDesc = "'" + action + "' and msgId '" + msgId + "'";
        }

        String tubeDesc;
        if (next != null) {
            tubeDesc = next.toString() + ".processRequest()";
        } else {
            tubeDesc = peekCont() + ".processResponse()";
        }

        LOGGER.log(Level.FINE, "{0} {1} with {2} and ''current'' tube {3} from thread {4} with Packet: {5}", new Object[]{getName(), desc, actionAndMsgDesc, tubeDesc, Thread.currentThread().getName(), packet != null ? packet.toShortString() : null});
    }
}
 
Example 16
Source File: Fiber.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
private void dumpFiberContext(String desc) {
    if(isTraceEnabled()) {
        String action = null;
        String msgId = null;
        if (packet != null) {
            for (SOAPVersion sv: SOAPVersion.values()) {
                for (AddressingVersion av: AddressingVersion.values()) {
                    action = packet.getMessage() != null ? AddressingUtils.getAction(packet.getMessage().getHeaders(), av, sv) : null;
                    msgId = packet.getMessage() != null ? AddressingUtils.getMessageID(packet.getMessage().getHeaders(), av, sv) : null;
                    if (action != null || msgId != null) {
                       break;
                    }
                }
                if (action != null || msgId != null) {
                    break;
                }
            }
        }
        String actionAndMsgDesc;
        if (action == null && msgId == null) {
            actionAndMsgDesc = "NO ACTION or MSG ID";
        } else {
            actionAndMsgDesc = "'" + action + "' and msgId '" + msgId + "'";
        }

        String tubeDesc;
        if (next != null) {
            tubeDesc = next.toString() + ".processRequest()";
        } else {
            tubeDesc = peekCont() + ".processResponse()";
        }

        LOGGER.log(Level.FINE, "{0} {1} with {2} and ''current'' tube {3} from thread {4} with Packet: {5}", new Object[]{getName(), desc, actionAndMsgDesc, tubeDesc, Thread.currentThread().getName(), packet != null ? packet.toShortString() : null});
    }
}
 
Example 17
Source File: Fiber.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
private void dumpFiberContext(String desc) {
    if(isTraceEnabled()) {
        String action = null;
        String msgId = null;
        if (packet != null) {
            for (SOAPVersion sv: SOAPVersion.values()) {
                for (AddressingVersion av: AddressingVersion.values()) {
                    action = packet.getMessage() != null ? AddressingUtils.getAction(packet.getMessage().getHeaders(), av, sv) : null;
                    msgId = packet.getMessage() != null ? AddressingUtils.getMessageID(packet.getMessage().getHeaders(), av, sv) : null;
                    if (action != null || msgId != null) {
                       break;
                    }
                }
                if (action != null || msgId != null) {
                    break;
                }
            }
        }
        String actionAndMsgDesc;
        if (action == null && msgId == null) {
            actionAndMsgDesc = "NO ACTION or MSG ID";
        } else {
            actionAndMsgDesc = "'" + action + "' and msgId '" + msgId + "'";
        }

        String tubeDesc;
        if (next != null) {
            tubeDesc = next.toString() + ".processRequest()";
        } else {
            tubeDesc = peekCont() + ".processResponse()";
        }

        LOGGER.log(Level.FINE, "{0} {1} with {2} and ''current'' tube {3} from thread {4} with Packet: {5}", new Object[]{getName(), desc, actionAndMsgDesc, tubeDesc, Thread.currentThread().getName(), packet != null ? packet.toShortString() : null});
    }
}
 
Example 18
Source File: WsaTubeHelper.java    From openjdk-8-source with GNU General Public License v2.0 4 votes vote down vote up
String getFaultAction(@Nullable WSDLBoundOperation wbo, Packet responsePacket) {
    String action = AddressingUtils.getAction(responsePacket.getMessage().getHeaders(), addVer, soapVer);
    if (action != null) {
        return action;
    }

    action = addVer.getDefaultFaultAction();
    if (wbo == null) {
        return action;
    }

    try {
        SOAPMessage sm = responsePacket.getMessage().copy().readAsSOAPMessage();
        if (sm == null) {
            return action;
        }

        if (sm.getSOAPBody() == null) {
            return action;
        }

        if (sm.getSOAPBody().getFault() == null) {
            return action;
        }

        Detail detail = sm.getSOAPBody().getFault().getDetail();
        if (detail == null) {
            return action;
        }

        String ns = detail.getFirstChild().getNamespaceURI();
        String name = detail.getFirstChild().getLocalName();

        WSDLOperation o = wbo.getOperation();

        WSDLFault fault = o.getFault(new QName(ns, name));
        if (fault == null) {
            return action;
        }

        action = fault.getAction();

        return action;
    } catch (SOAPException e) {
        throw new WebServiceException(e);
    }
}
 
Example 19
Source File: WsaTubeHelper.java    From hottub with GNU General Public License v2.0 4 votes vote down vote up
String getFaultAction(@Nullable WSDLBoundOperation wbo, Packet responsePacket) {
    String action = AddressingUtils.getAction(responsePacket.getMessage().getHeaders(), addVer, soapVer);
    if (action != null) {
        return action;
    }

    action = addVer.getDefaultFaultAction();
    if (wbo == null) {
        return action;
    }

    try {
        SOAPMessage sm = responsePacket.getMessage().copy().readAsSOAPMessage();
        if (sm == null) {
            return action;
        }

        if (sm.getSOAPBody() == null) {
            return action;
        }

        if (sm.getSOAPBody().getFault() == null) {
            return action;
        }

        Detail detail = sm.getSOAPBody().getFault().getDetail();
        if (detail == null) {
            return action;
        }

        String ns = detail.getFirstChild().getNamespaceURI();
        String name = detail.getFirstChild().getLocalName();

        WSDLOperation o = wbo.getOperation();

        WSDLFault fault = o.getFault(new QName(ns, name));
        if (fault == null) {
            return action;
        }

        action = fault.getAction();

        return action;
    } catch (SOAPException e) {
        throw new WebServiceException(e);
    }
}
 
Example 20
Source File: WsaTubeHelper.java    From openjdk-jdk8u with GNU General Public License v2.0 4 votes vote down vote up
String getFaultAction(@Nullable WSDLBoundOperation wbo, Packet responsePacket) {
    String action = AddressingUtils.getAction(responsePacket.getMessage().getHeaders(), addVer, soapVer);
    if (action != null) {
        return action;
    }

    action = addVer.getDefaultFaultAction();
    if (wbo == null) {
        return action;
    }

    try {
        SOAPMessage sm = responsePacket.getMessage().copy().readAsSOAPMessage();
        if (sm == null) {
            return action;
        }

        if (sm.getSOAPBody() == null) {
            return action;
        }

        if (sm.getSOAPBody().getFault() == null) {
            return action;
        }

        Detail detail = sm.getSOAPBody().getFault().getDetail();
        if (detail == null) {
            return action;
        }

        String ns = detail.getFirstChild().getNamespaceURI();
        String name = detail.getFirstChild().getLocalName();

        WSDLOperation o = wbo.getOperation();

        WSDLFault fault = o.getFault(new QName(ns, name));
        if (fault == null) {
            return action;
        }

        action = fault.getAction();

        return action;
    } catch (SOAPException e) {
        throw new WebServiceException(e);
    }
}