Skip to Content
Author's profile photo Former Member

Activating ICT_SERVICE_DESK_API in 7.1

Short blog on configuring ICT_SERVICE_DESK_API in 7.1 from activating up to short test on SOAPUI.

Some copying and pasting from documentation but this is doc I wish I had before I started looking into it.

Setup Webservice API in Solution Manager.

/wp-content/uploads/2013/03/1_spro_193338.png

1- Assign Roles to the Technical User

Use

This IMG activity creates a technical user with restricted authorization, that is used when an external service desk system calls the SAP Solution Manager Service Desk.

Activities

Create user

  1. Enter a user name
  2. Choose the user type System.
  3. Save.

Assign role to a user

If the external service desk system is also a SAP Solution Manager system, assign the following roles to the technical user:

SAP_SUPPDESK_ADMIN

SAP_SUPPDESK_INTERFACE

2     Activate Service

Activities

  1. Enter the service name ICT_SERVICE_DESK_API, and choose Execute.
  2. Select the service in the tree structure, and choose Activate Service in the context menu.

This directs you to transaction SICF.

/wp-content/uploads/2013/03/2_sicf_193339.png

Configure Service Provider

This Customizing activity configures this web service to connect to the external service desk. You can connect an external service desk to the Solution Manager
service desk to make different tools available to the different levels of your support organization.

In spro, this will direct you to transaction SOAManager

3_ServiceProvider.png

Activities

  1. In the Service Administration tab, choose Configure Web Services.
  2. Enter the following data:
    1.            Search for: Service Definition
    2.            Search term: ICT_SERVICE_DESK_API
  3. Start the search.
  4. Choose the service and click Apply selection.
  5. To create an end point to the service, in the Configuration tab, choose Create. You go to a dialog box.
  6. Enter the following data:
    1.            Service name: ICT_SERVICE_DESK_API
    2.            Description: ICT_SERVICE_DESK_API
    3.            New Binding Name: ICT_SERVICE_DESK_API
  7. Choose Copy Settings.
  8. On the Provider Security tab, enter the following data:
  9. Transport guarantee > Connection security:None (HTTP) Authentification settings > Authentification method> Authentification at transport level: User ID and password
  10. Save your entries.

Just to test if everything is correct with J2EE, click on the link for Open Web Service navigator for selected binding

If you get the following error then follow the instructions

10_J2EE.png

Open Web Service navigator for selected binding

  • Enter the Hostname and port and save.
  • Go to the Technical Configuration tab.
  • Choose System Global Settings.
  • Choose Edit/Display.
  • Specify a host name and a port number.
  • If you are working with a J2EE engine with
    version 6.40 or 7.00, select J2EE engine is 6.40/7.0
  • Note that if this option is not selected, the
    system will assume that you are working with a J2EE engine with version 7.10 or
    later
  • Save.

Configure Service Consumer

Use

The logical port specifies the server of the external system, and is used to transfer data. The Web AS HTTP or HTTPS port is used, depending on the
information in the URL.

To set this parameter, proceed as described in the activity Maintain Profile Parameters (see transaction SOLMAN_SETUP).

Activities

  1. In the Service Administration tab, choose Configure Web Services.
  2. Enter the following data:
    1.            Search for: Consumer Proxy
    2.            Search term: CO_PCICT_SERVICE_DESK_API
  3. Start the search.
  4. Choose the consumer proxy and then Apply Selection.
  5. Go to the Configuration tab.
  6. Choose Create to create the logical port. You go to a dialog box.
  7. Enter the required data:
    1.            Logical Port Name: For example the name of the external system
    2.            Description: For example the name of the external system
    3.            Configuration type: WSDL-based configuration
  8. Either enter the URL of the external WSDL, or upload the WSDL document as a file.
    1. You will find the WSDL by going back into the ICT_SERVICE_DESK_API service definition. Click on the link Show / hide selected Binding’s or Service’s WSDL URL. Next you will see the URL below it.
    2. http://host:port/sap/bc/srt/wsdl/srvc_C6AE31154BB71EE2A284217D4A1C1A8B/wsdl11/allinone/ws_policy/document?sap-client=001
  9. Choose Copy Settings.
  10. In the Consumer Security tab, under User ID and Password, enter the technical user of the external system.
  11. Save your entries.

4_ServiceConsumer.png

In the documentation here is idea of the logical port and end point which you just created.

5_Proxy.png

Testing the Web Service

1-     Press the button Ping Web Service, you should see this success message

Web service ping successful for LP ‘LINK2JIRA’, proxy ‘CO_PCICT_SERVICE_DESK_API’

2-     Another test is to go to the WSDL Analyzer.

6_WSDLAnalyzer.png

Enter in the WSDL, User and password and you will see the details of the service.

3-     Now lets try a test on the Service.

In the ICT_SERVICE_DESK_API  service definition click on the link

Open Web Service navigator for selected binding

A new browser page will open

Enter the WSDL URL of the Web service:

http://host:port/sap/bc/srt/wsdl/srvc_C6AE31154BB71EE2A284217D4A1C1A8B/wsdl11/allinone/ws_policy/document?sap-client=001

7_WSNavigator.png

If you come across any errors you should check out Transaction SRT_TOOLS

Web Service Utilities: Administration -> Press Error Log button

This is very useful for giving more detail on an error you might see, it also gives the component this error is connected to.

4-     Test from outside Solution Manager.

A very good tool is SOAPUI which is a free application.

  • Open SOAPUI
  • New project
  • Enter description then WSDL URL and press OK.
  • Depending on your settings you’ll be asked for user/password

8_SOAPUIList.png

You will now see the operands from the WSDL.

For short test we will try RequestSystemGuid.

As below, the GUID is returned.

9_SoapUIRequestGuid.png

Best Regards,

Matthew

Assigned Tags

      9 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi Matthew,

      I haven't seen anything like your article posted before, and I agree, should you have this information before your first implementation connecting an ext service desk, life would have been so much easier! But sharing like this will give in return a lot to you, and for starters, my thankfulness. I hope to use your article soon and update you with my experience on this subject.

      With best regards,

      #solman71today

      Author's profile photo Former Member
      Former Member

      Hi Matthew,

      Thanks for the excellent blog. I am confused about Service Consumer configuration though. The WSDL URL you have shown here is for the Solution Manager Service Desk I think. I was under the impression that this WSDL URL should be for the external Service Desk application like ServiceNow, Remedy, etc. Can you please confirm what exactly do we need to enter here? Where/How do we link to an external Service Desk application?

      Thanks and regards.

      Author's profile photo murali reddy
      murali reddy

      Hi Matthew,

      We  are working on integraiong SOLMAN with SNOW using a middleware tool for incidnet relication. We have configured the provider and consumer as per the document .For the service consumer Web service endpoint of the middleware system is given.We are succesfully able to create an incident in SOLMAN and when we click on forward to external helpdesk ,ticket details are apperaing in middleware ,whch is intrun transferring details to SNOW and creating the incident .So incident flow/creation is happenign properly from SOLMAN-Middleware-SNOW .

      But other way around SNOW-Middleware-SOLMAN we are not reciveing the incident.

      When any new ticket is created/updated in last 1 minute is getting polled by middleware and it is trying to transfer the incident to solman.But no inciden is getting created in solman and no error logs in middleware or in soamanager of SOLMAN

      When we try to do a test from SOAPUI to solman endpoint ,it gives error saying that call us incomplete or not suppoeted .Could you please suggest what could be the issue and how to fix it http://<hostname>:8000/sap/bc/srt/rfc/sap/ict_service_desk_api/001/ict_service_desk_api/ict_service_desk_api?

      Regards,

      Murali

      Author's profile photo murali reddy
      murali reddy

      Hi Matthew,

      Could you please help with our issue

      Regards,

      Murali

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Sorry but no idea.

      Author's profile photo murali reddy
      murali reddy

      Thanks Matthew for your   reply

      Regards,

      Murali

      Author's profile photo Warren Nash
      Warren Nash

      Any idea how to SOLMAN sends this data back to the third party help desk.  According to our web developer he feels SOLMABN is expecting to use an API on the third party help desk.

      Author's profile photo chuhao zhu
      chuhao zhu

      Hi Matthew,

      Thank you for your greater blog.I used the service desk API and it seemed work fine,but status problem occurred when i check it.Below is what i did step by step.

      1.call method ProcessIncident to create incident,seems work fine.Status marks 'PP' in table ICT_INCIDENTATTRĀ  and 'New' in solman_workcenter.

      2.call method ListUnclosedIncidents,returns the incident guid created above,seems work fine.

      3.call method CloseIncident,return the personmaps,seems work fine.Status in table ICT_INCIDENTATTR marks 'CL'.

      4.call method ListUnclosedIncidents again,returns nothing,seems incident above closed correctly.

      But when i look up the incident from solman_workcenter ,status remained 'New'.

      I don't know why. Could you please help with my issue?

      Author's profile photo Kim Heckscher
      Kim Heckscher

      Hi Matthew,
      I found your post during my search about Monitoring the external Service Desk API.

      I'm searching a solution to monitor the Webservice to the and from the External SD System.

      On SOAMANAGER i didn't found a way to send me an alert when the external SD Service is unavailable or send a Mail to support when my created Incident isn't synchronized to the external System.

       

      Any Ideas?
      Someone else?