Package com.sun.xml.ws.api.message

Examples of com.sun.xml.ws.api.message.Packet


            if (isHttpBinding) {
                return doInvoke(super.next, request);
            }

            AuthStatus status = AuthStatus.SUCCESS;
            info = new PacketMapMessageInfo(request, new Packet());
            // XXX at this time, we expect the server subject to be null
            serverSubject = (Subject) request.invocationProperties.get(PipeConstants.SERVER_SUBJECT);

            //could change the request packet
            sAC = helper.getServerAuthContext(info, serverSubject);
            Subject clientSubject = getClientSubject(request);
            final Packet validatedRequest;
            try {
                if (sAC != null) {
                    // client subject must not be null
                    // and when return status is SUCCESS, module
                    // must have called handler.handle(CallerPrincipalCallback)
                    status = sAC.validateRequest(info, clientSubject, serverSubject);
                }
            } catch (Exception e) {
                _logger.log(Level.SEVERE, LogUtils.ERROR_REQUEST_VALIDATION, e);
                WebServiceException wse = new WebServiceException(localStrings.getLocalString("enterprise.webservice.cantValidateRequest",
                        "Cannot validate request for {0}",
                        new Object[]{helper.getModelName()}), e);

                //set status for audit
                status = AuthStatus.SEND_FAILURE;
                // if unable to determine if two-way will return empty response
                Packet ret = helper.getFaultResponse(info.getRequestPacket(), info.getResponsePacket(), wse);
                return doReturnWith(ret);

            } finally {
                validatedRequest = info.getRequestPacket();
                helper.auditInvocation(validatedRequest, status);
            }

            Packet response = null;
            if (status == AuthStatus.SUCCESS) {
                boolean authorized = false;
                try {
                    helper.authorize(validatedRequest);
                    authorized = true;
View Full Code Here


        try{
            //could be oneway
            if((response == null) || (response.getMessage() == null)){
                return doReturnWith(response);
            }
            Packet resp = response;
      // secure response, including if it is a fault
      if (sAC != null && response.getMessage() != null) {
    info.setResponsePacket(response);
    resp = processResponse(info, sAC, serverSubject);
      }
View Full Code Here

    @Override
    public void preDestroy() {
        //Give the AuthContext a chance to cleanup
        //create a dummy request packet
        try {
            Packet request = new Packet();
            PacketMessageInfo info = new PacketMapMessageInfo(request, new Packet());
            Subject subj = getClientSubject(request);
            ClientAuthContext cAC = helper.getClientAuthContext(info, subj);
             if (cAC != null && WSIT_CLIENT_AUTH_CONTEXT.equals(cAC.getClass().getName())) {
                cAC.cleanSubject(info, subj);
            }
View Full Code Here

   if(isHttpBinding) {
       return next.process(request);
   }
        */

  PacketMessageInfo info= new PacketMapMessageInfo(request,new Packet());
       
        info.getMap().put(javax.xml.ws.Endpoint.WSDL_SERVICE,
            helper.getProperty(PipeConstants.WSDL_SERVICE));

        AuthStatus status = AuthStatus.SEND_SUCCESS;

  Subject clientSubject = getClientSubject(request);

  ClientAuthContext cAC = null;

  try {

      cAC = helper.getClientAuthContext(info,clientSubject);

      if (cAC != null) {

    // proceed to process message sescurity
    status = cAC.secureRequest(info, clientSubject);
      }

  } catch(Exception e) {

            _logger.log(Level.SEVERE, LogUtils.ERROR_REQUEST_SECURING, e);
     
      throw new WebServiceException
    (localStrings.getLocalString
     ("enterprise.webservice.cantSecureRequst",
      "Cannot secure request for {0}",
      new Object[] { helper.getModelName() }),e);
  }

  Packet response;

  if (status == AuthStatus.FAILURE) {
      if (_logger.isLoggable(Level.FINE)) {
    _logger.log(Level.FINE,"ws.status_secure_request", status);
      }
View Full Code Here

    private Packet processSecureRequest(PacketMessageInfo info,
  ClientAuthContext cAC, Subject clientSubject)
  throws WebServiceException {
       
  // send the request
  Packet response = next.process(info.getRequestPacket());
 
         // check for response
        Message m = response.getMessage();

        if (m != null) {

            if (cAC != null) {
View Full Code Here

     
    @Override
    public JAXBElement startSecureConversation(Packet packet)
            throws WSSecureConversationException {

  PacketMessageInfo info = new PacketMapMessageInfo(packet,new Packet());
  JAXBElement token = null;

  try {

      // gets the subject from the packet (puts one there if not found)
View Full Code Here

        // make this more efficient by operating on packet
        String rvalue = null;
        if (messageInfo instanceof PacketMessageInfo) {
            PacketMessageInfo pmi = (PacketMessageInfo) messageInfo;
            Packet p = (Packet) pmi.getRequestPacket();
            if (p != null) {
                Message m = p.getMessage();
                if (m != null) {
                    WSDLPort port =
                            (WSDLPort) messageInfo.getMap().get("WSDL_MODEL");
                    if (port != null) {
                        WSDLBoundOperation w = m.getOperation(port);
View Full Code Here

            LOGGER.exiting(outboundSequenceId);
        }
    }

    private void requestAcknowledgement() {
        Packet request = rc.communicator.createEmptyRequestPacket(rc.rmVersion.protocolVersion.ackRequestedAction, true);
        request.setIsProtocolMessage();
        JaxwsApplicationMessage requestMessage = new JaxwsApplicationMessage(
                request,
                request.getMessage().getID(rc.addressingVersion, rc.soapVersion));

        // setting sequence id and fake message number so source message handler can attach a proper sequence acknowledgement info
        requestMessage.setSequenceData(outboundSequenceId, 0);

        rc.sourceMessageHandler.attachAcknowledgementInfo(requestMessage);
View Full Code Here

                    final CloseSequenceResponseData.Builder responseBuilder = CloseSequenceResponseData.getBuilder(closedSequence.getId());
                    responseBuilder.acknowledgementData(rc.destinationMessageHandler.getAcknowledgementData(closedSequence.getId()));
                    closedSequence.clearAckRequestedFlag();

                    CloseSequenceResponseData responseData = responseBuilder.build();
                    Packet responsePacket = rc.protocolHandler.toPacket(responseData, protocolMessagePacket, true);
                    responsePacket.setIsProtocolMessage();
                    rc.communicator.sendAsync(responsePacket, null);
                } catch (UnknownSequenceException ex) {
                    LOGGER.warning(LocalizationMessages.WSRM_1124_NO_SUCH_SEQUENCE_ID_REGISTERED(requestData.getSequenceId()), ex);
                    rc.communicator.sendAsync(ex.toRequest(rc), null);
                }
            }

            private void handleTerminateSequenceAction(Packet protocolMessagePacket) {
                TerminateSequenceData requestData = rc.protocolHandler.toTerminateSequenceData(protocolMessagePacket);
                rc.destinationMessageHandler.processAcknowledgements(requestData.getAcknowledgementData());

                try {
                    // TODO P2 pass last message id into terminateSequence method - so that it can implement proper incomplete sequence behavior
                    rc.sequenceManager().terminateSequence(requestData.getSequenceId());

                    TerminateSequenceResponseData tsrData = TerminateSequenceResponseData.getBuilder(requestData.getSequenceId()).build();
                    Packet tsrPacket = rc.protocolHandler.toPacket(tsrData, protocolMessagePacket, true);
                    tsrPacket.setIsProtocolMessage();
                    rc.communicator.sendAsync(tsrPacket, null);
                } catch (UnknownSequenceException ex) {
                    LOGGER.warning(LocalizationMessages.WSRM_1124_NO_SUCH_SEQUENCE_ID_REGISTERED(requestData.getSequenceId()), ex);
                    rc.communicator.sendAsync(ex.toRequest(rc), null);
                }
View Full Code Here

        }

        final String messageName = "CreateSequence";

        CreateSequenceData requestData = csBuilder.build();
        Packet request = rc.protocolHandler.toPacket(requestData, null);
        request.setIsProtocolMessage();

        Packet response = sendSessionControlMessage(messageName, request);
        CreateSequenceResponseData responseData = rc.protocolHandler.
                toCreateSequenceResponseData(verifyResponse(response, messageName, Level.SEVERE));

        if (requestData.getOfferedSequenceId() != null && responseData.getAcceptedSequenceAcksTo() == null) {
            // WS-I RSP R0010, R0011 - we must not fail in case of the Offer element has not been accepted by RMD
View Full Code Here

TOP

Related Classes of com.sun.xml.ws.api.message.Packet

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.