Forum Discussion

dlumpkin's avatar
dlumpkin
New Contributor
9 years ago

Default headers for all resources

Is there any way in ReadAPI 1.5 and SoapUI NG to create a default header that will be used across all resources? We have a standard set of headers (such as X-Requested-By) that need to be included with every request.

 

Right now I am defining these headers on each resource, but it would be helpful if I could define these at a higher level (perhaps on the service, environment, or project?)

  • You can use Events - Before run of a test step.
  • Thanks, I ended up creating a RequestFilter.filterRequest event handler with a script like the following:

     

    def headers = request.requestHeaders
    headers["X-Requested-By"] = ["test"] request.requestHeaders = headers

     

    Update: Be careful to set headers to a new List rather than using the add method because this actually modifies the request definition rather than the outgoing request instance. The add method will keep adding a new copy of the header on every run

  • nmrao's avatar
    nmrao
    Champion Level 3
    You can use Events - Before run of a test step.
    • dlumpkin's avatar
      dlumpkin
      New Contributor

      Thanks, I ended up creating a RequestFilter.filterRequest event handler with a script like the following:

       

      def headers = request.requestHeaders
      headers["X-Requested-By"] = ["test"] request.requestHeaders = headers

       

      Update: Be careful to set headers to a new List rather than using the add method because this actually modifies the request definition rather than the outgoing request instance. The add method will keep adding a new copy of the header on every run

      • sudhagowri's avatar
        sudhagowri
        Occasional Contributor

        Hi,

         

        Im new to SOAP UI and i came across this post and used RequestFilter.filterRequest to be used as a global header. However, as mentioned in the post below "add method will keep adding a new copy of the header on every run" - as seen in the image attached every time i run the the TestCase 1 test suite, the "Headers(4)" tab increments by 2 as there are 2 headers. After i run the TestCase many times, the test steps dont run any more as the Header are keep on adding on top.

         

        May i know how can i set the header as global but not get incremented everytinme i run the test case?

         

        Thanks for helping,

        Sudha