The OTRS Web service URL is : https://tts.geant.net/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnector
** If you have Admin access to OTRS, you can review the SOAP Based Service settings using the following URL: https://tts.geant.net/otrs/index.pl?Action=AdminGenericInterfaceWebservice;Subaction=Change;WebserviceID=1;Nav=
Two of the available web service operations are used TicketSearch and TicketGet
TicketSearch
The SOAP message that is sent to the OTRS web service looks like the following XML:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.otrs.org/TicketConnector/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns:TicketSearch>
<ns:UserLogin>msruser</ns:UserLogin>
<ns:Password>********</ns:Password>
<ns:Types>Maintenance::Planned</ns:Types>
<ns:Types>Maintenance::Emergency</ns:Types>
<ns:Limit>2500</ns:Limit>
<ns:TicketChangeTimeNewerMinutes>60</ns:TicketChangeTimeNewerMinutes>
</ns:TicketSearch>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
*** The TicketChangeTimeNewerMinutes value is set by the parameter sent to the Java Class
***** Password Stored In KeyPass
A typical response from the above operation is:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<TicketSearchResponse xmlns="http://www.otrs.org/TicketConnector/">
<TicketID>204001</TicketID>
<TicketID>203998</TicketID>
<TicketID>203994</TicketID>
<TicketID>203970</TicketID>
</TicketSearchResponse>
</soap:Body>
</soap:Envelope>
TicketGet
The SOAP message that is sent to the OTRS web service looks like the following XML:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.otrs.org/TicketConnector/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns:TicketGet>
<ns:UserLogin>msruser</ns:UserLogin>
<ns:Password>********</ns:Password>
<ns:TicketID>98016</ns:TicketID>
<ns:DynamicFields>1</ns:DynamicFields>
</ns:TicketGet>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
98016 is an example TicketId used as the key to retrieve the Ticket where the TicketID field matches 98016
A typical response from the above operation:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<TicketGetResponse xmlns="http://www.otrs.org/TicketConnector/">
<Ticket>
<Age>35030226</Age>
<ArchiveFlag>y</ArchiveFlag>
<ChangeBy>1</ChangeBy>
<Changed>2017-03-20 16:18:56</Changed>
<CreateBy>1</CreateBy>
<CreateTimeUnix>1469511635</CreateTimeUnix>
<Created>2016-07-26 05:40:35</Created>
<CustomerID>OTRS-GEANT-NREN</CustomerID>
<CustomerUserID/>
<DynamicField><Name>AdditionalRecipients</Name><Value>6noc@cernet.edu.cn</Value><Value>david.west@geant.org</Value></DynamicField>
<DynamicField><Name>Equipment</Name><Value/></DynamicField>
<DynamicField><Name>EventEndTime</Name><Value/></DynamicField>
<DynamicField><Name>EventStartTime</Name><Value/></DynamicField>
<DynamicField><Name>FirstResponseBreach</Name><Value/></DynamicField>
<DynamicField><Name>GeneralInformation</Name><Value/></DynamicField>
<DynamicField><Name>ITSMCriticality</Name><Value>3 normal</Value></DynamicField>
<DynamicField><Name>ITSMDecisionDate</Name><Value/></DynamicField>
<DynamicField><Name>ITSMDecisionResult</Name><Value/></DynamicField>
<DynamicField><Name>ITSMDueDate</Name><Value/></DynamicField>
<DynamicField><Name>ITSMImpact</Name><Value/></DynamicField>
<DynamicField><Name>ITSMRecoveryStartTime</Name><Value/></DynamicField>
<DynamicField><Name>ITSMRepairStartTime</Name><Value/></DynamicField>
<DynamicField><Name>ITSMReviewRequired</Name><Value/></DynamicField>
<DynamicField><Name>MaintenanceClose</Name><Value>closed successful</Value></DynamicField>
<DynamicField><Name>MaintenanceValidated</Name><Value/></DynamicField>
<DynamicField><Name>NMSAlarmID</Name><Value/></DynamicField>
<DynamicField><Name>OpenedAsP1</Name><Value/></DynamicField>
<DynamicField><Name>ProcessManagementActivityID</Name><Value>0</Value></DynamicField>
<DynamicField><Name>ProcessManagementProcessID</Name><Value>0</Value></DynamicField>
<DynamicField><Name>ProcessSelect</Name><Value/></DynamicField>
<DynamicField><Name>Project</Name><Value>GÉANT</Value></DynamicField>
<DynamicField><Name>ProjectM</Name><Value/></DynamicField>
<DynamicField><Name>ProviderRefNo</Name><Value>GJ-2016-823</Value></DynamicField>
<DynamicField><Name>QCInternal</Name><Value/></DynamicField>
<DynamicField><Name>QCQualityIssue</Name><Value/></DynamicField>
<DynamicField><Name>QCSD</Name><Value/></DynamicField>
<DynamicField><Name>QCSupplier</Name><Value/></DynamicField>
<DynamicField><Name>QCVendor</Name><Value/></DynamicField>
<DynamicField><Name>ReportSource</Name><Value>Email</Value></DynamicField>
<DynamicField><Name>SDAccountable</Name><Value>Yes</Value></DynamicField>
<DynamicField><Name>SRCompletionDate</Name><Value/></DynamicField>
<DynamicField><Name>SRFinanceFreeText</Name><Value/></DynamicField>
<DynamicField><Name>SRFinanceInform</Name><Value/></DynamicField>
<DynamicField><Name>SRNewUpgradeDecom</Name><Value/></DynamicField>
<DynamicField><Name>SRNextStage</Name><Value/></DynamicField>
<DynamicField><Name>SROCAcceptance</Name><Value/></DynamicField>
<DynamicField><Name>SRRequestedCapacity</Name><Value/></DynamicField>
<DynamicField><Name>SRRequestedImplementationDate</Name><Value/></DynamicField>
<DynamicField><Name>SRSRFNumber</Name><Value/></DynamicField>
<DynamicField><Name>SubService</Name><Value>UK-TEIN BJ-ORIENTplus</Value></DynamicField>
<DynamicField><Name>Supplier</Name><Value>China Unicom</Value></DynamicField>
<DynamicField><Name>SupportLevel</Name><Value>Tier 1</Value></DynamicField>
<DynamicField><Name>TicketCalendarEndTime</Name><Value>2016-07-31 22:00:00</Value></DynamicField>
<DynamicField><Name>TicketCalendarStartTime</Name><Value>2016-07-31 16:00:00</Value></DynamicField>
<DynamicField><Name>TicketFreeText1</Name><Value/></DynamicField>
<DynamicField><Name>TicketFreeText2</Name><Value/></DynamicField>
<DynamicField><Name>UpdateTimeBreach</Name><Value/></DynamicField>
<DynamicField><Name>allowEmailUpdate</Name><Value>1</Value></DynamicField>
<DynamicField><Name>custID</Name><Value/></DynamicField>
<DynamicField><Name>custIDs</Name><Value/></DynamicField>
<DynamicField><Name>eex1424Circuit</Name><Value/></DynamicField>
<DynamicField><Name>eex1425Circuit</Name><Value/></DynamicField>
<DynamicField><Name>eex1426Circuit</Name><Value/></DynamicField>
<DynamicField><Name>eexAMS100G</Name><Value/></DynamicField>
<DynamicField><Name>eexAMSOOB</Name><Value/></DynamicField>
<DynamicField><Name>eexGEN100G</Name><Value/></DynamicField>
<DynamicField><Name>eexGEN272OOB</Name><Value/></DynamicField>
<DynamicField><Name>eexGEN513OOB</Name><Value/></DynamicField>
<DynamicField><Name>eexLON100G</Name><Value/></DynamicField>
<DynamicField><Name>eexLONOOB</Name><Value/></DynamicField>
<DynamicField><Name>eexOPEN100G</Name><Value/></DynamicField>
<DynamicField><Name>esnetEEX</Name><Value>No</Value></DynamicField>
<DynamicField><Name>geantServiceTypes</Name><Value/></DynamicField>
<DynamicField><Name>highestSLA</Name><Value/></DynamicField>
<DynamicField><Name>internalAlert</Name><Value/></DynamicField>
<DynamicField><Name>internalAlertNotification</Name><Value/></DynamicField>
<DynamicField><Name>secCategory</Name><Value/></DynamicField>
<DynamicField><Name>secFlowmonID</Name><Value/></DynamicField>
<DynamicField><Name>secFlowsSample</Name><Value/></DynamicField>
<DynamicField><Name>secPerspective</Name><Value/></DynamicField>
<DynamicField><Name>secPorts</Name><Value/></DynamicField>
<DynamicField><Name>secProtocol</Name><Value/></DynamicField>
<DynamicField><Name>secSeverity</Name><Value/></DynamicField>
<DynamicField><Name>secSourceIP</Name><Value/></DynamicField>
<DynamicField><Name>secTargetIPs</Name><Value/></DynamicField>
<DynamicField><Name>secTime</Name><Value/></DynamicField>
<DynamicField><Name>secType</Name><Value/></DynamicField>
<DynamicField><Name>ticketReasonCode</Name><Value/></DynamicField>
<EscalationResponseTime>0</EscalationResponseTime>
<EscalationSolutionTime>0</EscalationSolutionTime>
<EscalationTime>0</EscalationTime>
<EscalationUpdateTime>0</EscalationUpdateTime>
<GroupID>14</GroupID>
<Lock>unlock</Lock>
<LockID>1</LockID>
<Owner>samuel.price@intercity.technology</Owner>
<OwnerID>90</OwnerID>
<Priority>3 normal</Priority>
<PriorityID>3</PriorityID>
<Queue>Maintenance</Queue>
<QueueID>22</QueueID>
<RealTillTimeNotUsed>0</RealTillTimeNotUsed>
<Responsible>root@localhost</Responsible>
<ResponsibleID>1</ResponsibleID>
<SLAID/>
<Service>Trunk / Infrastructure</Service>
<ServiceID>25</ServiceID>
<State>closed successful</State>
<StateID>2</StateID>
<StateType>closed</StateType>
<TicketID>98016</TicketID>
<TicketNumber>2016072634000159</TicketNumber>
<Title>[lon] PM, UK-TEIN BJ-ORIENTplus, ChinaUnicom</Title>
<Type>Maintenance::Planned</Type>
<TypeID>6</TypeID>
<UnlockTimeout>1470004353</UnlockTimeout>
<UntilTime>0</UntilTime>
</Ticket>
</TicketGetResponse>
</soap:Body>
</soap:Envelope>