Wednesday, July 8, 2009

HTTP ERRORS

1) Error: HTP 200 OK
Description: The request has succeeded. The information returned with the response is dependent on the method used in the request GET an entity corresponding to the requested resource is sent in the response; HEAD the entity-header fields corresponding to the requested resource are sent in the response without any message-body; POST an entity describing or containing the result of the action; TRACE an entity containing the request message as received by the end server.
Possible Tips: Have a look into SAP Note: 871959

2) Error: HTTP 400- Bad Request- ICM_HTTP_CONNECTION_FAILED
Description: The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.
Possible Tips: May be because of huge message flow. Related SAP Notes-824554, 906435, 783515, 910649, 706563 If it is because of Queue problems have a look into SMQ2 and then go thru this blog- How to Re-Process failed XI Messages Automatically

3) Error: HTTP_RESP_STATUS_CODE_NOT_OK 401 Unauthorized
Description: The request requires user authentication
Possible Tips:
• Check XIAPPLUSER is having this Role -SAP_XI_APPL_SERV_USER
• If the error is in XI Adapter, then your port entry should J2EE port 5<System no>
• If the error is in Adapter Engine
–then have a look into SAP note- 821026, Delete the Adapter Engine cache in transaction SXI_CACHE Goto --> Cache.
• May be wrong password for user XIISUSER
• May be wrong password for user XIAFUSER
– for this Check the Exchange Profile and transaction SU01, try to reset the password -Restart the J2EE Engine to activate changes in the Exchange Profile After doing this, you can restart the message

4) Error: HTTP 403 Forbidden
Description: The server understood the request, but is refusing to fulfill it
Possible Tips:
Path sap/xi/engine not active
• HTTP 403 during cache refresh of the adapter framework - Refer SAP Note -751856
• Because of Inactive Services in ICF –Go to SICF transaction and activate the services. Refer SAP Note -517484
• Error in RWB/Message Monitoring- because of J2EE roles – Refer SAP Note -796726
• Error in SOAP Adapter - "403 Forbidden" from the adapter's servlet. –Because of the URL is incorrect or the adapter is not correctly deployed.

5) Error: 404 Not Found
Description: The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.
Possible Tips:- for HTTP_RESP_STATUS_CODE_NOT_OK 404
• 404 is an HTTP response code that indicates that the resource in question couldn't be found. Usually this is due to an incorrect URL, so it is better to cross check all URLs. Check pipeline URL in the SLD in the business system of the Integration Server For this go to SLD->Business System-><yourIntegrtaion Server>->Pipeline URL: It should be like this http://<host>:<port>/sap/xi/engine?type=entry Where host is the host name of the Integration Server and port is the HTTP(8xxx) port. To verify this in Integration Server you can do like this. Go to SXMB_ADM->Integration Engine Configuration->Choose Edit from Menu -> Change Global Configuration Data to switch to change mode. Then select System Landscape - Load Configuration. (This is not required always)
• Check that the port really is the ICM HTTP Port and not the J2EE port i.e SMICM then menu GOTO --> SERVICES and check the port number for HTTP. It should be HTTP port
• If the error is Page cannot be displayed, cannot find server in https configurations Check and correct the SSL configuration for the ABAP and the J2EE side of the system
• If the error is because of integration server when using Proxy communications then check these. i.e SXMB_ADM->Integration Engine Configuration->Corresponding Integration Server enrty should be dest://<Http Integration server-Destination> Where < Http Integration server -Destination > is the RFC destination (SM59) of type HTTP connection (type H) to the Integration Server. In this case, host name, port, and path prefix are saved in the RFC destination.

6)Error: 405 Method Not Allowed
Description:The method specified in the Request-Line is not allowed for the resource identified by the Request-URI
Possible Tips: ICM_HTTP_INTERNAL_ERROR - Refer SAP Note 906435

7) Error: 500 Internal Server Errors
Description: The server encountered an unexpected condition which prevented it from fulfilling the request.
Possible Tips: Have a look into SAP Notes – 804124, 807000

8) Error: The error message 503 Service unavailable Application stopped! is displayed.
Description:The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response.
Note: The existence of the 503 status code does not imply that a server must use it when becoming overloaded. Some servers may wish to simply refuse the connection.

Possible Tips: Because of J2EE application com.sap.aii.af.ms.app not active
• Try to (re)start the application using the Visual Administrator Choose Server --> Services --> Deploy --> View on Application or restart the J2EE engine
• The problem is that not all J2EE services can be started by the J2EE. i.e Start the Visual Administrator and select Server->Services->Deploy in the tree on the left. On the right-hand side, choose the Runtime tab page. You see a tree in the right window with all applications if you select the APPLICATION radio button. Check if they are running, otherwise choose Start. Usually the J2EE engine starts all services automatically.
• Refer SAP Note 803145,807000,791655

Tuesday, July 7, 2009

Configuring the CCMS Alert Monitor

Use
For PI, the Computing Center Management System (CCMS) provides a
special alert monitor template called Exchange Infrastructure.

You use this alert monitor to monitor the ABAP and Java
components (including the Business Process Engine) of your
process integration landscape centrally, and to identify
different categories of system errors and application errors in
the various interfaces and interface namespaces of the
components involved.

Besides the information on the monitored components, the alert
monitor also provides information on the qRFC queues and alert
categories relevant for PI, as well as on adapter-specific
errors.

Creating a System Group
you have to define the system group
ExchangeInfrastructure_Systems to obtain monitoring information
when you call the CCMS alert monitor Exchange Infrastructure
from the SAP CCMS Monitor Templates within transaction RZ20.

The definition of the Exchange Infrastructure monitor includes a
rule for the uppermost node of the monitor tree. This rule
determines the systems of system group
ExchangeInfrastructure_Systems that are to be displayed.

This system group must be created and contained in the system
from which all systems of your PI landscape are to be centrally
monitored, that is, in the central monitoring server.

The system group is maintained with transaction RZ21. Two steps
are required:

1. Choose Create remote monitoring entry from the
Technical infrastructure menu and maintain all systems of your PI landscape.

2. Choose Maintain system groups from the Technical infrastructure menu and define the system group ExchangeInfrastructure_Systems consisting of the remote systems
created before.

If the local system in which you configure your monitor is part of this group, you can include it in the group by specifying its
system ID. You do not need any remote monitoring for this system.

Enabling Performance Alerts for Specific Sender-Receiver Combinations
Perform the following steps if you want to create performance-related alerts for specific sender-receiver combinations and display these alerts in the CCMS alert
monitor:

1. Use the table maintenance transaction SM30 to
maintain appropriate logical sender-receiver assignments in table ALXMBPFALERT.

2. Specify threshold values for the triggering of alerts for each of these assignments.

Configuring the CCMS Heartbeat Monitor for Java Components perform the following steps if you have installed a PI Java component, for example an Adapter Engine and you want to monitor its heartbeat in the PI monitor of CCMS. The heartbeat will be implemented based on the GRMG framework of CCMS.


1. Define a CRMG scenario for the Java component to be monitored.

Any Java component to be monitored has to be defined as a GRMG scenario. You do this by writing a corresponding XML specification and importing it with transaction GRMG.

A template for such a CRMG customizing file is provided with SAP Note 634771. Use this template and refer to this note for more information.

When writing your XML:

  1. Note that it is always the text between the desc tags that appears in the CCMS user interface.

    Ensure that you fill in the other tags as well (just like in the example), since the GRMG framework needs all these entries.

    2) Call transaction GRMG to upload your XML document once you have finished and saved your XML specification.

    For a better display in the alert monitor, we recommend that you do this in the system that belongs to the Integration Server.
    However, you can also do it in the central monitoring system. In this case, you have to add this system to the system group
    ExchangeInfrastructure_Systems.

    3. Log on to the central server of the system to which you have uploaded your XML documents (the server that hosts the enqueue service).

    4. Call transaction GRMG to start the scenarios.

    Also use transaction GRMG if you want to stop the CCMS heartbeat monitor configured for a particular Java component while keeping
    other heartbeat monitors.

    For more information about GRMG, see Activating and Customizing Monitoring with the GRMG.

    Configuring CCMS Alerts for the Adapter Engine If processing of a message on the Adapter Engine fails; the message state is changed to faulty. To notify administrators
    immediately of such processing failures, they can be propagated as alerts to CCMS. As CCMS is the SAP standard interface to third-party monitoring tools, these failure events may also become visible in non-SAP monitoring tools.

    Configuration Steps


    To make use of Adapter Engine alerts, you must configure the
    connection to CCMS as follows:

    1. Make sure that the J2EE engine on which the
    Adapter Engine is running is configured to be monitored by the central CCMS system.

    To do so, execute transaction RZ20 on your central monitor server. There, the J2EE engine should be visible in the CCMS monitor under SAP J2EE Monitor Templates -All Systems. If not, follow the steps described in Chapter 4.2 of the Supportability Setup Guide for SAP NetWeaver 04 on SAP Service Marketplace at
    service.sap.com/nw04operation - Cross-NW.

    2. Check whether the Adapter Engine is configured to report errors to CCMS.

    To do so, start the VA/NWA and select service SAP XI AF Core. The value of property CCMS Enabled must be set to true (in lower case letters). If it is not, change the property value to true and restart the service.

    To verify that the setting is effective, select the VA/NWA Monitoring service. Under Root – Applications, you should see a node for the Adapter Engine.

    Alerting


    Once you have performed the configuration steps in the previous section, errors that occur during message processing in the Adapter Engine should show up in both the Visual Administrator of the J2EE engine on which the Adapter Engine runs, and transaction RZ20 on the central monitor server:

    Open the VA/NWA and select the Monitoring service.

    Here you should see that the number of errors of the appropriate error category and error code increases when messages fail on the Adapter Engine.

    Execute transaction RZ20 on the central monitor server and select the Exchange Infrastructure monitor.

    You should find a node for the Adapter Engine here and see the same error information as in the VA/NWA.


    Accuracy
    The default polling period for the monitor is 30 minutes. If you want to have shorter polling periods, you can change them in the
    VA/NWA as follows:

    1. Select the Monitoring service.

    2. Select an arbitrary Number of errors entries in the monitoring tree of the Adapter Engine (leaf node).

    3. Choose Configuration in the right-hand pane.

    4. Choose Edit in the dialog box that appears.

    5. Change the polling period to 5 minutes, for instance.

    6. Choose Save and wait until saving is finished (be patient, since this may take a while).

    7. Select the Configuration Adapter service.

    8. On the Display Configuration tab page, select apps -sap.com - com.sap.aii.af.app- Monitoring Configurator -monitor-configuration.xml.

    9. In the xml file, change the polled-by-template period to the same value as above, for example, 5 minutes.

    10. Choose OK to save the modified xml file.

    11. Restart the Monitoring service to apply the changes.

    Displaying XI Alerts in CCMS to display alerts from alert categories you defined for XI, you have to perform the following configuration steps:



    1. Call transaction RZ20.

    2. Choose Extras -Activate maintenance function to switch.

Monday, June 8, 2009

Configuration of Adobe Document Services


 

STEP 1: Installing a credential for Adobe Document Services


 

In order to work with Adobe Document Services you need to install a valid credential.


 

To install a credential perform following steps:

Extract the archive

Copy the file <filename>.pfx to the directory

<INST_DRIVE>:\usr\sap\J2E\SYS\global\AdobeDocumentServices\TrustManagerService\

trust\credentials


 

Register the password for credential as described below:

Log on to the Visual Administrator (<INST_DRIVE>:\usr\sap\J2E\JC00\j2ee\admin\go.bat)


 

On the Cluster tab, choose Server 0 -> Services -> Document Services Configuration

On the Runtime tab, select Credentials

Choose Browse to search for the name of the credential and then select

In the Alias field, enter the alias of the credential you installed, for example ReaderRights (Entries for the name of the credential are case-sensitive)

In Password field, enter the password you received together with the credential you installed (filename.txt in the archive). Confirm the password again and then click Add

Restart the following services for the changes to take effect: PDF Manipulation Module, Document Services Trust Manager. To perform this, right-click on the repective service choose Stop and after the service has stopped, Start it again

Restart also the application com.adobe/AdobeDocumentServices located at

Server 0 -> Services -> Deploy (radio button Application)


 

STEP 2: Creating a User in SAP Netweaver AS Java for Basic Authentication


 

Use

In some cases the user ADSUser was not created during installation. This user is required for the secure communication between the Web Dynpro application and the Java system where the Adobe document services are installed.

Creating the User ADSUser and Assigning the Security Role

1. Log on to the Visual Administrator.

2. On the Cluster tab, choose Server <x> → Services → Security Provider.

3. On the User Management tab, choose Create Group to create a group called ADSCallers, if the group does not exist. In the dialog that follows, enter the name and choose OK.

4. Choose Create User. The Create New User dialog box is displayed.

5. In the User name, Password, and Confirm password boxes, enter ADSUser for the user name and type a password.

6. Choose the Tree tab in the right panel. In the User Tree, select ADSCallers, and then choose OK.

7. On the Policy Configuration tab, in the Components area, select

com.adobe/AdobeDocumentServices*AdobeDocumentServicesAssembly.jar.

8. On the Security Roles tab, select ADSCaller from the Security Roles list


 

Note: The ADSCaller security role was created when your system was installed. You should not assign this security role to users other than the system user that you will use for accessing Adobe document services.

9. In the Mappings area, choose Add, which is assigned to Users. A dialog Choose Users or Groups is displayed.

10. Choose the Tree tab.

11. In the User Tree, under the ADSCallers group, select the ADSUser you just created and choose OK. This assigns the new user to the ADSCaller security role


 

Defining ADSUser as Technical User


 

To prevent, that the password for the ADSUser expires, do following:

1. Log on to the User Management of your AS Java:

http://<AS Java server> :< http port> → User Management

2. Display the user ADSUser.

3. Choose Modify.

4. In the Security policy field, change the setting from Default to Technical User

5. Save.


 


 

STEP 3: Setting Up Basic Authentication in a Java Environment

Use

This procedure applies for the scenario of interactive forms. Set up Basic Authentication to access the Java version of the PDF object. This procedure describes you the configuration steps and applies when the Adobe document services and the Web Dynpro runtime are installed on the same J2EE Engine. Then under Destination the URL is set to Default.

Prerequisites

The user ADSUser was created and configured during installation of Adobe document service.


 

Procedure

To set up Basic Authentication in a Java environment:

1. Log on to the Visual Administrator.

2. On the Cluster tab, choose Server <x> → Services → Web Services Security.

3. Choose Web Service Clients → sap.com > tc~wd~pdfobject → com.sap.tc.webdynpro.adsproxy.AdsProxy*ConfigPort_Document.

4. From the Authentication list, select BASIC.

5. In the User and Password boxes, enter as Username ADSUser and a Password.

6. Choose Save.

7. The authentication data must be activated. For doing this navigate to Services → Deploy

8. Choose the button Application.

9. Choose sap.com/tc~wd~pdfobject in the tree.

10. Choose Stop Application.

11. For restarting the application choose Start Application.


 

Note: If the Adobe document services and the Web Dynpro runtime environment are not installed on the same J2EE Engine, you have to configure a Custom URL.


 


 

How to Check if ADS is Configured


 

How to Check if ADS is Configured:


 

    Log on to the Visual Administrator

    (<INST_DRIVE>:\usr\sap\J2E\JC00\j2ee\admin\go.bat)


 

  • On the Cluster tab, choose Server 0 -> Services -> Document Services Configuration


     

  • On the Runtime tab see the Credential.


 

How to check if ADSUser was created:


 

Log on to the Visual Administrator.


 


  • On the Cluster tab, choose Server <x>

    Services

    Security Provider.


     

  • On the User Management tab, Please see for a group called ADSCallers, Check for the ADSUser in this group.


 


 

SDM Cannot Start J2EE Cluster

SDM Cannot Start J2EE Cluster

Problem

If you see one of the following messages in the SDM logs or in the SDM Remote GUI Client deployment result panel:

SDM could not start the J2EE cluster on the host HOST_NAME! The online deployment is terminated.
A timeout occurred during the cluster running verification!

or

SDM could not stop the J2EE cluster! The offline deployment is terminated.
com.sap.sdm.apiint.serverext.sdmprovided.JStartupControllerException: A timeout occurred during the cluster stopped verification!

or

SDM could not start the J2EE cluster on the host <host_name>! The online deployment is terminated.
A timeout occurred during the cluster running verification!

then this generally means that the SDM feature "automatic start/stop of SAP J2EE Engine" was enabled (since SP6 release this is the default SDM behavior) and a timeout occurred when SDM tried to start/stop the J2EE Engine.

Solution

The default timeout is 1800000 milliseconds(=30 minutes), so if the environment where the J2EE Engine is started or stopped has lower computing capabilities, then the process itself will be slower and the timeout should be increased.

Open command prompt in directory /usr/sap/<SID>/<INSTANCE_NAME >/SDM/program and execute:

sdm j2eeenginestartstop mode=automatic timeoutmillisec=<increased_timeout>

SDM cannot Connect to J2EE Engine

SDM cannot Connect to J2EE Engine

Problem

A frequent situation is when SDM is not able to connect to the J2EE Engine due to incorrect security credentials stored in the SecureStore FS.

Secure Store FS is the place where SDM gets security credentials for connecting to the J2EE Engine. The following error can be viewed in the SDM logs or the SDM Remote GUI Client deployment result panel:

ERROR: Cannot connect to Host: [HOST_NAME] with UserName:[USER_NAME]
Check your Login Info.
Exception is:
com.sap.engine.services.jndi.persistent.exceptions.NoPermissionException
Exception during getInitialContext operation
Wrong security principles/credentials

this means that administrator, user and/or password have been changed using the Visual Admin tool, but were not changed in the secure store.

Solution

You should start configtool.bat(.sh) located in /usr/sap/<SID>/<INSTANCE_NAME >/j2ee/configtool.

You can check in the Secure Store whether the user name and password are correct. (The password cannot be seen but you can overwrite it with the correct one.)

Another solution for this situation can be found in SAP Note 701654.

If the administrator user is locked and therefore you cannot connect with SDM nor in any other way (Visual Admin, Telnet, Web application), one possible solution is to unlock the administrator user using SAP Note 669848.

SDM Troubleshooting

SDM Server Fails to Start

Problem

If you try to start the SDM server and either:

...

It fails to start with exit code 8

  1. Text such as the following exists in SDM:

    SDM is currently detached from JStartupFramework. Forward this information to the JStartupFramework (disable SDM process).

This means that SDM is currently in what is called standalone mode.

Solution

To start it using the JStartupFramework, you should set it to integrated mode. Open the command prompt in directory /usr/sap/<SID>/<INSTANCE_NAME >/SDM/program and execute:

sdm jstartup mode=integrated

Note that depending on your command interpreter, the param name, equal sign and param value may be enclosed with quotation marks(").

After executing the command, try to start the SDM server again.