Saturday, November 17, 2007

BSP call : type of termination: RABAX_STATE

If you are getting the following error when calling Web Interface Applications created by BPS_WB TCODE in SEM System;


500 SAP Internal Server Error
Error message: An exception that could not be caught occurred.
( type of termination: RABAX_STATE )


Then you've some configuration problem which is easy to solve.


When you checked the ST22 ABAP Dump logs you sould find the following Dump:


Runtime Errors UNCAUGHT_EXCEPTION
Exception CX_BSP_HOST_NOT_QUALIFIED
Occurred on 09.12.2004 at 16:27:41


An exception that could not be caught occurred.


What happened?


The exception 'CX_BSP_HOST_NOT_QUALIFIED' was raised but was not caught at any stage in the call hierarchy.

Since exceptions represent error situations, and since the system could
not react adequately to this error, the current program, 'CL_BSP_RUNTIME================CP ', had to be terminated.


In this case you have to check your ICM Server setting icm/host_name_full. This parameter must show the fully qualified domain name of your machine.


like: .


You can change this parameter by adding it into Instance Profile of your SAP System (__) via RZ10 TCODE.


If your system is not connected via Domain or not within a domain, you must do the following TRICK.


1. Open your servers hosts file (UNIX: /etc/hosts, Windows:C:>WINNTsystem32driversetchosts).


2. Add the following line.


.


e.g.


10.0.0.1 saptest1


10.0.0.1 saptest1.domain


3. Change the icm/host_name_full profile value within Instance profile


4. Restart your SAP R/3 server (only R3 with stopsap__ r3)


5. Try your BSP Application.


6. It works ha?



The following Article published in SDN by Brian McKellar on Sep. 25, 2003 04:11 PM

image

In synchronized translation: “BSP Exception: The URL does not contain a full domain specification (ls0028 instead of ls0028.wdf.sap-ag.de).”

Lovingly, this is referred to as the “Fully Qualified Domain Name” problem. FQDN requires that the hostname must be specified with a complete domain name when addressing the server.

For example:

image

Usually only the host name in the URL is required for the browser to determine the IP address to use. In the above example, ls0028 can easily be resolved to the correct IP address without the requirement of a domain name. See:

image

In the first instance, the hostname part of the URL is only for the browser to find a route to the Web server. Once on the Web server, the rest of the path starting at / is used to resolve the specific page to view.

So why would BSP require an FQDN and other services would not?

Motivation for FQDN

The first interesting aspect to understand is that the host name in the URL is effectively a routing string, which tells the browser how to reach the target. A typical situation is that a host might have an intranet name (example ls0028.wdf.sap-ag.de) that is totally different from the Internet name (example bsp.sap.corp - name changed to protect the innocent:). The name entered in the URL is important for the SAP Web AS, as this tells us the route that was followed to the server.

This host name is always placed into the HTTP header (header field “Host:”). The information is available on the server as to what the browser thinks the correct name is.

There are three big reasons why the browser must access the Web AS with FQDN.

  • Use of HTTPS protocol. The SSL protocol requires that the server and browser names match the names in the certificates (if used).
  • When setting cookies for a specific domain, it’s important to know the domain the browser requires for the cookie, so that the cookie will always be returned to the server. A typical example is the SSO2 cookie used for Single Sign-On over multiple servers.
  • For Java Script calls to work over different frames (from different hosts in the same domain), each frame must relax its document domain. Typically the hostname is stripped, and the domain is set to the FQDN. For this to work, the browser must already know the FQDN for the document that it’s retrieving. This information cannot be set from the server and must be correct from the beginning of the request.

Especially for the domain relaxation aspect, the BSP runtime cannot know beforehand if this will be used for the application. If FQDN is not enforced, it just opens the potential for many other types of more difficult-to-diagnose problems.

ICM Configuration

Usually, FQDN and its use are a browser-related problem. The URL is entered at the browser and should be correct.

However, there are many cases where a URL is created at the server. One typical example is when a BSP application is tested in the SE80. A browser window is opened with the URL to test. In this case of course, the URL must also be a FQDN!

Usually the ICM picks up the correct domain for the server from a Domain Name Server (DNS). However, there are many cases where this does not work accurately. For them, ICM supports a profile parameter icm/host_name_full. We recommend you configure this parameter at all times. This is the hostname that will be used to build fully qualified URLs.

References

ICM Configuration. Specifically icm/host_name_full.

For domain settings see OSS/CSN Note 434918.

No comments:

Blog Archive