Service Center Web Service API Question

Has anyone used the ChangeManagement web service to update a change ticket?



P.S. This thread has been moved from HP Service Desk Support and News Forum to HP Service Manager / Service Center Support and News Forum - Hp Forum Moderator

  • Not Change Management, but I've used the other WSDLs in other modules to update tickets. What's up?
  • Can you provide a sample of the .NET code used to update a ticket? Any ticket, incident, problem, etc. Assuming the methods are similar for all.
  • Unfortunately, I've done all my testing inside SM and with SOAPUI... I haven't done any work in the .NET applications...

    Have you read the SM7 Best Practices Guide for Web Services? I think that's got some sample .NET...

    Otherwise I can show you some of the SOAPUI examples...
  • Yes, I have read the Best Practices document and downloaded the "Web Service Studio" (SOAP UI?) from codeplex that is referenced in that document and also examined the .NET sample that is referenced in that document. However, the sample is a console application that is used by entering a command with arguments from a command prompt not a web app report like I'm trying to do. It doesn't fit and wasn't any help. I was hoping I could find someone who actually consumed the web service in a custom web app. I have been successful in communicating with the service but could not successfully retrieve or update a ticket using the UI.
    If you could explain how you update through the UI that may give me a clue as to how to code the .NET piece.
    Many Thanks.
  • First, I don't know it we're talking about the same App, so just for reference, I'm using SOAPUI, which can be downloaded from:

    This application allows you to experiment with SOAP Requests from an external application. I don't have my own custom App, but I wanted to familiarize myself with how ServiceCenter/Service Manager deals with webservices.

    I'm absolutely no expert, but I am able to successfully retrieve an Incident, an Incident list, and an Incident Keys list (basically just the ticket numbers). I can open, update, resolve, and close an Incident ticket in Service Manager (works the same for Service Center) from within SOAP UI, so I have a working knowledge of webservices.

    Here's how I understand it.

    Service Center uses records in the extacess table to generate a .wsdl file for consumption by other webservice applications. The .wsdl has all the information the webservice application needs to generate a SOAP request (to search, open, update, close) a ticket inside Service Center. (We can try to go over the wsdl itself if you want...)

    In SOAP UI, open a New Project by clicking File->New WSDL Project. It will then ask you for the name of your project (anything you want) and the location of your WSDL. If you're using SC6.2x or ServiceManager, your wsdl file should be at

    If you're on 6.1x, then your wsdls should be located at

    I'm using Service Manager on a local machine, so the ChangeManagement wsdl would be


    Then click OK, and SOAP UI will generate a list of Services contained in that WSDL.
  • Once you've got your list, you're ready to start making SOAP requests.

    See the attached document to get started...
  • Sorry, one correction...

    When you've deleted all the ?, you'll end up with this:

    <DESCRIPTION.STRUCTURE type="Structure">


    I missed these at the start

  • In addition to filling in fields for a qbe-style search, you can also yse the query="" parameter, like an expert search in ServiceCenter/Service Manager.

    For instance, if you wanted to look for a record with the number=C4304, in this part:

    Specifically in the , you'd do:

    The single quote (') allows you to write a query, just like you would in expert search. The double quotes (") are used inside your query expression (rather than ServiceCenter/Service Manager's usual method of "\"query\"" type queries)

  • Updating a Change Ticket would work the same way then.

    Select the UpdateChange request, fill in your username and password, get rid of the auto-filled "?", then enter your search parameters in the query field in the

    Then in all the fields below the
    line, fill in the _values_ you want to update. Note- this isn't a two step process... you're not searching for a record and then updating it... the changes to the values will be applied to the record returned by the query... You can do it in two steps (search for a change using the RetrieveChange request, then update that change with the UpdateChange request) but each request is its own operation.
  • Wow man!
    This was helpful for me too !!!!!
    I wish to give you points, but until you answer me, nothing to do :)