Problem with UCMDB to ServiceNow push adapter

 

I have tried to set up an integration of Windows CI using the out-of-the-box Service-Now Push adapter.

 

ServiceNow is accessed via https over proxy and I have checked that I have access from the data flow probe server I am using for the integration.

 

The additional classpath is added according to instructions. My query returns 258 CI´s and my mapping file have the same name as the query according to the instructions and I have also tried with the sample query/mapping.

 

A test run gives the error message pasted below.

 

 

<2014-08-22 13:33:55,433> [ERROR] [AdHoc:AD_HOC_TASK_PATTERN_ID-81-1408707266802] (ExecutionEngineImpl.java:400) - Failed execute ad hoc script: Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "pushToServiceNow", line 736, in DiscoveryMain
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)

	at org.python.core.PyReflectedConstructor.constructProxy(PyReflectedConstructor.java:210)


java.lang.Exception: java.lang.Exception: [DiscoveryMain] [processCIs] [processCIs:add] Error connecting to Service-Now while processing CIT <cmdb_ci_win_server>

<2014-08-22 13:33:55,434> [ERROR] [AdHoc:AD_HOC_TASK_PATTERN_ID-81-1408707266802] (AbstractProbeProcessor.java:62) - Failed executing probe request [com.hp.ucmdb.discovery.probe.request.GenericPushProbeRequest] for integration [ServiceNow push test]

 

Does anybody have an idea what could be wrong?

 

Kind regards,

Malin

Parents
  • 0  

    Hi Malin,

     

    I have successfully integrated uCMDB 9.05, CUP 14 with Service Now Calgary.

     

    Here are a few things I'm curious about which might lead us to the solution to your problem:

    1: May I know what version of uCMDB you are on ?

     

    2: I have seen this error pop up when we did not set our proxy correctly and because of wrong previleges to write to the S-Now CMDB. So, please check on Proxy Server port and Proxy Server Name/IP.

     

    3: Are you using Direct web services that came out of the box ?

     

    Thanks,

    Praveen

  • 0   in reply to Praveen_Shan
    Hi Praveen,
    1: We are on 10.11.224, content pack 14.0.168
    2: I have double checked proxy settings.
    3: We are using the adapter out-of-the box.
    Kind regards,
    Malin

     


    wrote:

    Hi Malin,

     

    I have successfully integrated uCMDB 9.05, CUP 14 with Service Now Calgary.

     

    Here are a few things I'm curious about which might lead us to the solution to your problem:

    1: May I know what version of uCMDB you are on ?

     

    2: I have seen this error pop up when we did not set our proxy correctly and because of wrong previleges to write to the S-Now CMDB. So, please check on Proxy Server port and Proxy Server Name/IP.

     

    3: Are you using Direct web services that came out of the box ?

     

    Thanks,

    Praveen


     

  • 0   in reply to Susheil

    BTW,

    in this thread https://community.servicenow.com/thread/163057

    you have mentioned about some settings (with importSetUse = 0),

    Do i need to make any chnage in jython script or such settings you mentioned above just for OTB push test?

     

    THanks

    Sushil

  • 0   in reply to Susheil

    No, you don't have to change anything on the OOTB Jython script for basic testing.

    Change the Debug level to 4 or 5 for more information during testing.

     

    Also, everytime you make changes to your WSDL, the .jar files have to be recreated. I haven't tried the jar file creation procedure on 10.xx, but that's a good point to keep in mind.

     

    Are you by any chance pushing IP Addresses along with the Windows CIs ? Because the error you posted in your previous reply mentions the IP Address table name.

     

    Thanks,

    Praveen

  • 0   in reply to Praveen_Shan

    thanks for the confirmation.

     

    First i tried node with IP and that's where the error came.

     but last night i just tried a simple new query node and interface and showed success without any error but all shows EMPTY in service Now. any suggetsion. BTW i saw your another thread where you mentioned that in Service Now we need a temp table to hold the data for decision point of update/delete/add

    I am askign Service Now person to see how he can assist me on this. but seeing this log i think i sent the data out sucesfully.. Any thought please..

     

    here is success logs-

     

     <2014-12-25 20:15:59,484> 109691198 [INFO ] [AdHoc:AD_HOC_TASK_PATTERN_ID-20-1419570959903] (AdHocProbeRequestOperation.java:55) - Starting execution of Probe operation [GenericPushProbeRequest( updateData )]
    jvm 1    | Dec 25, 2014 8:16:04 PM org.apache.wink.client.internal.ResourceImpl createClientRequest
    jvm 1    | INFO: Issuing client GET method request to URI at WIPDEVAPP01:8443/.../folders with null entity class and CaseInsensitiveMultivaluedMap [map=[]] headers
    jvm 1    | Dec 25, 2014 8:16:04 PM org.apache.wink.client.internal.handlers.AcceptHeaderHandler handle
    jvm 1    | INFO: Accept header automatically set to: application/xml,application/octet-stream
    jvm 1    | Dec 25, 2014 8:16:04 PM org.apache.wink.client.internal.ResourceImpl createClientRequest
    jvm 1    | INFO: Issuing client POST method request to URI at WIPDEVAPP01:8443/.../folders with class [Lcom.hp.sw.bto.ast.security.cm.data.FolderReplicationRequest; entity class and CaseInsensitiveMultivaluedMap [map=[Content-Type=application/octet-stream]] headers
    jvm 1    | Dec 25, 2014 8:16:04 PM org.apache.wink.client.internal.handlers.AcceptHeaderHandler handle
    jvm 1    | INFO: Accept header automatically set to: application/xml,application/octet-stream
    jvm 1    | <2014-12-25 20:16:14,625> 109706339 [INFO ] [AdHoc:AD_HOC_TASK_PATTERN_ID-20-1419570959903] (?:?) - [DiscoveryMain] CIs added <21>, updated <0>, deleted <0>
    jvm 1    | <2014-12-25 20:16:14,625> 109706339 [INFO ] [AdHoc:AD_HOC_TASK_PATTERN_ID-20-1419570959903] (?:?) - [DiscoveryMain] Relationships added <11>, updated <0>, deleted <0>
    jvm 1    | <2014-12-25 20:16:14,656> 109706370 [INFO ] [AdHoc:AD_HOC_TASK_PATTERN_ID-20-1419570959903] (AdHocProbeRequestOperation.java:69) - Execution of GenericPushProbeRequest:                     ProbeExecution[ requestConstruction = 0.063    processorConstruction = 0.0      adapterRetrieval = 0.0      processorExecution = 15.172   ]
    jvm 1    | <2014-12-25 20:16:14,656> 109706370 [INFO ] [GW-AdHoc:AD_HOC_TASK_PATTERN_ID-20-1419570959903] (AdhocThread.java:63) - Sending ad hoc task results to server for request: com.hp.ucmdb.discovery.probe.agents.probemgr.adhoctasks.AdHocProbeRequestOperation calcTime= 15250ms
    jvm 1    | Dec 25, 2014 8:17:04 PM org.apache.wink.client.internal.ResourceImpl createClientRequest
    jvm 1    | INFO: Issuing client GET method request to URI at WIPDEVAPP01:8443/.../folders with null entity class and CaseInsensitiveMultivaluedMap [map=[]] headers
    jvm 1    | Dec 25, 2014 8:17:04 PM org.apache.wink.client.internal.handlers.AcceptHeaderHandler handle
    jvm 1    | INFO: Accept header automatically set to: application/xml,application/octet-stream
    jvm 1    | Dec 25, 2014 8:17:04 PM org.apache.wink.client.internal.ResourceImpl createClientRequest
    jvm 1    | INFO: Issuing client POST method request to URI at WIPDEVAPP01:8443/.../folders with class [Lcom.hp.sw.bto.ast.security.cm.data.FolderReplicationRequest; entity class and CaseInsensitiveMultivaluedMap [map=[Content-Type=application/octet-stream]] headers
    jvm 1    | Dec 25, 2014 8:17:04 PM org.apache.wink.client.internal.handlers.AcceptHeaderHandler handle
    jvm 1    | INFO: Accept header automatically set to: application/xml,application/octet-stream

     

  • 0   in reply to Praveen_Shan

    http://wiki.servicenow.com/index.php?title=Direct_Web_Service_API_Functions

    in this URL you mentioned two points (seems to me very imprtant and perhaps i am missing that). guessing if this is my issue..

     

    2: The scripted web services provide the required response back to the uCMDB for SOAP insert operation(add, update, delete).
    3: Import set tables were created to temporarily store the CI and attribute information that were pushed from uCMDB.
    Web Service Transform Maps were used to determine if the CI in the Import Set Table is a CMDB add or update operation using Coalesce values.
    4: Relationship pushes bypass the import set tables and are directly added from the Service Now CMDB via direct web service calls.

     

    I have asked ServiceNow guy to check. do you know what specific SNOW dev did?

     

    Thanks

    Sushil

     

     

     

  • 0   in reply to Susheil

    Hi Susheil,

     

    Glad to know that there is progress in your testing.

     

    I think you need to look into the credentials you have setup for ucmdb in Service Now and make sure it has the right privileges.

     

    Also, it is hard for me to understand what is going on with your env. without knowing the setup. Can you briefly explain what components do you have setup for service now so far ? Also, for error troubleshooting, please post the error.log and ProbeManager Adapter debug logs after testing.

     

    Thanks,

    Praveen

  • 0   in reply to Praveen_Shan

    Hi Praveen,

     

    Thanks for the reply. I am stuck at this point and trying to clarify with vendors.

     

    here is my situation -

    Service Now - Says that based on jog attached that we should transfer data to "ImportSetTable"

    https://abc.service-now.com/imp_computer.do?WSDL

    rather sending it to their direct production table. If we not sending it to importset table from UCMDB then how would thye run the transform. Servcie now want to see incoming data in this temp table and fro there we can run transform and send to prod table there.

    My question are

    - Was it same thing for you inUCMDB 9.0 ?

    - I don't see any other temp table than /imp_computer. So i asked vendor how we will push the network CI and other do we have to create a temp table and then change the UCMDB adapter mapping to send data to this new table, and generate jar file too.

     

    HP- Now Hp provided a highlight that my data push is empty in ServiceNow because of model_ID issue. ServiceNow table ModelID is not understanding VMWARE stuff. I am not sure on this. If I leave the only model ID part in mapping as comment the my push adapter works fine and create CI.

    I have attache the non-working logs from Probe. Please provide me guidance specially from SNOW side that what step you did so I can get clear idea where i am mistaking.

     

    Another question is that - below maps in default adapter is comented. do we really need to have it enabled? can you check in version 9.0 instance how it look like.

    When i have it default i was not getting error and all fine. After enabling this i am getting error.(see the attached log from probe latest)

    ========================================================

     <target_attribute name="model_id" datatype="cmdb_model" >
                        <map type="direct" source_attribute="discovered_model" />
                    </target_attribute>
                    <target_attribute name="manufacturer" datatype="core_company" >
                        <map type="direct" source_attribute="discovered_vendor" />

    ==========================================================

     

    Thanks a lot

    Sushil

     

  • 0   in reply to Susheil

    BTW forgot to mention - i am using admin id so i have full access on SNOW side.

     

    Do i need to configure in service Now for ucmdb credentials as well ?

     

    I saw your this link and share with ServiceNow as well. please share some insight

    http://h30499.www3.hp.com/t5/CMS-and-Discovery-Support-and/Creating-XML-mapping-files-for-Integration-between-ServiceNow/td-p/6255663#.VJzxxxApI 

     

    Thanks

  • 0   in reply to Susheil

    Thanks issue is resolved. I figured out that with OTB nothing but had to modify query

     

    Thanks

    Sushil

  • 0   in reply to Susheil

    could you please let us know what has been changed for the Query side.

  • 0   in reply to WadeWang

    Hi,

     

    Please make sure that your Ci attributes are selected in properties option to be pushed to SNOW. 

    By default it's unchecked so it won't work until you manually select which attribute want to be push OR select All

     

    Let me know if any question further

     

    Thanks

    Sushil

Reply
  • 0   in reply to WadeWang

    Hi,

     

    Please make sure that your Ci attributes are selected in properties option to be pushed to SNOW. 

    By default it's unchecked so it won't work until you manually select which attribute want to be push OR select All

     

    Let me know if any question further

     

    Thanks

    Sushil

Children
  • 0   in reply to MigrationDeletedUser

    Hi All,

     

    we tring to do ucmdb to servicenow push and cis are going to servicenow Sucessfully  but we have issue with pushuing relationship 

     

    could you please help in this 

     

    Thanks 

    Rashmi Hegde

    rashmi.hegde-s@hpe.com

  • 0   in reply to Rashmi_123

    hi, Rashmi

    were you able to push relationship successfully? Thanks

  • 0   in reply to Susheil

     

    Hi All,

     

    we tring to do ucmdb to servicenow push and cis are going to servicenow Sucessfully  but we have issue with relationship push.

     We have checked the logs and we are getting error as:

    Ignoring RTN with parent-child (id)  because ServiceNow couldn't locate the corresponding sys_id values for UCMDB-serviceNow Push

    Priyanka

  • 0   in reply to PriyankaSingh2

    Hi Priyanka

    we need to see the relationship mapping in xml that you made, log file error in uCMDB and service now.

    was there any change in probe server that you are using for push data?

    Thanks

    Sushil

  • 0   in reply to Susheil

    Hi Sushil,

    Please find relationship mapping

    <target_entities>
    <source_instance query-name="ServiceNow_ADMPush_Relations" root-element-name="Root_BusinessApplicationEnvironment">
    <target_entity name="service_now_rel_table>
    <target_mapping datatype="STRING" name="type" value="'contains :: contained by'"/>
    <target_mapping datatype="STRING" name="parent" value="Root_BusinessApplicationEnvironment.BusinessApplication[0]['global_id']"/>
    <target_mapping datatype="STRING" name="child" value="Root_BusinessApplicationEnvironment.BusinessApplicationEnvironment[0]['global_id']"/>
    </target_entity>
    </source_instance>

    </target_entities>

    We have successfully   pushed Linux->Interface->IPAddress relationship.But, We are getting error while pushing ADM(Application Dependency Mapping) relationship.

    In UCMDB side ,we are getting below errors in log:

    Ignoring RTN with parent-child = BA<GlobalID>-BAE<GlobalId> because ServiceNow couldn't locate the corresponding sys_id values.

    ServiceNow logs not getting any error.

    We have not made any changes to probe server.

     

    Thanks

    Priyanka

  • 0   in reply to PriyankaSingh2

    did you check with Service now engg or support?

  • 0   in reply to Susheil

    Hi,

    We have checked with ServiceNow engineer. Thre is no entry in serviceNow logs.

     

    Thanks

    Priyanka