当前位置: 首页>>代码示例>>Java>>正文


Java AddressingUtils.getAction方法代码示例

本文整理汇总了Java中com.sun.xml.internal.ws.api.message.AddressingUtils.getAction方法的典型用法代码示例。如果您正苦于以下问题:Java AddressingUtils.getAction方法的具体用法?Java AddressingUtils.getAction怎么用?Java AddressingUtils.getAction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.sun.xml.internal.ws.api.message.AddressingUtils的用法示例。


在下文中一共展示了AddressingUtils.getAction方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: isAddressingEngagedOrRequired

import com.sun.xml.internal.ws.api.message.AddressingUtils; //导入方法依赖的package包/类
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;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:22,代码来源:WsaTube.java

示例2: validateAction

import com.sun.xml.internal.ws.api.message.AddressingUtils; //导入方法依赖的package包/类
@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);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:20,代码来源:WsaClientTube.java

示例3: checkMandatoryHeaders

import com.sun.xml.internal.ws.api.message.AddressingUtils; //导入方法依赖的package包/类
@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);
            }
        }
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:26,代码来源:MemberSubmissionWsaClientTube.java

示例4: checkMandatoryHeaders

import com.sun.xml.internal.ws.api.message.AddressingUtils; //导入方法依赖的package包/类
@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 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);
        }
    }

}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:19,代码来源:W3CWsaClientTube.java

示例5: dumpParam

import com.sun.xml.internal.ws.api.message.AddressingUtils; //导入方法依赖的package包/类
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);
      }
    }
  }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:24,代码来源:DispatchImpl.java

示例6: dumpFiberContext

import com.sun.xml.internal.ws.api.message.AddressingUtils; //导入方法依赖的package包/类
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});
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:36,代码来源:Fiber.java

示例7: validateSOAPAction

import com.sun.xml.internal.ws.api.message.AddressingUtils; //导入方法依赖的package包/类
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);
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:11,代码来源:WsaTube.java

示例8: validateAction

import com.sun.xml.internal.ws.api.message.AddressingUtils; //导入方法依赖的package包/类
@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);
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:29,代码来源:WsaServerTube.java

示例9: getWSDLOperationMapping

import com.sun.xml.internal.ws.api.message.AddressingUtils; //导入方法依赖的package包/类
public WSDLOperationMapping getWSDLOperationMapping(Packet request) throws DispatchException {
    MessageHeaders hl = request.getMessage().getHeaders();
    String action = AddressingUtils.getAction(hl, av, binding.getSOAPVersion());

    if (action == null)
        // Addressing is not enagaged, return null to use other ways to dispatch.
        return null;

    Message message = request.getMessage();
    QName payloadName;
    String localPart = message.getPayloadLocalPart();
    if (localPart == null) {
        payloadName = EMPTY_PAYLOAD;
    } else {
        String nsUri = message.getPayloadNamespaceURI();
        if (nsUri == null)
            nsUri = EMPTY_PAYLOAD_NSURI;
        payloadName = new QName(nsUri, localPart);
    }

    WSDLOperationMapping opMapping = uniqueOpSignatureMap.get(new ActionBasedOperationSignature(action, payloadName));
    if (opMapping != null)
        return opMapping;

    //Seems like in Wstrust STS wsdls, the payload does not match what is specified in the wsdl leading to incorrect
    //  wsdl operation resolution. Use just wsa:Action to dispatch as a last resort.
    //try just with wsa:Action
    opMapping = actionMap.get(action);
    if (opMapping != null)
        return opMapping;

    // invalid action header
    Message result = Messages.create(action, av, binding.getSOAPVersion());

    throw new DispatchException(result);

}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:38,代码来源:ActionBasedOperationFinder.java

示例10: getFaultAction

import com.sun.xml.internal.ws.api.message.AddressingUtils; //导入方法依赖的package包/类
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);
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:48,代码来源:WsaTubeHelper.java


注:本文中的com.sun.xml.internal.ws.api.message.AddressingUtils.getAction方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。