Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Create an application node using Transaction SICF

Former Member
0 Kudos

Hi experts,

I did the following steps on ECC 6.0:

1. Transaction RZ10, and change this parameters:

- icm/host_name_full = Restart the Server...

2. On Transaction SICF (Serviços ICM), activate the services:

- default_host/sap/bc/bsp/sap

- default_host/sap/bc/soap/rfc (user/password)

- default_host/sap/bc/soap/wsdl11 (user/password)

And when i tried to test on the browser i have this error:

BSP exception: Application sap/webservicebrowser cannot be started. Create an application node using Transaction SICF.

I create a sub-element on default_host/sap/bc/bsp/sap called ztest, and still have the error.

What should i do next.

Can you help on this problem?

Kind regards,

Nuno Silva

4 REPLIES 4

Former Member
0 Kudos

hi silva,'

Creating and Configuring an SICF Service

You need to link a HTTP request to an ICF service so that the HTTP request handler is called up in the browser when a URL is entered. Use transaction SICF to do this. You must first have implemented the class that represents the HTTP request handler. This class implements the interface IF_HTTP_EXTENSION. You have then implemented the method HANDLE_REQUEST().

Once you have performed these actions, you can link your HTTP request handler with an ICF service in transaction SICF. For more detailed information, see the section Creating a Service.

If required, you can use virtual hosts/servers. In Web server systems, virtual hosts allow a host to be accessible via various combinations of host names and ports. The host names here must be aliases. The computer then acts differently depending on the method of access; for example, it takes different locations in the file system as the root. For more detailed information, see the section Virtual Hosts.

If you want to use internal or external aliases, read the following detailed information about assigning aliases when implementing handlers:

Internal Aliases

External Aliases

You must first activate your service before you can call it from the browser. A service in the HTTP service tree can be active (black font) or inactive (gray font). A client (such as a Web browser) can only call active services. If you call an inactive service, you will see a message that access to this page is locked. For information about how to proceed, see Activating and Deactivating an ICF Service. You can now call your HTTP request handler by calling the corresponding URL.

SAP Web Application Server is running on the host saphost on port 8080.

In transaction SICF, you have created the service sap/bc/ping in the HTTP service tree, and entered your handler class CL_HTTP_MYHANDLER in the handler list (see Creating an HTTP Request Handler).

If you enter the URL http://saphost:8080/sap/bc/ping, the method handle_request(), which you created for your HTTP request handler, is called.

Public Services

Services are defined under the node Public. These services are mainly intended for test purposes. These services are different from other services in the tree in that although no user data is set for these services, they require no logon to the SAP System. All actions in these services are carried out under a standard system user. For this reason, you cannot create your own service under the node Public.

Options

Special services are located under the Options node. These services are for internal SAP use.

Creating a Service

Call transaction SICF. On the initial screen you can select from the services that already exist. The existing services are located under sap and are shipped by SAP.

We recommend that customers and partners with their own namespace create a top-level node with the same name as the namespace in the HTTP service tree, and create all services under this node.

To create your own service, position your cursor on the object in the tree that you want to be the parent of the new service. This can be an existing service or a Virtual Host. Choose Service / Virt. Host / Create service (or click on it with the right mouse button and choose New Subelement). In the following dialog box for your service or the alias for an existing service, enter a name and decide whether you want to create a service (Independent Service) or an internal alias (Alias for an existing service):

Note that the service name can have a maximum of 15 characters. Since services are transported, they are subject to the transport system’s restrictions.

If you choose Independent Service, the screen shown below appears. Enter the properties for this service (Service Data tab page) and enter the previously created HTTP request handler in the handler list (Handler List tab page). (Internal Aliases describes how you create an alias.)

You can create several HTTP request handlers for a single service. These are then called in the order you specify. The programmer can use return codes to control whether other handlers from the list should be called, and if so, which ones.

The following sections describe the properties you can define for a service:

· Anonymous Logon Data

· Service Options

· Security Requirements

· Basic Authentication

· Error Page

Activating and Deactivating an ICF Service

Use

A service in the HTTP service tree can be active (black font) or inactive (gray font). A client (such as a Web browser) can only call active services. If you call an inactive service, you will see a message that access to this page is locked.

All subnodes of an active service are similarly unavailable and are displayed in blue font. There is an example at the end of this section.

If you do not want a service to be accessed, you can deactivate this service without having to delete it.

Activated ICF services do not pose a security risk insofar that they can be access directly over the Internet via HTTP protocol. You should therefore ensure that access is restricted using appropriate methods, such as ensuring that the ICF service can be accessed only by users with appropriate authorization.

Note that all services delivered by SAP (such as the sap/bc/bsp service for executing BSP applications) are initially inactive. Similarly, each new service that you create is also inactive. Before you work with the ICF, you must first activate the services you require.

Procedure

To activate or deactivate a service, select the service and choose Service/Virt.Host ® Activate or Deactivate. You can also use the context menu (by clicking on the right mouse button).

If you want to reactivate an inactive service, you can either activate the service node that is selected only (pushbutton Yes) or the service node that is selected, including all of its subservices that were maintained in the SICF (pushbutton Yes with tree icon ).

Example

In this example, the services bc and bc/bsp/sap/public were deactivated. As a result, the services that were explicitly deactivated (gray) and all of their subservices (blue) are unavailable.

If you now reactivate the bc service, you can select whether you want to activate the service itself, or all inactive subservices as well. In the first case, bc/bsp/sap/public would still be inactive (and as a result, bc/bsp/sap/public/bc would also be unavailable); in the second case, all services would be available again.

Creating a HTTP Request Handler

To create a HTTP request, you must first create a class in the Class Builder in transaction SE24. This class represents the HTTP request handler You must then assign the interface IF_HTTP_EXTENSION to this new class.

Now you need to implement the method HANDLE_REQUEST() by double-clicking it.

To be able to access request and response data, use the interface IF_HTTP_SERVER as an argument of the method HANDLE_REQUEST(). If you want to process an incoming request in more detail, use the attributes FLOW_RC und LIFETIME_RC. These attributes are supported by the interface IF_HTTP_EXTENSION. You can use the method HANDLE_REQUEST() to fill the attributes with content.

Analyzing a Request

To enable you to react flexibly to a request, you have the option of analyzing form, header and body fields.

The following examples explain the various ways of accessing this information:

· Accessing Header Fields

· Accessing Form Fields (query strings)

· Accessing Cookies

· Accessing HTTP Body Data

· Accessing HTTP Multipart Data

· Stateless/Stateful States and Cookies

· Code Page in ICF with Programming Example

· Compression Techniques with Programming Example

reply me for any other queries

dont forget to reward me points

thanks

karthikeya

GrahamRobbo
Active Contributor
0 Kudos

Hi Nuno,

the ICF service for the Web Service Browser application is /sap/bc/bsp/sap/webservicebrowser not /sap/webservicebrowser.

So the full URL would be something like http://server_name.domain.pt/sap/bc/bsp/sap/webservicebrowser

Cheers

Graham Robbo

0 Kudos

Dear Nuno Solva

The behavior is due to note 1009764 which restricts the application name to a maximum of 15 characters. For solving this issue and avoiding such error in the future please implement the SAP note 1038797. Please see the note 1038797 and use the report 'BSP_UNLOCK_LONG_APP' to unlock the former BSP pages. Therefore you just have to execute the report in SE38 and enter the page name 'WebServiceBrowser'. After pressing F8 the page is unlocked again and should work in WebDocuments.

With Best Regards

Zahid hussain

patelyogesh
Active Contributor
0 Kudos

Please look to this link.

http://wiki.sdn.sap.com/wiki/display/PLM/BSP+exception+in+WebDocuments

this will help you.

Thanks

Yogesh