Hi, what are you trying to call the web service from? Powershell, C# or something else?
I have been writing custom integration apps for clients to link hardware manufacturers systems and LANDesk using the web services for some time. If you can be more specific I may be able to offer you some help. If using c# or powershell you would set up the credentials for the http post in the code before the post rather than pass them in the http path like you are doing.
Happy to offer you help if you can be more specific.
I try to call the webservice from a service management application called TOPdesk.
My goal is that as soon a device is created in TOPdesk this device is created in LANDesk as wel via a http request automatically.
This application is written in Java Mango.
If I want to do a http request to this software the code COMNAND&j_username=USERNAME&j_password=PASSWORD but that doesn't work either.
The easiest way would be write a little asp.net website consuming nativly the webservice and just bypass informations like mac or hostname by http post parameters via the asp.net to the LAndesk Web Services.
In total this would be just 10-15 lines of code.
Visual Studio express is free of charge and the internet is full of samples.
in.Net the authentification would be handled like this:
WebserviceReferenceName.WebServiceListener ws = new WebserviceReferenceName.WebServiceListener();
CredentialCache cc = new System.Net.CredentialCache();
cc.Add(new Uri(ws.Url), "NTLM", new System.Net.NetworkCredential("username", "password", "domain));
ws.Credentials = cc;
you could just run the asp.net page on your core and just call it like:
life could be so easy
I'm beginning to work with Winbatch scripting to call the MBSDK routines using the POST method. It seems to be working to pass the username and password as part of the URL, but I am using the domain\user format for the username field. Dont know if that might make a difference here for you or not. I'm also not sure that the method i'm using is working in all cases. When i used this method to try to pull a list of all tasks, it didn't seem to be getting anything, but i've been able to schedule a provisioning template successfully, and many other routines seem to work this way as well.
This is example code (in bold) for winbatch that i'm using for testing. I'm new to the soap stuff, so there may be flaws with this:
;function that gets called later
#DEFINEFUNCTION GetSOAPresult (URL,type,text)
objXML = ObjectCreate("Microsoft.XMLHTTP")
objXML.setRequestHeader("Man", StrCat("POST ",URL," HTTP/1.1" ))
ResponsePage = objXML.responseText
;real username and password removed to protect the...
acct="%user%:%pass%" ;this is just concatenation of the above two variables.
;here i'm just setting up the text that needs to be passed with the particular routine. the following is to do a Schedule Provisioning routine.
;i'm targeting an LDMS query in this routine as well which is "Asset Corrections".
;note, i've hardcoded a templateid to get the right provsioning template. This would be a bad design for production purposes, as the id's change as the templates are edited. It would be neccessary to make a routine that gets all the templates, enumerate and select the proper id. What I found is that when you edit a template, and its id changes, the OLD id will still work! Even though its not really there in the console anymore. In other words, if you call this routine it will still run the older copy of the template that doesn't have the most current edits, which can be very confusing.
data = "taskName=ROBO Asset Correction&templateId=524&StartTime=02/15/2013 03:00:00 PM&Targets=Asset Corrections&reserved="
;the actual call to the function up above.
provtask = GetSOAPresult("http://%acct%@LDMS-IMAGE/MBSDKService/MsgSDK.asmx/ScheduleProvisioning","application/x-www-form-urlencoded",data)
;this line is just to put a message on the screen to show what happened.
Anyway, hopefully something here will help you along. Its in winbatch format but this is not much different tha AutoIt, or just about anything else. Should be pretty simple to translate to another script format. I am still concerned that this isn't working to pull a simple list of all the scheduled tasks for a given user, so i'm interested, if there's a better way to pass the username and password perhaps in the header? So, if BlairK could share something on that, it would be much appreciated!
write an email to me. You'll find the address in my profile info.
I'll send you a file I hope will solve your problems.