5 Replies Latest reply on Oct 23, 2017 10:34 AM by Pavel Prokoshev

    Integration with external Service Desk via Web-Service

      Share This:

      Hi community,

      I would like to know what is a best way to integrate Remedy ITSM with external Service Desk via web-service.

      I've know that here in community a lot of material about webservices in Remedy.

      But my question based on real case:

      All of incidents from external Service Desk need to be pull up in Remedy ITSM. Then create in special Form then move by workflow in HPD:Help Desk. If user change some field in Incident From so this change redirect also in external Service Desk.

      External Service Desk has own WebService with suchkind of structure here below

      Does API AR Server 8.1 support this structure by SOAP ?

      Are there anyway different type of integration ? I've only this service from external Service Desk

       

       

      <?xml version="1.0" encoding="UTF-8"?>

      <wsdl:definitions xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" xmlns:tns="urn://sc.voskhod.ru/soap-adapter-service/1.0" xmlns:types="urn://voskhod.mn/soap-adapter-service/types/1.0" xmlns:ns="urn://voskhod.mn/soap-adapter-service/basic/1.0" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="urn://sc.voskhod.ru/soap-adapter-service/1.0">

                  <wsdl:documentation>

      Description

      </wsdl:documentation>

                  <wsdl:types>

                              <xs:schema>

                                         <xs:import namespace="urn://voskhod.mn/soap-adapter-service/types/1.0" schemaLocation="soap-adapter-types-1.0.xsd"/>

                              </xs:schema>

                  </wsdl:types>

                  <wsdl:message name="GetTasksListRequestMsg">

                              <wsdl:part name="parameters" element="types:GetTasksListRequest"/>

                  </wsdl:message>

                  <wsdl:message name="GetTasksListResponseMsg">

                              <wsdl:part name="parameters" element="types:GetTasksListResponse"/>

                  </wsdl:message>

                  <wsdl:message name="GetCurrentTaskStatusesRequestMsg">

                              <wsdl:part name="parameters" element="types:GetCurrentTaskStatusesRequest"/>

                  </wsdl:message>

                  <wsdl:message name="GetCurrentTaskStatusesResponseMsg">

                              <wsdl:part name="parameters" element="types:GetCurrentTaskStatusesResponse"/>

                  </wsdl:message>

                  <wsdl:message name="GetTaskEventListRequestMsg">

                              <wsdl:part name="parameters" element="types:GetTaskEventListRequest"/>

                  </wsdl:message>

                  <wsdl:message name="GetTaskEventListResponseMsg">

                              <wsdl:part name="parameters" element="types:GetTaskEventListResponse"/>

                  </wsdl:message>

                  <wsdl:message name="SendEventsRequestMsg">

                              <wsdl:part name="parameters" element="types:SendEventsRequest"/>

                  </wsdl:message>

                  <wsdl:message name="SendEventsResponseMsg">

                              <wsdl:part name="parameters" element="types:SendEventsResponse"/>

                  </wsdl:message>

                  <wsdl:message name="CreateTasksRequestMsg">

                              <wsdl:part name="parameters" element="types:CreateTasksRequest"/>

                  </wsdl:message>

                  <wsdl:message name="CreateTasksResponseMsg">

                              <wsdl:part name="parameters" element="types:CreateTasksResponse"/>

                  </wsdl:message>

                  <wsdl:message name="STPBrokerException">

                              <wsdl:part name="fault" element="types:STPBrokerFault"/>

                  </wsdl:message>

                  <wsdl:portType name="STPBrokerPortType">

                              <wsdl:operation name="GetTasksList">

                                         <wsdl:input message="tns:GetTasksListRequestMsg"/>

                                         <wsdl:output message="tns:GetTasksListResponseMsg"/>

                                         <wsdl:fault name="STPBrokerException" message="tns:STPBrokerException"/>

                              </wsdl:operation>

                              <wsdl:operation name="GetCurrentTaskStatuses">

                                         <wsdl:input message="tns:GetCurrentTaskStatusesRequestMsg"/>

                                         <wsdl:output message="tns:GetCurrentTaskStatusesResponseMsg"/>

                                         <wsdl:fault name="STPBrokerException" message="tns:STPBrokerException"/>

                              </wsdl:operation>

                              <wsdl:operation name="GetTaskEventLists">

                                         <wsdl:input message="tns:GetTaskEventListRequestMsg"/>

                                         <wsdl:output message="tns:GetTaskEventListResponseMsg"/>

                                         <wsdl:fault name="STPBrokerException" message="tns:STPBrokerException"/>

                              </wsdl:operation>

                              <wsdl:operation name="SendEvents">

                                         <wsdl:input message="tns:SendEventsRequestMsg"/>

                                         <wsdl:output message="tns:SendEventsResponseMsg"/>

                                         <wsdl:fault name="STPBrokerException" message="tns:STPBrokerException"/>

                              </wsdl:operation>

                              <wsdl:operation name="CreateTasks">

                                         <wsdl:input message="tns:CreateTasksRequestMsg"/>

                                         <wsdl:output message="tns:CreateTasksResponseMsg"/>

                                         <wsdl:fault name="STPBrokerException" message="tns:STPBrokerException"/>

                              </wsdl:operation>

                  </wsdl:portType>

                  <wsdl:binding name="STPBrokerSoap11Binding" type="tns:STPBrokerPortType">

                              <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

                              <wsdl:operation name="GetTasksList">

                                         <soap:operation soapAction="urn:GetTasksList"/>

                                         <wsdl:input>

                                                     <soap:body use="literal"/>

                                         </wsdl:input>

                                         <wsdl:output>

                                                     <soap:body use="literal"/>

                                         </wsdl:output>

                                         <wsdl:fault name="STPBrokerException">

                                                     <soap:fault name="STPBrokerException" use="literal"/>

                                         </wsdl:fault>

                              </wsdl:operation>

                              <wsdl:operation name="GetCurrentTaskStatuses">

                                         <soap:operation soapAction="urn:GetCurrentTaskStatuses"/>

                                         <wsdl:input>

                                                     <soap:body use="literal"/>

                                          </wsdl:input>

                                         <wsdl:output>

                                                     <soap:body use="literal"/>

                                         </wsdl:output>

                                         <wsdl:fault name="STPBrokerException">

                                                     <soap:fault name="STPBrokerException" use="literal"/>

                                         </wsdl:fault>

                              </wsdl:operation>

                              <wsdl:operation name="GetTaskEventLists">

                                         <soap:operation soapAction="urn:GetTaskEventLists"/>

                                         <wsdl:input>

                                                     <soap:body use="literal"/>

                                         </wsdl:input>

                                         <wsdl:output>

                                                     <soap:body use="literal"/>

                                         </wsdl:output>

                                         <wsdl:fault name="STPBrokerException">

                                                     <soap:fault name="STPBrokerException" use="literal"/>

                                         </wsdl:fault>

                              </wsdl:operation>

                              <wsdl:operation name="SendEvents">

                                         <soap:operation soapAction="urn:SendEvents"/>

                                         <wsdl:input>

                                                     <soap:body use="literal"/>

                                         </wsdl:input>

                                         <wsdl:output>

                                                     <soap:body use="literal"/>

                                         </wsdl:output>

                                         <wsdl:fault name="STPBrokerException">

                                                     <soap:fault name="STPBrokerException" use="literal"/>

                                         </wsdl:fault>

                              </wsdl:operation>

                              <wsdl:operation name="CreateTasks">

                                         <soap:operation soapAction="urn:CreateTasks"/>

                                         <wsdl:input>

                                                     <soap:body use="literal"/>

                                         </wsdl:input>

                                         <wsdl:output>

                                                     <soap:body use="literal"/>

                                         </wsdl:output>

                              </wsdl:operation>

                  </wsdl:binding>

                  <wsdl:service name="STPBroker">

                              <wsdl:port name="STPBrokerEndpoint" binding="tns:STPBrokerSoap11Binding">

                                         <soap:address location="http://localhost:8080/STPBroker/1.0"/>

                                         <wsdl:documentation>

                                                     <wsi:Claim conformsTo="http://ws-i.org/profiles/basic/1.1"/>

                                         </wsdl:documentation>

                              </wsdl:port>

                  </wsdl:service>

                  <jaxws:bindings xmlns:jaxws="http://java.sun.com/xml/ns/jaxws">

                              <jaxws:package name="ru.voskhod.sc.soap_adapter.service.generated.service.v1_0"/>

                  </jaxws:bindings>

        </wsdl:definitions>

       

       

       

       

       

       

       

      Any help and idea will appreciate!

       

        • 1. Re: Integration with external Service Desk via Web-Service

          Perhaps to use Pentaho Spoon as transformation scenario is a good way! But problem could possible occure with back transaction from Remedy to external SD.

          • 2. Re: Integration with external Service Desk via Web-Service

            Hi Pevel

             

             

            This kind of Bi-Directional Integration - I think Should be done Via Web Services.

            I assume Ticket Creation is from External SD to Remedy Only.

             

             

            From External SD to Remedy-

             

            Remedy Staging Form--> HPD:Interface Create Form--->HPD:Help Desk

             

             

            External System Will send Data to Remedy Staging Form and Then Push Data to HPD:Interface Create Form

            From HPD:Interface Create Form OOTB work flow will push data to HPD:Help Desk form.

            You can do all kind of data massaging during data transfer from Remedy Staging form to HPD:Interface Create Form.

            Here Web Services will be written on Remedy Staging Form.

             

             

            From Remedy To External SD-

             

             

            Updates from Remedy To External System Should be Done thru Remedy Staging Form using Web Services.

             

             

            Remedy Staging for and HPD:Interface Create Form and HPD:Help Desk form must Contain

            Incident ID of Remedy and Incident ID for External SD system.

             

             

            Regards

            RP

            1 of 1 people found this helpful
            • 3. Re: Integration with external Service Desk via Web-Service

              Thanks, Rahul for your reply!

              Could you please to explain more clearely,

              what kind of method need I to use for consuming webservice from external SD ? As far as I know AR server 8.x don't support some types of wdsl.

              And finally how I would send data from remedy to external SD again to consume external SD.

              The problem is that I've only two webservices from external SD one of them for GET list of incidetns and second to Transfer data from remedy incident to external SD incident.

              • 4. Re: Integration with external Service Desk via Web-Service

                Hi,

                 

                (1) To Create an INC in Remedy from external SD . Remedy Has to publish the web services and External SD system has to Consume it.

                 

                (2) To Send Update from remedy to external SD system - External SD system has to publish web services and remedy has to consume it.

                 

                I think in 8.1 version of Remedy SOAP is Supported but REST is not supported.

                 

                Regards

                RP

                • 5. Re: Integration with external Service Desk via Web-Service

                  1) Problem is that External SD couldn't consume Remedy WS, because it dedicated system with theirown webservices other WS is not consumed. So I need to counsume External SD WS from Remedy Only!!!

                  2) I suppose that you mention about consume WS by Filter Action. So my question is a Remedy support WS that described above at this thread ?

                   

                  Remedy 8.1 just support SOAP v1,v2 not REST provided. Unfortunantely perhaps for older Remedy version provide some plugins to support REST queries.