SOAP Security API with Web Services 1.0
Overview
You can generate a skeleton input for each operation in the security WSDL, which contains 4 operations:
- login
- getUserInfo
- setSessionCurrency
- logout
For each operation, there are 3 fields that are always required in the header:
- sessionID
- category: Security
- schemaLocation
Security SOAP API Details
login |
Adds a user through SOAP. When multiple users are created using this method, the entire request is processed before a response is sent. Allows a session ID to be created for a user based on the username and password. This operation expects input of username and password as parameters and returns the sessionId upon successful login, otherwise it returns an error message. |
category
schemaLocation
username
password
|
status:
success
message
sessionID
|
exceptionCode
exceptionMessage
|
getUserInfo |
Does not define any request parameter in the SOAP body, but operates on the information of sessionID, specified in the header. |
sessionID
category
schemaLocation
|
status:
success
message
userInfo:
login
first_name
group_list
|
exceptionCode
exceptionMessage
|
setSessionCurrency |
Does not define any request parameter in the SOAP body, but operates on the information of sessionID, specified in the header. |
sessionID
category
schemaLocation
sessionCurrency
|
status:
success
message
|
exceptionCode
exceptionMessage
|
logout |
Allows the user to logout of Oracle CPQ using SOAP. |
sessionID
category
schemaLocation
|
status:
success
message
|
exceptionCode
exceptionMessage
|
Administration
Accessing Security WSDL and Generating Skeleton Input
- Navigate from Admin Home Page > Integration Platform > Web Services.
- Click the Security tab.
- Select an API from the drop-down menu.
- Click Generate Input to retrieve the skeleton.
Sample Security APIs
login - Input SOAP XML
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<bm:category xmlns:bm="urn:soap.bigmachines.com">Security</bm:category>
<bm:xsdInfo xmlns:bm="urn:soap.bigmachines.com">
<bm:schemaLocation>myCompany.bigmachines.com/bmfsweb/myCompany/schema/v1_0/security/Security.xsd</bm:schemaLocation>
</bm:xsdInfo>
</soapenv:Header>
<soapenv:Body>
<bm:login xmlns:bm="urn:soap.bigmachines.com">
<bm:userInfo>
<bm:username>%username%</bm:username> //The username of a valid, active user within BigMachine
<bm:password>%password%</bm:password> //The password associated with the above username
<bm:sessionCurrency/>
</bm:userInfo>
</bm:login>
</soapenv:Body>
</soapenv:Envelope>
Highlighted tags are required.
getUserInfo - Input SOAP XML
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<bm:userInfo xmlns:bm="urn:soap.bigmachines.com">
<bm:sessionId>%sessionId%</bm:sessionid>
</bm:userInfo>
<bm:category xmlns:bm="urn:soap.bigmachines.com">Security</bm:category>
<bm:xsdInfo xmlns:bm="urn:soap.bigmachines.com">
<bm:schemaLocation>https://myCompany.bigmachines.com/bmfsweb/pm/schema/v1_0/security/Security.xsd</bm:schemaLocation>
</bm:xsdInfo>
</soapenv:Header>
<soapenv:Body>
<bm:getUserInfo xmlns:bm="urn:soap.bigmachines.com"/>
</soapenv:Body>
</soapenv:Envelope>
Highlighted tags are required.
setSessionCurrency- Input SOAP XML
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<bm:userInfo xmlns:bm="urn:soap.bigmachines.com">
<bm:sessionId>%sessionID%</bm:sessionID>
</bm:userInfo>
<bm:category xmlns:bm="urn:soap.bigmachines.com">Security</bm:category>
<bm:xsdInfo xmlns:bm="urn:soap.bigmachines.com">
<bm:schemaLocation>https://myCompany.bigmachines.com/bmfsweb/pm/schema/v1_0/security/Security.xsd</bm:schemaLocation>
</bm:xsdInfo>
</soapenv:Header>
<soapenv:Body>
<bm:setSessionCurrency xmlns:bm="urn:soap.bigmachines.com">
<bm:sessionCurrency/>
</bm:setSessionCurrency>
</soapenv:Body>
</soapenv:Envelope>
Highlighted tags are required.
logout - Input SOAP XML
<xsi="www.w3.org 2001 XMLSchema-instance" xsd="www.w3.org/2001/XMLSchema" soapenv="schemas.xmlsoap.org/soap/envelope/" encoding="UTF-8">
<soapenv:Header>
<bm:userInfo xmlns:bm="urn:soap.bigmachines.com" soapenv:actor="schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="0">
<bm:sessionId>%sessionID%</bm:sessionID>
</bm:userInfo>
<bm:category xmlns:bm="urn:soap.bigmachines.com" soapenv:actor="schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="0">Security</bm:category>
<bm:xsdInfo xmlns:bm="urn:soap.bigmachines.com" soapenv:actor="schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="0">
<bm:schemaLocation>njupiter.bigmachines.com/bmfsweb/njupiter/schema/v1_0/security/Security.xsd</bm:schemaLocation>
</bm:xsdInfo>
</soapenv:Header>
<soapenv:Body>
<bm:logout xmlns:bm="urn:soap.bigmachines.com"/>
</soapenv:Body>
</soapenv:Envelope>
Highlighted tags are required.
Notes
SOAP requests must include "Agent" information.
Once a session ID gathered from a SOAP Login API is used for Remote Web Service SSO, this sessionID is tied specifically to that browser session and is not available for SOAP APIs, including logout. The logout needs to be done from the browser.
Related Topics
See Also