Oracle Primavera P6 Web Services is an API that uses SOAP and POST request method, so the request body in Postman has to be selected as “raw” with “XML” support and has the following body structure [5]:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
</soap:Body>
</soap:Envelope>
P6 uses WS Authentication by default; however, since Postman v7.33.1 doesn’t support WS Authentication, the following has to be added between “soap:Header” tag [4]:
<wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>P6_User</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">P6_User_Password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
Between “soap:Body” tag, methods are placed, e.g. ReadDatabaseInstances method using https://URL:PORT/p6ws/services/AuthenticationService that returns multiple DatabaseInstance objects from the database [1]:
<ReadDatabaseInstances xmlns="http://www.w3.org/2001/XMLSchema">
</ReadDatabaseInstances>
Possible issues
If the method is incorrect, “At least one field must be specified when reading business objects.”, error can occur: https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=249180117055831&parent=EXTERNAL_SEARCH&sourceId=PROBLEM&id=2619235.1&_afrWindowMode=0&_adf.ctrl-state=rvbnj8ois_4
if the Authentication Header is incorrect: “WSS Header is Missing from Request. Can’t Do Username Token Authentication.”, error will occur: https://support.oracle.com/knowledge/More%20Applications%20and%20Technologies/1318690_1.html
References:
- P6 EPPM Web Services Reference Guide Version 17 -https://docs.oracle.com/cd/E80666_01/English/Integration_Documentation/p6_eppm_web_services_reference/helpmain.htm?toc.htm?41869.htm
- p6 web services programming interface – https://www.slideshare.net/p6academy/206520-p6-web-services-programming-interface
- No support for WSSE authorization type #2762- https://github.com/postmanlabs/postman-app-support/issues/2762
- WSS-PAssword Type – https://community.postman.com/t/wss-password-type/1291/3
- Making SOAP requests – https://learning.postman.com/docs/sending-requests/supported-api-frameworks/making-soap-requests/
- P6 EPPM Web Services Programming Guide 16 R1 – https://docs.oracle.com/cd/E68199_01/English/Integration_Documentation/p6_eppm_web_services_programming/p6_eppm_web_services_programming.pdf