Hi,
I've been trying to install the integration agent with the BMC Incident Mgmt. The following versions are installed:
- xMatters 5.0.4 r55023
- xMatters Integration Agent 5.0.2.53635
- BMC Remedy SD Incident Management 3.1.0
- BMC ITSM 8.0 RTM (I know, this version is unsupported, but as simple web-service calls are used, this should work from my point of view)
The initial communication between the BMC server and the xMatters integration service seems to be fine and an event is injected:
2012-10-28 00:31:49,687 [httpConnector.receiver.2] TRACE - Accepted: ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=8081]
2012-10-28 00:31:49,715 [httpConnector.receiver.7] DEBUG - /http/bmcremedyincident_bmcremedyincident
2012-10-28 00:31:49,715 [httpConnector.receiver.7] TRACE - Looking up receiver on connector: httpConnector with URI key: http://localhost:8081
2012-10-28 00:31:49,715 [httpConnector.receiver.7] TRACE - Secondary lookup of receiver on connector: httpConnector with URI key: http://localhost:8081/http
2012-10-28 00:31:49,715 [httpConnector.receiver.7] TRACE - Secondary lookup of receiver on connector: httpConnector with URI key: http://localhost:8081/http/bmcremedyincident_bmcremedyincident
2012-10-28 00:31:49,715 [httpConnector.receiver.7] DEBUG - Message Received from: http://localhost:8081/http/bmcremedyincident_bmcremedyincident
2012-10-28 00:31:49,715 [httpConnector.receiver.7] TRACE - Message Payload:
{60,115,111,97,112,101,110,118,58,69,110,118,101,108,111,112,101,32,120,109,108,110,115,58,115,111,97,112,101,110,118,61,34,104,116,116,112,58,47,47,115,99,104,101,109,97,115,46,120,109 [..]}
2012-10-28 00:31:49,716 [httpConnector.receiver.7] INFO - Component bmcremedyincident_bmcremedyincident has received the following request from endpoint http://localhost:8081/http/bmcremedyincident_bmcremedyincident and source /127.0.0.1:55770: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:apia="http://www.xmatters.com/apia_http_bmcremedy/">
<soapenv:Header/>
<soapenv:Body>
<apia:TriggerRequest>
<apia:action>Add</apia:action>
<apia:id>INC000000000502</apia:id>
<apia:requestType></apia:requestType>
</apia:TriggerRequest>
</soapenv:Body>
</soapenv:Envelope>
2012-10-28 00:31:49,716 [httpConnector.receiver.7] DEBUG - Determining whether the request to component bmcremedyincident_bmcremedyincident from endpoint http://localhost:8081/http/bmcremedyincident_bmcremedyincident is allowed.
2012-10-28 00:31:49,716 [httpConnector.receiver.7] DEBUG - The message is an external request because it has a REMOTE_ADDR key, so authentication is necessary.
2012-10-28 00:31:49,716 [httpConnector.receiver.7] DEBUG - The message has the following remote address: 127.0.0.1
2012-10-28 00:31:49,716 [httpConnector.receiver.7] DEBUG - The message must be transformed in order to determine whether it specifies a password.
2012-10-28 00:31:49,716 [httpConnector.receiver.7] DEBUG - The message does not have a password.
2012-10-28 00:31:49,716 [httpConnector.receiver.7] DEBUG - The request is allowed.
2012-10-28 00:31:49,717 [httpConnector.receiver.7] DEBUG - BMC Remedy incident: Enter - apia_http
2012-10-28 00:31:49,717 [httpConnector.receiver.7] DEBUG - BMC Remedy incident: httpRequestProperties: {http.request=/http/bmcremedyincident_bmcremedyincident, REQUEST_BODY=<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:apia="http://www.xmatters.com/apia_http_bmcremedy/">
<soapenv:Header/>
<soapenv:Body>
<apia:TriggerRequest>
<apia:action>Add</apia:action>
<apia:id>INC000000000502</apia:id>
<apia:requestType></apia:requestType>
</apia:TriggerRequest>
</soapenv:Body>
</soapenv:Envelope>, REMOTE_ADDR=/127.0.0.1:55770, Host=localhost:8081, User-Agent=Apache-HttpClient/4.1.1 (java 1.5), Content-Length=409, SOAPAction="triggerIncident", http.method=POST, Accept-Encoding=gzip,deflate, Content-Type=text/xml;charset=UTF-8, MULE_ORIGINATING_ENDPOINT=endpoint.http.localhost.8081.http.bmcremedyincident.bmcremedyincident, Connection=true, http.version=HTTP/1.1}
2012-10-28 00:31:49,719 [httpConnector.receiver.7] DEBUG - BMC Remedy incident: Enter - processRequest
2012-10-28 00:31:49,720 [httpConnector.receiver.7] DEBUG - BMC Remedy incident: processRequest: request body [<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:apia="http://www.xmatters.com/apia_http_bmcremedy/">
<soapenv:Header/>
<soapenv:Body>
<apia:TriggerRequest>
<apia:action>Add</apia:action>
<apia:id>INC000000000502</apia:id>
<apia:requestType/>
</apia:TriggerRequest>
</soapenv:Body>
</soapenv:Envelope>]
2012-10-28 00:31:49,814 [httpConnector.receiver.7] DEBUG - BMC Remedy incident: Enter - parseCheckRequestBody
2012-10-28 00:31:49,814 [httpConnector.receiver.7] DEBUG - BMC Remedy incident: Exit - parseCheckRequestBody
2012-10-28 00:31:49,814 [httpConnector.receiver.7] INFO - BMC Remedy incident: processRequest: action [Add], incidentId [INC000000000502]
2012-10-28 00:31:49,815 [httpConnector.receiver.7] DEBUG - BMC Remedy incident: [string], [string]
2012-10-28 00:31:49,815 [httpConnector.receiver.7] DEBUG - xm-hpd-helpdesk-ws.js: Enter - getIncident
2012-10-28 00:31:49,720 [Thread-61] INFO - Beginning periodic APXML exchange.
2012-10-28 00:31:49,836 [Thread-61] INFO - Up to 100 messages will be exchanged with xMatters Web Server http://vm5036.frox.com:8080/api/services/AlarmPointWebService.
2012-10-28 00:31:49,859 [Thread-61] INFO - Received 0 APXML messages.
2012-10-28 00:31:49,859 [Thread-61] INFO - The APXML exchange completed without any exceptions. The next occurrence will be in 3 seconds.
2012-10-28 00:31:49,923 [httpConnector.receiver.7] DEBUG - Request: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:XM_HPD_HelpDesk_WS"><soapenv:Header>
removed, as client data
</soapenv:Header><soapenv:Body><urn:GetIncident><urn:Incident_Number>INC000000000502</urn:Incident_Number></urn:GetIncident></soapenv:Body></soapenv:Envelope>
2012-10-28 00:31:49,924 [httpConnector.receiver.7] DEBUG - Response: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><ns0:GetIncidentResponse xmlns:ns0="urn:XM_HPD_HelpDesk_WS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns0:Status>Assigned</ns0:Status>
removed, as client data, but correct incident information
</ns0:GetIncidentResponse></soapenv:Body></soapenv:Envelope>
2012-10-28 00:31:49,924 [httpConnector.receiver.7] DEBUG - wsutil.js: XML string that needs XML declarations removed: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><ns0:GetIncidentResponse xmlns:ns0="urn:XM_HPD_HelpDesk_WS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns0:Status>Assigned</ns0:Status>
removed, as client data, but correct incident information
</ns0:GetIncidentResponse></soapenv:Body></soapenv:Envelope>
2012-10-28 00:31:49,937 [httpConnector.receiver.7] DEBUG - wsutil.js: XML declarations should be removed: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><ns0:GetIncidentResponse xmlns:ns0="urn:XM_HPD_HelpDesk_WS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns0:Status>Assigned</ns0:Status> <ns0:Product_Categorization_Tier_1/> <ns0:Product_Categorization_Tier_2/> <ns0:Product_Categorization_Tier_3/>
removed, as client data, but correct incident information
</ns0:GetIncidentResponse></soapenv:Body></soapenv:Envelope>
2012-10-28 00:31:49,944 [httpConnector.receiver.7] DEBUG - xm-hpd-helpdesk-ws.js: Exit - getIncident
2012-10-28 00:31:49,944 [httpConnector.receiver.7] DEBUG - BMC Remedy incident: Enter - makeApxmlFrom
2012-10-28 00:31:49,945 [httpConnector.receiver.7] INFO - BMC Remedy incident: makeApxmlFrom - incident [<object><Urgency>2-High</Urgency>
removed, as client data, but correct incident information
</object>]
2012-10-28 00:31:49,945 [httpConnector.receiver.7] DEBUG - BMC Remedy incident: Enter - buildXmattersGroupName
2012-10-28 00:31:49,947 [httpConnector.receiver.7] INFO - BMC Remedy incident: makeApxmlFrom: recipients [weberg]
2012-10-28 00:31:49,950 [httpConnector.receiver.7] DEBUG - BMC Remedy incident: Exit - makeApxmlFrom
2012-10-28 00:31:49,950 [httpConnector.receiver.7] ERROR - The Integration Service (bmcremedyincident,bmcremedyincident) terminated the request because of an unhandled exception.
com.alarmpoint.integrationagent.exceptions.ServiceInvocationException: The Integration Service (bmcremedyincident,bmcremedyincident) terminated the request because of an unhandled exception.
at com.alarmpoint.integrationagent.services.ServiceProxyImpl.processRequest(ServiceProxyImpl.java:79)
at com.alarmpoint.integrationagent.services.ServiceInterceptor.intercept(ServiceInterceptor.java:4)
at org.mule.impl.InterceptorsInvoker.execute(InterceptorsInvoker.java:47)
at com.alarmpoint.integrationagent.interceptors.AuthenticationInterceptor.intercept(AuthenticationInterceptor.java:23)
at org.mule.impl.InterceptorsInvoker.execute(InterceptorsInvoker.java:47)
at org.mule.interceptors.EnvelopeInterceptor.intercept(EnvelopeInterceptor.java:44)
at org.mule.impl.InterceptorsInvoker.execute(InterceptorsInvoker.java:47)
at org.mule.impl.model.DefaultMuleProxy.onCall(DefaultMuleProxy.java:258)
at org.mule.impl.model.seda.SedaComponent.doSend(SedaComponent.java:393)
at org.mule.impl.model.AbstractComponent.sendEvent(AbstractComponent.java:418)
at org.mule.impl.MuleSession.sendEvent(MuleSession.java:349)
at org.mule.routing.inbound.InboundRouterCollection.send(InboundRouterCollection.java:197)
at org.mule.routing.inbound.InboundRouterCollection.route(InboundRouterCollection.java:163)
at org.mule.providers.AbstractMessageReceiver$DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.java:581)
at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:322)
at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:269)
at org.mule.providers.http.HttpMessageReceiver$HttpWorker.doGetOrPost(HttpMessageReceiver.java:92)
at org.mule.providers.http.HttpMessageReceiver$HttpWorker.processRequest(HttpMessageReceiver.java:125)
at org.mule.providers.http.HttpMessageReceiver$HttpWorker.run(HttpMessageReceiver.java:46)
at org.mule.impl.work.WorkerContext.run(WorkerContext.java:310)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:987)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:528)
at java.lang.Thread.run(Unknown Source)
Caused by: org.mule.umo.ComponentException: Failed to invoke com.alarmpoint.integrationagent.GenericService. Component that caused exception is: bmcremedyincident_bmcremedyincident. Message payload is of type: byte[]
at org.mule.impl.DefaultLifecycleAdapter.intercept(DefaultLifecycleAdapter.java:200)
at org.mule.impl.InterceptorsInvoker.execute(InterceptorsInvoker.java:47)
at com.alarmpoint.integrationagent.services.ServiceProxyImpl$1.call(ServiceProxyImpl.java:6)
at com.alarmpoint.integrationagent.services.ServiceProxyImpl$1.call(ServiceProxyImpl.java:2)
at com.alarmpoint.integrationagent.util.ThreadUtils.executeWithTimeout(ThreadUtils.java:1)
at com.alarmpoint.integrationagent.services.ServiceProxyImpl.executeRequest(ServiceProxyImpl.java:66)
at com.alarmpoint.integrationagent.services.ServiceProxyImpl.processRequest(ServiceProxyImpl.java:88)
... 22 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.alarmpoint.integrationagent.util.EventDeduplicator
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:145)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:204)
at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119)
at org.mozilla.javascript.gen.c84._c5(integrationservices/bmcremedy/lib/javascript/xmatters/xmattersws.js:174)
at org.mozilla.javascript.gen.c84.call(integrationservices/bmcremedy/lib/javascript/xmatters/xmattersws.js)
at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)
at org.mozilla.javascript.gen.c79._c2(D:\Program Files (x86)\xMatters-integrationagent\integrationservices\bmcremedy\bmcremedyincident\bmcremedyincident.js:136)
at org.mozilla.javascript.gen.c79._c1(D:\Program Files (x86)\xMatters-integrationagent\integrationservices\bmcremedy\bmcremedyincident\bmcremedyincident.js:75)
at org.mozilla.javascript.gen.c79.call(D:\Program Files (x86)\xMatters-integrationagent\integrationservices\bmcremedy\bmcremedyincident\bmcremedyincident.js)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:340)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2758)
at org.mozilla.javascript.gen.c79.call(D:\Program Files (x86)\xMatters-integrationagent\integrationservices\bmcremedy\bmcremedyincident\bmcremedyincident.js)
at com.alarmpoint.integrationagent.script.JavaScript.callFunction(JavaScript.java:23)
at com.alarmpoint.integrationagent.GenericService.onCall(GenericService.java:2)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mule.impl.model.resolvers.DynamicEntryPoint.invokeMethod(DynamicEntryPoint.java:312)
at org.mule.impl.model.resolvers.DynamicEntryPoint.invoke(DynamicEntryPoint.java:259)
at org.mule.impl.DefaultLifecycleAdapter.intercept(DefaultLifecycleAdapter.java:194)
... 28 more
I've added an event domain and the corresponding integration service has the status active. I'm a little bothered about the event deduplication - I've added the following to the deduplicator-filter.xml:
<filter name="bmcremedyincident">
<predicates>
<predicate>incident_id</predicate>
<predicate>status</predicate>
<predicate>slm_status</predicate>
<predicate>urgency</predicate>
<predicate>priority</predicate>
<predicate>impact</predicate>
<predicate>recipients</predicate>
</predicates>
<suppression_period>1800</suppression_period>
<window_size>100</window_size>
</filter>
It seems to lookup a class, which it can not find (see log above):
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.alarmpoint.integrationagent.util.EventDeduplicator
Is there any special file, containing classes, I've to copy or configure the location somewhere? Another error, which is thrown is (see log above):
Caused by: org.mule.umo.ComponentException: Failed to invoke com.alarmpoint.integrationagent.GenericService. Component that caused exception is: bmcremedyincident_bmcremedyincident. Message payload is of type: byte[]
Which I completely do not understand
Any help is highly appreciated.
Cheers,
Gernot