Interface ScriptMessageContext

All Superinterfaces:
org.apache.synapse.MessageContext
All Known Implementing Classes:
CommonScriptMessageContext, GraalVMJavaScriptMessageContext, NashornJavaScriptMessageContext, OpenJDKNashornJavaScriptMessageContext

public interface ScriptMessageContext extends org.apache.synapse.MessageContext
ScriptMessageContext decorates the MessageContext interface by adding methods to use when deals with message payload XML/Json, in a way natural to the scripting languages.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addHeader(boolean mustUnderstand, Object content)
    Add a new SOAP header to the message.
    Get the XML representation of the complete SOAP envelope.
    Get the Message Payload as a text.
    Get the JSON object representation of the JSON message body of the request.
    Get the Message Payload as a text.
    Get the XML representation of SOAP Body payload.
    jsonObject(org.apache.synapse.MessageContext messageContext)
    Get the JSON object representation of the JSON message body of the request.
    void
    Remove property from the message.
    void
    setFaultTo(String reference)
    This is used to set the value which specifies the receiver of the faults relating to the message.
    void
    setFrom(String reference)
    This is used to set the value which specifies the sender of the message.
    boolean
    setJsonObject(org.apache.synapse.MessageContext messageContext, Object jsonObject)
    Saves the JavaScript Object to the message context.
    boolean
    setJsonText(org.apache.synapse.MessageContext messageContext, Object jsonObject)
    Saves the JSON String to the message context.
    void
    setPayloadJSON(Object jsonPayload)
    Saves the payload of this message context as a JSON payload.
    void
    Set the SOAP body payload from XML.
    void
    setProperty(String key, Object value, String scope)
    Add a new property to the message.
    void
    setReplyTo(String reference)
    This is used to set the value which specifies the receiver of the replies to the message.
    void
    Set a script engine.
    void
    setTo(String reference)
    This is used to set the value which specifies the receiver of the message.

    Methods inherited from interface org.apache.synapse.MessageContext

    getConfiguration, getContextEntries, getContinuationStateStack, getDefaultConfiguration, getEndpoint, getEntry, getEnvelope, getEnvironment, getFaultSequence, getFaultStack, getFaultTo, getFormat, getFrom, getLocalEntry, getMainSequence, getMessageFlowTracingState, getMessageID, getMessageString, getProperty, getPropertyKeySet, getRelatesTo, getReplyTo, getSequence, getSequenceTemplate, getServiceLog, getSoapAction, getTo, getTracingState, getVariable, getVariableKeySet, getWSAAction, getWSAMessageID, isContinuationEnabled, isDoingGET, isDoingMTOM, isDoingPOX, isDoingSWA, isFaultResponse, isResponse, isSOAP11, pushContinuationState, pushFaultHandler, restoreContinuationStateStack, setConfiguration, setContextEntries, setContinuationEnabled, setDoingGET, setDoingMTOM, setDoingPOX, setDoingSWA, setEnvelope, setEnvironment, setFaultResponse, setFaultTo, setFrom, setMessageFlowTracingState, setMessageID, setProperty, setRelatesTo, setReplyTo, setResponse, setSoapAction, setTo, setTracingState, setVariable, setWSAAction, setWSAMessageID
  • Method Details

    • getPayloadXML

      Object getPayloadXML() throws ScriptException
      Get the XML representation of SOAP Body payload. The payload is the first element inside the SOAP tags.
      Returns:
      the XML SOAP Body
      Throws:
      ScriptException - in-case of an error in getting the XML representation of SOAP Body payload
    • setPayloadXML

      void setPayloadXML(Object payload) throws org.apache.axiom.om.OMException, ScriptException
      Set the SOAP body payload from XML.
      Parameters:
      payload - Message payload
      Throws:
      ScriptException - For errors in converting xml To OM
      org.apache.axiom.om.OMException - For errors in OM manipulation
    • getPayloadJSON

      Object getPayloadJSON()
      Get the JSON object representation of the JSON message body of the request.
      Returns:
      JSON object of the message body
    • getJsonText

      Object getJsonText()
      Get the Message Payload as a text.
      Returns:
      Payload as text
    • getPayloadText

      String getPayloadText()
      Get the Message Payload as a text.
      Returns:
      Payload as text
    • setJsonObject

      boolean setJsonObject(org.apache.synapse.MessageContext messageContext, Object jsonObject)
      Saves the JavaScript Object to the message context.
      Parameters:
      messageContext - The message context of the sequence
      jsonObject - JavaScript Object which is passed to be saved in message context
      Returns:
      true
    • setJsonText

      boolean setJsonText(org.apache.synapse.MessageContext messageContext, Object jsonObject)
      Saves the JSON String to the message context.
      Parameters:
      messageContext - The message context of the sequence
      jsonObject - JavaScript string which is passed to be saved in message context
      Returns:
      false if messageContext is null return true otherwise
    • jsonObject

      Object jsonObject(org.apache.synapse.MessageContext messageContext)
      Get the JSON object representation of the JSON message body of the request.
      Returns:
      JSON object of the message body
    • setScriptEngine

      void setScriptEngine(ScriptEngine scriptEngine)
      Set a script engine.
      Parameters:
      scriptEngine - a ScriptEngine instance
    • addHeader

      void addHeader(boolean mustUnderstand, Object content) throws ScriptException
      Add a new SOAP header to the message.
      Parameters:
      mustUnderstand - the value for the soapenv:mustUnderstand attribute
      content - the XML for the new header
      Throws:
      ScriptException - if an error occurs when converting the XML to OM
    • getEnvelopeXML

      Object getEnvelopeXML() throws ScriptException
      Get the XML representation of the complete SOAP envelope.
      Returns:
      return an object that represents the payload in the current scripting language
      Throws:
      ScriptException - in-case of an error in getting the XML representation of SOAP envelope
    • setTo

      void setTo(String reference)
      This is used to set the value which specifies the receiver of the message.
      Parameters:
      reference - specifies the receiver of the message
    • setFaultTo

      void setFaultTo(String reference)
      This is used to set the value which specifies the receiver of the faults relating to the message.
      Parameters:
      reference - specifies the specifies the receiver of the faults relating to the message
    • setFrom

      void setFrom(String reference)
      This is used to set the value which specifies the sender of the message.
      Parameters:
      reference - specifies the sender of the message
    • setReplyTo

      void setReplyTo(String reference)
      This is used to set the value which specifies the receiver of the replies to the message.
      Parameters:
      reference - specifies the receiver of the replies to the message
    • setProperty

      void setProperty(String key, Object value, String scope)
      Add a new property to the message.
      Parameters:
      key - unique identifier of property
      value - value of property
      scope - scope of the property
    • removeProperty

      void removeProperty(String key, String scope)
      Remove property from the message.
      Parameters:
      key - unique identifier of property
      scope - scope of the property
    • setPayloadJSON

      void setPayloadJSON(Object jsonPayload) throws ScriptException
      Saves the payload of this message context as a JSON payload.
      Parameters:
      jsonPayload - Javascript native object to be set as the message body
      Throws:
      ScriptException - in case of creating a JSON object out of the javascript native object.