FLEXNET OPERATIONS 2024 R1 ON PREMISES SOAP WEB SERVICES GUIDE |
FlexNet Operations 2024 R1 On Premises SOAP Web Services Guide |
Electronic Software Delivery Service (ESD Service) provides interfaces for accessing information related to the Software Delivery Module.
Simple Workflow Using ESD Service APIs
Get the list of accounts that the logged-in user belongs to, that have entitlements, and let the user select an account.
Use getEntitledOrganizations API
Display all manufacturers that are on the entitlements for the selected account, and Product Lines, and allow the user to select.
Use getManufacturerProductLine API
Display all Download Packages that belong to the selected product line, and allow the user to select a Download Package.
Use getDownloadPackages API
Get the compliance information and EULA for the selected Download Package.
Use getEULA, acceptEULA APIs
Use getComplianceAgreement, acceptComplianceAgreement APIs
If the user is compliant, and has accepted the EULA, then display the files required for that Download Package.
Use getDownloadableFiles API
If the request for files specifies that EULA acceptance, and compliance, are required then getDownloadableFiles will return an error, EULAIsNotAcceptedError, and the user should be prompted with an appropriate message. For more information, see EULAIsNotAcceptedError under getDownloadableFiles and getFilesByDownloadPackages.
Considerations
The getDownloadableFiles and getFilesByDownloadPackages APIs throw a EULAIsNotAcceptedError if the user does not accept the EULA. Each EULA is for a single package, and therefore the error will be thrown per package.
This can be handled as follows:
Catch the exception EULAIsNotAcceptedError_Exception and handle it by adding the logic to get the EULA content using the getEULA API.
Once the content is retrieved, call the acceptEULA API to accept the EULA.
After the EULA is accepted, the package will be retrieved correctly.
You should modify your implementation to request one package at a time, catch the exception, and call for EULA acceptance for each package until all the packages have been accepted.
How to Get an Authentication Token
To get an authentication token,
Use getSecureToken web method to generate the token from FlexnetAuthentication Web Service.
Request the token using any user credentials in the UserId and UserPassword fields.
Note: Ensure to use the same user credentials in the SOAP header of ESD service.
The sample SOAP request for generating token:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:v1.webservices.platform.flexnet.com">
<soapenv:Header>
<UserId>FNO ALM User ID</UserId>
<UserPassword>FNO ALM Password in Base64 format</UserPassword>
</soapenv:Header>
<soapenv:Body>
<urn:secureTokenRequest>
<urn:userId>FNO ALM User ID</urn:userId>
<!{}Optional:{}>
<urn:tokenTimeoutSeconds>200</urn:tokenTimeoutSeconds>
</urn:secureTokenRequest>
</soapenv:Body>
</soapenv:Envelope>
Note: The tokenTimeoutSeconds can be any number of seconds, but it defaults to 300 seconds (5 minutes).
Getting a new token does not invalidate a previously requested token (which remains valid until expiry).
How to Include the Token Generated in ESD Service
To include the token generated in ESD service,
Use a valid token (non-expired) in the SOAP header for authenticating the service in the SOAP request.
The sample SOAP header:
<soapenv:Header>
<nsAuth:authnHeader>
<nsAuth:id>FNO ALM User ID</nsAuth:id>
<nsAuth:token>Token generated using FlexAuthService</nsAuth:token>
<nsAuth:partnerCode>Tenant Id</nsAuth:partnerCode>
</nsAuth:authnHeader>
</soapenv:Header>
A sample SOAP request for one of the web methods in ESD service with authentication token in the soap header:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:esd="http://esdservice.esd.flexerasoftware.com"
xmlns:nsAuth="http:/common.handler.flexerasoftware.com/authn">
<soapenv:Header>
<nsAuth:authnHeader>
<nsAuth:id>user@flexerasoftware.com</nsAuth:id>
<nsAuth:token>sTc2PAj5VOrer5WlGP39N9GBpCqJulmIrVrNof-Ciq1FdDYp_TeZlpbFwfFJC3BcZ9MO6nkDXvUvWGmi5IGr2sGp8-vS6L1FqMxeYhnGF5Skv_OmVoNMqlP6uE9rQY7FTHonX80hFbQ</nsAuth:token>
<nsAuth:partnerCode>se02</nsAuth:partnerCode>
</nsAuth:authnHeader>
</soapenv:Header>
<soapenv:Body>
<esd:getEULARequest>
<esd:DownloadPackageReference>
<!{}Optional:{}>
<esd:Id>23232</esd:Id>
<esd:SystemId>2323</esd:SystemId>
</esd:DownloadPackageReference>
<esd:OrganizationId>232323</esd:OrganizationId>
</esd:getEULARequest>
</soapenv:Body>
</soapenv:Envelope>