Page 1 of 1

LoginPlainText fail

Posted: Tue Sep 18, 2007 8:19 am
by micke_314
Hi.
When using LoginPlainText I get 1050 in LoginPlainTextResult and strAuthTicket is empty.

What does 1050 means and what could be wrong?

regards

/Micke

Posted: Tue Sep 18, 2007 9:02 am
by jclausius
What API would you like to use Vault, Dragnet, or Fortress?

Posted: Wed Sep 19, 2007 12:19 am
by micke_314
I have an application that adds items to Dragnet.
This has worked very well for many years.
Now we have upgraded to Fortress and I had to change some stuff to make it work again but it did work just fine until a few days ago.
I do not know what has changed. It could perhaps be some MS security update that changed something. I have no idea.

The code is written in Delphi (win32) and basically looks like this.

Code: Select all

var
	lpt: LoginPlainText;
	lptr: LoginPlainTextResponse;
	dws: DragnetWebServiceSoap;
begin
	dws := GetDragnetWebServiceSoap;
	lpt := LoginPlainText.Create;
	lpt.strLogin := 'Username';
	lpt.strPassword := 'Password';
	lptr := dws.LoginPlainText(lpt);
	if lptr.LoginPlainTextResult <> 0 then
		raise Exception.Create('Login error: '+IntToStr(lptr.LoginPlainTextResult));
end;
If I provide an invalid username I get 1001
If I provide a valid username but an invalid password I get 1002
If both username and password is valid I get 1015.

/Micke

Posted: Wed Sep 19, 2007 12:46 am
by micke_314
:oops:

Just to make everything clear.
The error code is 1015 not 1050 as I wrote in the first post.

/Micke

Posted: Wed Sep 19, 2007 10:47 am
by jeremy_sg
LoginPlainText was created for users at a time when there were no client-side libraries for dealing with Dragnet. There are now client side libraries for Fortress, and we recommend you use them. You can use the VaultClientIntegrationLib to connect to Fortress and add work items. For examples of how to do this, look at the AddFortressItem() method over at http://support.sourcegear.com/viewtopic.php?t=8020

Posted: Wed Sep 19, 2007 11:17 pm
by micke_314
Ok, I will try that.

I still want to know what error 1015 means.

/Micke

Posted: Thu Sep 20, 2007 4:34 am
by micke_314
jeremy_sg wrote:You can use the VaultClientIntegrationLib to connect to Fortress and add work items.
This work very well in a .NET application.
I have problem using this from a win32 application.
I confess that I am a .NET newbie but I believe that in order to use the assembly from win32 I have to install VaultClientIntegrationLib to the GAC and then register with regasm.
When I try to do that it complains about that the assembly needs a strong name.

What do you recommend me to do? How can I integrate with Fortress from a win32 application?

"Use HTML in Details"

Posted: Thu Sep 20, 2007 7:11 am
by micke_314
How do I set "Use HTML in Details" to true when using VaultClientIntegrationLib?
I have tried

Code: Select all

Item.GetMantisItem.Html := True; 
but it does not work in the code below.

Code: Select all

function TWS2Fortress.AddFortressItem(URL, User, Password, ProjectName, Description,
                              Details, ItemType, Category, Milestone,
                              VersionStr, ReporterName: string): Integer;
var
  Item: FortressItemExpanded;
begin
  ServerOperations.client.LoginOptions.URL := URL;
  ServerOperations.client.LoginOptions.User := User;
  ServerOperations.client.LoginOptions.Password := Password;
  ServerOperations.Login();

  Item := FortressItemExpanded.Create;
  Item.GetMantisItem.Html := True;
  Item.ProjectName := ProjectName;
  Item.Description := Description;
  Item.Details := Details;
  Item.Status := 'Open';
  Item.ItemType := ItemType;
  Item.Priority := 'Unknown';
  Item.TimeEstimate := 'Unknown';
  Item.Platform := 'Unknown';
  Item.Category := Category;
  Item.Milestone := Milestone;
  Item.VersionStr := VersionStr;
  Item.Custom1 := ReporterName;
  Item.Validate;

  Item := ItemTrackingOperations.ProcessCommandAddFortressItem(Item);
  Result := Item.GetMantisItem.ID;
end;

Posted: Thu Sep 20, 2007 8:04 am
by jeremy_sg
You're right. We missed putting that item as an available attribute to set when adding the work item. There's still time, so you can expect this small change to make it in to 4.0.5, which should be released in the next few weeks.

Posted: Thu Sep 20, 2007 8:21 am
by micke_314
Thanks that's great. :D

I am still interested what 1015 means and if it is possible to integrate directly from a win32 application to VaultClientIntegrationLib.

I have a solution working now but it is a bit complicated.
What I want to do is to move a bug report from Lotus Notes to Fortress.
Notes knows how to do COM calls so I wrote a COM+ app that calls a webservice. The webservice is written in .NET and is a wrapper around the VaultClientIntegrationLib which (I belive) uses the Fortress webservice.
Before I got the error 1015 the COM+ app called the Fortress webservice directly.
I must admit that using VaultClientIntegrationLib is much easier than using the Fortress webservice. If only I could do it without the extra webservice everything would be just perfect.

Thanks for you help.

Posted: Thu Sep 20, 2007 8:31 am
by jeremy_sg
I can verify that 1015 is the Dragnet code for "Not Enough Licenses" which is true in this case, because there aren't any Dragnet licenses in place.

As for the COM calls, it should be possible to generate a COM wrapper that will let you send COM calls to the wrapper, and have the wrapper call C#. Take a look at http://msdn2.microsoft.com/en-us/library/ms978506.aspx for something that may get you started.

Posted: Thu Sep 20, 2007 10:38 am
by micke_314
jeremy_sg wrote:I can verify that 1015 is the Dragnet code for "Not Enough Licenses" which is true in this case, because there aren't any Dragnet licenses in place.
Ok. Then I know what made it fail.
Last week I added my first web only license to Fortress.
When I only had full user licenses it worked just fine using the Dragnet webservice directly against Fortress.

Thanks for the link to .NET/COM interop. I should probably rewrite the wrapper webservice to COM+ application instead.