LoginPlainText fail

Post your questions regarding using the Vault and Fortress API in your programs.

Moderator: SourceGear

Post Reply
micke_314
Posts: 28
Joined: Mon Jan 12, 2004 1:29 am
Location: Uppsala Sweden
Contact:

LoginPlainText fail

Post by micke_314 » Tue Sep 18, 2007 8:19 am

Hi.
When using LoginPlainText I get 1050 in LoginPlainTextResult and strAuthTicket is empty.

What does 1050 means and what could be wrong?

regards

/Micke
Micke

jclausius
Posts: 3655
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Tue Sep 18, 2007 9:02 am

What API would you like to use Vault, Dragnet, or Fortress?
Jeff Clausius
SourceGear

micke_314
Posts: 28
Joined: Mon Jan 12, 2004 1:29 am
Location: Uppsala Sweden
Contact:

Post by micke_314 » Wed Sep 19, 2007 12:19 am

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
Micke

micke_314
Posts: 28
Joined: Mon Jan 12, 2004 1:29 am
Location: Uppsala Sweden
Contact:

Post by micke_314 » Wed Sep 19, 2007 12:46 am

:oops:

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

/Micke
Micke

jeremy_sg
Posts: 1821
Joined: Thu Dec 18, 2003 11:39 am
Location: Sourcegear
Contact:

Post by jeremy_sg » Wed Sep 19, 2007 10:47 am

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

micke_314
Posts: 28
Joined: Mon Jan 12, 2004 1:29 am
Location: Uppsala Sweden
Contact:

Post by micke_314 » Wed Sep 19, 2007 11:17 pm

Ok, I will try that.

I still want to know what error 1015 means.

/Micke
Micke

micke_314
Posts: 28
Joined: Mon Jan 12, 2004 1:29 am
Location: Uppsala Sweden
Contact:

Post by micke_314 » Thu Sep 20, 2007 4:34 am

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?
Micke

micke_314
Posts: 28
Joined: Mon Jan 12, 2004 1:29 am
Location: Uppsala Sweden
Contact:

"Use HTML in Details"

Post by micke_314 » Thu Sep 20, 2007 7:11 am

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;
Micke

jeremy_sg
Posts: 1821
Joined: Thu Dec 18, 2003 11:39 am
Location: Sourcegear
Contact:

Post by jeremy_sg » Thu Sep 20, 2007 8:04 am

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.

micke_314
Posts: 28
Joined: Mon Jan 12, 2004 1:29 am
Location: Uppsala Sweden
Contact:

Post by micke_314 » Thu Sep 20, 2007 8:21 am

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.
Micke

jeremy_sg
Posts: 1821
Joined: Thu Dec 18, 2003 11:39 am
Location: Sourcegear
Contact:

Post by jeremy_sg » Thu Sep 20, 2007 8:31 am

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.

micke_314
Posts: 28
Joined: Mon Jan 12, 2004 1:29 am
Location: Uppsala Sweden
Contact:

Post by micke_314 » Thu Sep 20, 2007 10:38 am

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.
Micke

Post Reply