/** * Handles a request message. * Gets name of the web-service operation and calls the * authorization check. */ public void invoke(MessageContext msgContext) throws AxisFault { // Find out which web-service operation has been called. // This allows the authorization to discrimination between operations. OperationDesc operation = msgContext.getOperation(); if (operation == null) { log.info("Axis cannot tell the web-service operation."); } else { this.checkAuthorization(operation); } }
/** * Check if the handler parameter provide a list of operation Names * that are free to access * * @param pMessageContext current context * @return false, if the current opration name is part of the list stored as handler parameter 'unsecuredMessages', otherwise true */ private boolean isSecured(MessageContext pMessageContext) { // get table of option Hashtable lTable = this.getOptions(); if (lTable == null || lTable.size() == 0) { return true; // no operation is unsafe } String lUnsecuredMessages = (String) lTable.get("unsecuredMessages"); if (lUnsecuredMessages == null || lUnsecuredMessages.equals("")) { return true; // no operation is unsafe } // get name of current operation String lOpName = pMessageContext.getOperation().getName(); // get array of operations that are free for any user String[] msg = lUnsecuredMessages.split(","); // check, if the current operation is declared as unseafe Arrays.sort(msg); int i = Arrays.binarySearch(msg, lOpName.trim()); return i < 0; }
protected void setOperationStyle(final MessageContext msgContext) { final OperationDesc operation = msgContext.getOperation(); if (operation == null || operation.getMessageOperationStyle() > -1) { return; } int methodType = operation.getMessageOperationStyle(); final String methodSignature = operation.getMethod().toString().toLowerCase(); if (methodSignature.indexOf(ProcessMsgProvider.METHOD_BODYARRAY) != -1) { methodType = OperationDesc.MSG_METHOD_BODYARRAY; } else if (methodSignature.indexOf(ProcessMsgProvider.METHOD_ELEMENTARRAY) != -1) { methodType = OperationDesc.MSG_METHOD_ELEMENTARRAY; } else if (methodSignature.indexOf(ProcessMsgProvider.METHOD_DOCUMENT) != -1) { methodType = OperationDesc.MSG_METHOD_DOCUMENT; } else { methodType = OperationDesc.MSG_METHOD_SOAPENVELOPE; } operation.setMessageOperationStyle(methodType); }
private QName getFaultQName(Class cls, SerializationContext context) { QName qname = null; if (! cls.equals(AxisFault.class)) { FaultDesc faultDesc = null; if (context.getMessageContext() != null) { OperationDesc op = context.getMessageContext().getOperation(); if (op != null) { faultDesc = op.getFaultByClass(cls); } } if (faultDesc != null) { qname = faultDesc.getQName(); } } return qname; }
private QName getFaultQName(Class cls, SerializationContext context) { QName qname = null; if (! cls.equals(AxisFault.class)) { FaultDesc faultDesc = null; if (context.getMessageContext() != null) { OperationDesc op = context.getMessageContext().getOperation(); if (op != null) { faultDesc = op.getFaultByClass(cls); } } if (faultDesc != null) { qname = faultDesc.getQName(); } } return qname; }
private QName getFaultQName(Class cls, SerializationContext context) { QName qname = null; if (! cls.equals(AxisFault.class)) { FaultDesc faultDesc = null; if (context.getMessageContext() != null) { OperationDesc op = context.getMessageContext().getOperation(); if (op != null) { faultDesc = op.getFaultByClass(cls); } } if (faultDesc != null) { qname = faultDesc.getQName(); } } return qname; }
protected RPCElement getBody(SOAPEnvelope reqEnv, MessageContext msgContext) throws Exception { SOAPService service = msgContext.getService(); ServiceDesc serviceDesc = service.getServiceDescription(); OperationDesc operation = msgContext.getOperation(); Vector bodies = reqEnv.getBodyElements(); if (log.isDebugEnabled()) {
protected RPCElement getBody(SOAPEnvelope reqEnv, MessageContext msgContext) throws Exception { SOAPService service = msgContext.getService(); ServiceDesc serviceDesc = service.getServiceDescription(); OperationDesc operation = msgContext.getOperation(); Vector bodies = reqEnv.getBodyElements(); if (log.isDebugEnabled()) {
protected RPCElement getBody(SOAPEnvelope reqEnv, MessageContext msgContext) throws Exception { SOAPService service = msgContext.getService(); ServiceDesc serviceDesc = service.getServiceDescription(); OperationDesc operation = msgContext.getOperation(); Vector bodies = reqEnv.getBodyElements(); if (log.isDebugEnabled()) {
if (itemQName == null) { MessageContext mc = context.getMessageContext(); if (mc != null && mc.getOperation() != null && mc.getOperation().getStyle() == Style.DOCUMENT) { itemQName = Constants.QNAME_LITERAL_ITEM;
if (itemQName == null) { MessageContext mc = context.getMessageContext(); if (mc != null && mc.getOperation() != null && mc.getOperation().getStyle() == Style.DOCUMENT) { itemQName = Constants.QNAME_LITERAL_ITEM;
OperationDesc saveOp = msgContext.getOperation();
if (itemQName == null) { MessageContext mc = context.getMessageContext(); if (mc != null && mc.getOperation() != null && mc.getOperation().getStyle() == Style.DOCUMENT) { itemQName = Constants.QNAME_LITERAL_ITEM;
OperationDesc saveOp = msgContext.getOperation();
OperationDesc saveOp = msgContext.getOperation();
OperationDesc operation = msgContext.getOperation(); if (operation == null) { QName qname = new QName(body.getNamespaceURI(),
OperationDesc operation = msgContext.getOperation(); if (operation == null) { QName qname = new QName(body.getNamespaceURI(),
OperationDesc operation = msgContext.getOperation(); if (operation == null) { QName qname = new QName(body.getNamespaceURI(),
OperationDesc operation = msgContext.getOperation(); if (operation != null) { if (operation.getUse() != Use.ENCODED) {
OperationDesc operation = msgContext.getOperation(); if (operation != null) { if (operation.getUse() != Use.ENCODED) {