See the list of possible Web Service Requests underneath the Change Management Project, starting with ApproveChange and ending with UpdateChangeTask. All of these are defined by the extacess record within ServiceCenter/Service Manager. Let’s start with the RetrieveChange request. Click on the + sign next to RetrieveChange, and then click on Request 1. The first thing you need to do is provide a valid Username and Password so this external application can access SC/SM. Note: If you’re using the “falcon” account and haven’t given it a password, you need to type something into the Password field here and then delete it... SOAPUI doesn’t seem to send a NULL password, but it can send a blank one. Also note that this Username and Password is for _THIS_ request... You’ll need to provide a Username and Password for every request you send to SC/SM... It doesn’t automatically apply these values to every request. Once that’s done, double-click the Request 1 and you’ll see this in your workspace: The downside of SOAPUI is it automatically fills in possible values with a ?. The problem is, SC/SM sees those ? as valid attempts to query... so the first thing we have to do is edit the SOAP request to get rid of a lot of those ?, starting here: <pws:RetrieveChangeRequest attachmentInfo="?" attachmentData="?" ignoreEmptyElements="true"> <pws:model query="?"> <pws:keys query="?"> <!--Optional:--> <pws:ChangeNumber type="String" mandatory="?" readonly="?">?</pws:ChangeNumber> </pws:keys> This is what it is by default... the following is what we need to make it. Note the bold font below. <pws:RetrieveChangeRequest attachmentInfo="?" attachmentData="?" ignoreEmptyElements="true"> <pws:model query=""> <pws:keys query=""> <!--Optional:--> <pws:ChangeNumber type="String" mandatory="?" readonly="?"></pws:ChangeNumber> </pws:keys> Continue through the SOAP request to get rid of all the >?< and replace them with just >< values. When you’re done, it should look like this: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://servicecenter.peregrine.com/PWS" xmlns:com="http://servicecenter.peregrine.com/PWS/Common"> <soapenv:Header/> <soapenv:Body> <pws:RetrieveChangeRequest attachmentInfo="?" attachmentData="?" ignoreEmptyElements="true"> <pws:model query=""> <pws:keys query=""> <!--Optional:--> <pws:ChangeNumber type="String" mandatory="?" readonly="?"></pws:ChangeNumber> </pws:keys> <pws:instance query="?" uniquequery="?" recordid="?"> <pws:header type="Structure"> <!--Optional:--> <pws:ChangeNumber type="String" mandatory="?" readonly="?"></pws:ChangeNumber> <!--Optional:--> <pws:Category type="String" mandatory="?" readonly="?"></pws:Category> <!--Optional:--> <pws:Status type="String" mandatory="?" readonly="?"></pws:Status> <!--Optional:--> <pws:ApprovalStatus type="String" mandatory="?" readonly="?"></pws:ApprovalStatus> <!--Optional:--> <pws:RequestedBy type="String" mandatory="?" readonly="?"></pws:RequestedBy> <!--Optional:--> <pws:AssignedTo type="String" mandatory="?" readonly="?"></pws:AssignedTo> <!--Optional:--> <pws:AssignedDept type="String" mandatory="?" readonly="?"></pws:AssignedDept> <!--Optional:--> <pws:Coordinator type="String" mandatory="?" readonly="?"></pws:Coordinator> <!--Optional:--> <pws:CoordinatorPhone type="String" mandatory="?" readonly="?"></pws:CoordinatorPhone> <!--Optional:--> <pws:PlannedStartDate type="DateTime" mandatory="?" readonly="?"></pws:PlannedStartDate> <!--Optional:--> <pws:PlannedEndDate type="DateTime" mandatory="?" readonly="?"></pws:PlannedEndDate> <!--Optional:--> <pws:Reason type="String" mandatory="?" readonly="?"></pws:Reason> <!--Optional:--> <pws:CurrentPhase type="String" mandatory="?" readonly="?"></pws:CurrentPhase> <!--Optional:--> <pws:RiskAssessment type="String" mandatory="?" readonly="?"></pws:RiskAssessment> <!--Optional:--> <pws:Priority type="String" mandatory="?" readonly="?"></pws:Priority> <!--Optional:--> <pws:DateEntered type="DateTime" mandatory="?" readonly="?"></pws:DateEntered> <!--Optional:--> <pws:Open type="Boolean" mandatory="?" readonly="?"></pws:Open> <!--Optional:--> <pws:BackoutDuration type="Duration" mandatory="?" readonly="?"></pws:BackoutDuration> <!--Optional:--> <pws:CloseTime type="DateTime" mandatory="?" readonly="?"></pws:CloseTime> <!--Optional:--> <pws:ForeignID type="String" mandatory="?" readonly="?"></pws:ForeignID> <!--Optional:--> <pws:RFCType2 type="String" mandatory="?" readonly="?"></pws:RFCType2> <!--Optional:--> <pws:Company type="String" mandatory="?" readonly="?"></pws:Company> <!--Optional:--> <pws:BriefDescription type="String" mandatory="?" readonly="?"></pws:BriefDescription> <!--Optional:--> <pws:Subcategory type="String" mandatory="?" readonly="?"></pws:Subcategory> <!--Optional:--> <pws:SLAAgreementID type="Int" mandatory="?" readonly="?"></pws:SLAAgreementID> </pws:header> <pws:description.structure type="Structure"> <!--Optional:--> <pws:Description type="Array"> <!--Zero or more repetitions:--> <pws:Description type="String" mandatory="?" readonly="?"></pws:Description> </pws:Description> <!--Optional:--> <pws:Justification type="Array"> <!--Zero or more repetitions:--> <pws:Justification type="String" mandatory="?" readonly="?"></pws:Justification> </pws:Justification> <!--Optional:--> <pws:BackoutMethod type="Array"> <!--Zero or more repetitions:--> <pws:BackoutMethod type="String" mandatory="?" readonly="?"></pws:BackoutMethod> </pws:BackoutMethod> </pws:description.structure> <pws:middle type="Structure"> <!--Optional:--> <pws:ConfigurationItem type="String" mandatory="?" readonly="?"></pws:ConfigurationItem> <!--Optional:--> <pws:Location type="String" mandatory="?" readonly="?"></pws:Location> <!--Optional:--> <pws:Misc1 type="String" mandatory="?" readonly="?"></pws:Misc1> <!--Optional:--> <pws:Misc2 type="String" mandatory="?" readonly="?"></pws:Misc2> <!--Optional:--> <pws:Misc3 type="String" mandatory="?" readonly="?"></pws:Misc3> <!--Optional:--> <pws:Misc4 type="String" mandatory="?" readonly="?"></pws:Misc4> <!--Optional:--> <pws:Misc5 type="String" mandatory="?" readonly="?"></pws:Misc5> <!--Optional:--> <pws:Misc6 type="String" mandatory="?" readonly="?"></pws:Misc6> <!--Optional:--> <pws:Misc7 type="String" mandatory="?" readonly="?"></pws:Misc7> <!--Optional:--> <pws:Misc8 type="String" mandatory="?" readonly="?"></pws:Misc8> <!--Optional:--> <pws:Misc9 type="String" mandatory="?" readonly="?"></pws:Misc9> <!--Optional:--> <pws:Misc10 type="String" mandatory="?" readonly="?"></pws:Misc10> <!--Optional:--> <pws:OutageStart type="DateTime" mandatory="?" readonly="?"></pws:OutageStart> <!--Optional:--> <pws:OutageEnd type="DateTime" mandatory="?" readonly="?"></pws:OutageEnd> <!--Optional:--> <pws:ScheduledOutageStart type="DateTime" mandatory="?" readonly="?"></pws:ScheduledOutageStart> <!--Optional:--> <pws:ScheduledOutageEnd type="DateTime" mandatory="?" readonly="?"></pws:ScheduledOutageEnd> <!--Optional:--> <pws:ActualOutageStart type="DateTime" mandatory="?" readonly="?"></pws:ActualOutageStart> <!--Optional:--> <pws:ActualOutageEnd type="DateTime" mandatory="?" readonly="?"></pws:ActualOutageEnd> <!--Optional:--> <pws:MiscArray1 type="Array"> <!--Zero or more repetitions:--> <pws:MiscArray1 type="String" mandatory="?" readonly="?"></pws:MiscArray1> </pws:MiscArray1> <!--Optional:--> <pws:MiscArray2 type="Array"> <!--Zero or more repetitions:--> <pws:MiscArray2 type="String" mandatory="?" readonly="?"></pws:MiscArray2> </pws:MiscArray2> <!--Optional:--> <pws:MiscArray3 type="Array"> <!--Zero or more repetitions:--> <pws:MiscArray3 type="String" mandatory="?" readonly="?"></pws:MiscArray3> </pws:MiscArray3> <!--Optional:--> <pws:Assets type="Array"> <!--Zero or more repetitions:--> <pws:Assets type="String" mandatory="?" readonly="?"></pws:Assets> </pws:Assets> <!--Optional:--> <pws:EstimateDescription type="String" mandatory="?" readonly="?"></pws:EstimateDescription> <!--Optional:--> <pws:EstimatePrice type="String" mandatory="?" readonly="?"></pws:EstimatePrice> <!--Optional:--> <pws:ActualCost type="String" mandatory="?" readonly="?"></pws:ActualCost> <!--Optional:--> <pws:ActualPrice type="String" mandatory="?" readonly="?"></pws:ActualPrice> </pws:middle> <pws:close type="Structure"> <!--Optional:--> <pws:CompletionCode type="Decimal" mandatory="?" readonly="?"></pws:CompletionCode> <!--Optional:--> <pws:ClosingComments type="Array"> <!--Zero or more repetitions:--> <pws:ClosingComments type="String" mandatory="?" readonly="?"></pws:ClosingComments> </pws:ClosingComments> </pws:close> <!--Optional:--> <pws:Urgency type="String" mandatory="?" readonly="?"></pws:Urgency> <!--Optional:--> <pws:InitialAssessment type="String" mandatory="?" readonly="?"></pws:InitialAssessment> <!--Optional:--> <pws:attachments> <!--Zero or more repetitions:--> <com:attachment href="?" contentId="?" action="?" name="?" type="?" len="?" charset="?" attachmentType="?"/> </pws:attachments> </pws:instance> <!--Optional:--> <pws:messages> <!--1 or more repetitions:--> <com:message type="String" mandatory="?" readonly="?" severity="?" module="?"></com:message> </pws:messages> </pws:model> </pws:RetrieveChangeRequest> </soapenv:Body> </soapenv:Envelope> So what’s happening here... This “RetrieveChange” request is like a qbe in ServiceCenter/Service Manager. The system sees this: <pws:ChangeNumber type="String" mandatory="?" readonly="?">?</pws:ChangeNumber> The same as if you entered a literal question mark in a Change ticket qbe in the Change Number field and clicked Search. You won’t get any results back. But, if you enter a valid search, like: <pws:ChangeNumber type="String" mandatory="?" readonly="?">C10001</pws:ChangeNumber> The system would see that like you entered “C10001” in the ChangeNumber field and clicked Search. If there’s a record in the system with that number, you’ll get a record back. Otherwise you’ll get an error saying no records were found.
© Copyright 2026 Paperzz