XML Exchange Request File Format

Here is a sample request, as written to the file specified by the BIS_FILENAME environment variable. The request is transmitted in XML and is wrapped in the following top-level element:

<?xml version="1.0" encoding="UTF-8" ?> 
< bis:request xmlns:bis=http://www.xcentrisity.com/2003/bis/request >
    content, cookies, queryparams, server variables
</ bis:request >

The content , cookies , queryparams , server variables contains the four elements described in the following table:

< bis:content >
    payload data
</ bis:content >
Contains the content part of the request (such as form variables POSTed back to the server). This element will be empty if there is no content data in the request-as is typically true of the first (GET) request.
< bis:cookies >
  < bis:cookie name=name >
      cookie data
  < /bis:cookie >
  …
</ bis:cookies >
Contains an attributed <bis:cookie> element for each cookie that was transmitted with the request.
< bis:query-params >
  < bis:query-param name=name >
      parameter data
  </ bis:query-param >
  …
</ bis:query-params >
Contains an attributed <bis:query-param> element for each query parameter that was transmitted with the request.
< bis:server-variables >
  < bis:server-variable name=name >
      server variable data
  </ bis:server-variable >
  …
</ bis:server-variables >
Contains an attributed <bis:server-variable> element for each server variable associated with this request.

The content of a sample request file is below. Note that this is also visible in the trace output, if tracing is enabled. Also note that the <bis:content> section is application-dependent. This particular example is from the http://localhost/acubis10/samples/sample3 application with the following data entered into the form fields:

Element Attribute Value
numberOne   5
numberTwo   2
cookie BISKIT Vos9tBgZknXRMTyI4GaJKw

Because this is a web service sample, there are no form fields or query parameters to store into the <bis:content> and <bis:query-params> elements. However the cookies are stored as attributed elements into the <bis:cookies> section. Finally, all server variables are output into the <bis:server-variables> section (not depicted above). Using Xcentrisity XML Extensions and XSLT, the service program can selectively extract any or all of these elements and ignore elements that are not important to the application.

Here is the complete XML exchange file for this example. Note that the XML tags are indented to make the example easier to read.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<bis:request xmlns:bis="http://www.xcentrisity.com/2003/bis/request">
  <bis:content>
    <SOAP-ENV:Envelope
      xmlns=""
      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:s="http://www.w3.org/2001/XMLSchema"
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:tns="http://tempuri.org/bis/samples/Calculator/"
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <SOAP-ENV:Body>
        <Add xmlns="http://tempuri.org/bis/samples/Calculator/">
          <A>5</A>
          <B>2</B>
        </Add>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
  </bis:content>
  <bis:cookies>
    <bis:cookie name="cookies">true</bis:cookie>
    <bis:cookie name="BISKIT">Vos9tBgZknXRMTyI4GaJKw</bis:cookie>
  </bis:cookies>
  <bis:query-params/>
  <bis:server-variables>
    <bis:server-variable name="BIS_ROOT_PATH">
/acubis10/samples
    </bis:server-variable>
    <bis:server-variable name="HTTP_ACCEPT">*/*</bis:server-variable>
    <bis:server-variable name="HTTP_ACCEPT_LANGUAGE">
en-us
    </bis:server-variable>
    <bis:server-variable name="HTTP_REFERER">
http://tex-mikes-centos54/acubis10/samples/sample3/
    </bis:server-variable>
    <bis:server-variable name="HTTP_SOAPACTION">
"http://tempuri.org/bis/samples/action/Calculator.Add"
    </bis:server-variable>
    <bis:server-variable name="CONTENT_TYPE">
text/xml; charset="UTF-8"
    </bis:server-variable>
    <bis:server-variable name="HTTP_ACCEPT_ENCODING">
gzip, deflate
    </bis:server-variable>
    <bis:server-variable name="HTTP_USER_AGENT">
 Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; Trident/4.0; GTB6.5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; InfoPath.2; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 1.1.4322; MS-RTC EA 2; MS-RTC LM 8; .NET CLR 3.0.30729)
    </bis:server-variable>
    <bis:server-variable name="HTTP_HOST">
tex-mikes-centos54
    </bis:server-variable>
    <bis:server-variable name="CONTENT_LENGTH">613</bis:server-variable>
    <bis:server-variable name="HTTP_CONNECTION">
Keep-Alive
</bis:server-variable>
    <bis:server-variable name="HTTP_CACHE_CONTROL">
no-cache
    </bis:server-variable>
    <bis:server-variable name="HTTP_COOKIE">
cookies=true; BISKIT=Vos9tBgZknXRMTyI4GaJKw
    </bis:server-variable>
    <bis:server-variable name="PATH">
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    </bis:server-variable>
    <bis:server-variable name="SERVER_SIGNATURE"></bis:server-variable>
    <bis:server-variable name="SERVER_SOFTWARE">
Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8l
    </bis:server-variable>
    <bis:server-variable name="SERVER_NAME">
tex-mikes-centos54
    </bis:server-variable>
    <bis:server-variable name="SERVER_ADDR">10.64.26.41</bis:server-variable>
    <bis:server-variable name="SERVER_PORT">80</bis:server-variable>
    <bis:server-variable name="REMOTE_ADDR">10.64.26.22</bis:server-variable>
    <bis:server-variable name="DOCUMENT_ROOT">
/usr/local/apache22/htdocs
    </bis:server-variable>
    <bis:server-variable name="SERVER_ADMIN">
michael.schultz@microfocus.com
    </bis:server-variable>
    <bis:server-variable name="SCRIPT_FILENAME">
/var/local/acubis10/samples/sample3/calculator.srf
    </bis:server-variable>
    <bis:server-variable name="REMOTE_PORT">63994</bis:server-variable>
    <bis:server-variable name="GATEWAY_INTERFACE">CGI/1.1</bis:server-variable>
    <bis:server-variable name="SERVER_PROTOCOL">HTTP/1.1</bis:server-variable>
    <bis:server-variable name="REQUEST_METHOD">POST</bis:server-variable>
    <bis:server-variable name="QUERY_STRING"></bis:server-variable>
    <bis:server-variable name="REQUEST_URI">
/acubis10/samples/sample3/calculator.srf
    </bis:server-variable>
    <bis:server-variable name="SCRIPT_NAME">
/acubis10/samples/sample3/calculator.srf
    </bis:server-variable>
    <bis:server-variable name="HTTP_URL">
/acubis10/samples/sample3/calculator.srf
    </bis:server-variable>
  </bis:server-variables>
</bis:request>