cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
efner_o
Occasional contributor

Authentication soap API request via activationID

Hi,

I can login to our account manually using flexera portal via an activationID or entitlementID.

I would like to use a soap api request, using this type of authentication.

I wonder whether it is possible?

Thanks,

Efi

 

0 Kudos
6 Replies
Flexera cfischer
Flexera

Re: Authentication soap API request via activationID

No, the web services require authentication via username + password. I hope it helps.


@efner_o wrote:

Hi,

I can login to our account manually using flexera portal via an activationID or entitlementID.

I would like to use a soap api request, using this type of authentication.

I wonder whether it is possible?

Thanks,

Efi

 


 

0 Kudos
Moderator wmarek1 Moderator
Moderator

Re: Authentication soap API request via activationID

Hi Efi,

We are curious why you would want to do this?

Are you simply trying to query for data? Or is it some other reason?

FlexNet Operations has a set of XML-based "Public" services that allow you to send an Entitlement ID or Activation ID with no other authentication and get relevant information back.

If you explain why you want to do this, I can give you some pointers to how to use the Public services.

 

Regards,

Walt

FlexLM, FlexNet Publisher, FlexNet Operations, FlexNet Embedded, FlexNet Connect
0 Kudos
efner_o
Occasional contributor

Re: Authentication soap API request via activationID

Hi Walt,

I need it for our automation testing.

I'm testing our license server (that handles our licenses in Flexera).

The test activate a license using the activation id - it does some activities and then deactivate the license.

At the end of this process the activation_id's available quantity should remain as it was on its starting point (deactivation has been made) - our license server is responsible to give it back on deactivate.

There are some cases in which the test fails in its middle. it means that activation was made but test was stopped before deactivation.  In this case the license is not being returned to the license pool  (to the available quantity of the license_id - entitlement). In this case I would like to make this license obsolete in order I would be able to use it on my next test run. I would like to do it via a soap api call. 

I've already implement that using my Flexera api user, but in this case I would like to use this specific activation id, to limit any potential mistake which could influence the entire licenses - if using my user.

Thanks,

Efner

 

 

 

 

If test fails 

0 Kudos
Moderator jberthold Moderator
Moderator

Re: Authentication soap API request via activationID

Hi @efner_o ,

 

Is your test using a Cloud License Server?  One thing you could do after a failed test is to programmatically remove the licenses from the server and then add them back using the specified Activation ID.  This can be done via the linkAddonLineItemsRequest using the ManageDeviceService wsdl.  After the test set the desired count to 0, then set the count to the desired (entitled) account. 

Here's an example to remove the licenses for a specified Activation ID from a Server (excuse the format - it gets lost with copy/paste):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:v3.fne.webservices.operations.flexnet.com">
<soapenv:Header/>
<soapenv:Body>
<urn:linkAddonLineItemsRequest>
<urn:requestList>
<urn:deviceIdentifier>
<urn:serverIds>
<urn:serverId>YourServerID</urn:serverId>
</urn:serverIds>
<urn:publisherName>YourPublisherName</urn:publisherName>
</urn:deviceIdentifier>
<urn:lineItem>
<urn:lineItemIdentifier>
<urn:activationId>YourActivationIDHere</urn:activationId>
<urn:count>0</urn:count>
</urn:lineItemIdentifier>
</urn:lineItem>
</urn:requestList>
</urn:linkAddonLineItemsRequest>
</soapenv:Body>
</soapenv:Envelope>

To put the licenses back on the server run the same call with the count set to the entitled value.

Best Regards,

0 Kudos
efner_o
Occasional contributor

Re: Authentication soap API request via activationID

Thanks.

Refer to your answer:

Is your test using a Cloud License Server?  - it could be installed on the cloud, but I'm not sure.

In my case the License server isn't installed in cloud.

 By the way - when saying License server (LLS) i refer to our LLS server which connected with our devices and responsible for synchronizing between the licenses in FNO Flexera license server and our devices which consume theses licenses.

So our LLS communicate with Flexera LLS and on a license activation it draws a license from Flex to itself. then it communicate with our devices and allocate them licenses. On activation it updates Flexera LLS about the entitlement which it drew. 

 

 

Is the solution, you have suggested here consider that structure ?

0 Kudos
Moderator jberthold Moderator
Moderator

Re: Authentication soap API request via activationID

Hi @efner_o ,

As it turns out the soap request I mentioned (linkAddonLineItemsRequest) can be used to both remove and add line items to/from a server however it does not purge the mapping of the existing served licenses to devices.   To reclaim the licenses back from served devices in your test you have a few options:

1) Create/use a license model that has a shorter borrow interval (default borrow interval is 1 week).  Set the borrow interval to something longer than your maximum test time.  If you then simply wait until this borrow period lapses after your test, any licenses that were not gracefully returned to the server will automatically be reclaimed and added back into the pool.

2) Query the Server using REST APIs to see which Devices have the licenses in use and then Delete these Devices via REST to free up the licenses in use that were not returned.  Note policies can be added to the server to limit the frequency of device deletion to prevent users from trying to overuse their entitled quantity.

3)  With a local license server you could shut down the server, delete the server trusted storage files and then restart the server.

Best Regards,

0 Kudos