21-04-23 11:24 AM
Hi there.
I'm just investigating the possibility of triggering a BP process via a browser at the moment, but am having a bit of difficulty. I have exposed the process within System, but when navigating to the webservice (using http://[machine name]:[port]/ws/), I'm simply getting a timeout, with no specific error message. I'm almost certain this will be an infrastructure-side issue (as I can access the webservice interface from within the resource itself), but the machine name and port numbers are correct, so is there anything specific that I need to request?
And whilst I am able to connect to the ws interface on the local resource itself, how do I actually call the process into action? Clicking on it simply presents me with a load of XML. I've since downloaded Postman and have tried to test the connection. By submitting a GET request, I get the same XML back, so I would assume a POST request should work, but that returns a message of 'The requested process does not exist' with error code 404 (The target I'm using for both GET and POST here is http://[machine name]:[port]/ws/ProcessName?wsdl).
Furthermore, how would I go about setting up startup parameters for this service? The documentation on the BP Hub doesn't seem to go into this, unless I've missed something.
Many Thanks
21-04-23 12:38 PM
Hi John,
For the parameter issue, you could consider putting the data you would normally have as startup parameters for the process in an XL file, then remove all startup parameters from the process and have it start with reading the XL to obtain the data required for running - aka the parameters. As a perhaps positive side effect, you no longer need to maintain schedules when adding or removing startup parameters for a process - you simply adjust the XL.
Happy coding!
---------------
Paul
Sweden
25-04-25 05:47 PM
Hi John,
I know this was some years ago, but did you ever figure out the 'process does not exist' issue? I am facing the same dilema.
25-04-25 08:46 PM
I figured out my issue. I used Utility - HTTP:HTTP Request with the following parameters and got it to work
Address URL= "http://severname:8181/ws/processname"
Accept="text/xml"
Body=
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<processname xmlns="urn:blueprism:webservice:processname"/>
</Body>
</Envelope>
Content Type="text/xmll; charset=utf-8"
Method="POST"
Username=[username]
Password=[password]
Force Pre Authorization=True
Sunday
process should have input and output parameters and exposed the process
1. All your input data items will go in body of the API in SOAP XML format (if you need this then take that "http://severname:8181/ws/processname" , download the SOAP UI application, and create a sample request in SOAP UI application , this application will give you API body in SOAP XML format which you can use in postman Body as XML)
2. All your output data items will return from API call result
3. in PostMan application (Method: POST, Address URL: "http://severname:8181/ws/processname", Body: SOAP XML (Which you can get it from SOAP UI application) and update the input values, Authorization: Basic Auth (Any username and password who have access to blueprism)
4. just call it
here is my postman curl , processID, projectOID etc.. those are all input data items in that exposed process
curl --location --request POST 'http://{{BotNameOrServiceName}}:8181/ws/{{ExposedProcessName}}' \
--header 'Authorization: Basic XXXXXXXX' \
--header 'Content-Type: application/xml' \
--data-raw '<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:blueprism:webservice:ExposedProcessName">
<soapenv:Header/>
<soapenv:Body>
<urn:ExposedProcessName soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ProcessID xsi:type="xsd:string">?</ProcessID>
<ProjectOID xsi:type="xsd:string">?</ProjectOID>
<CCode xsi:type="xsd:string">?</CompanyCode>
<CName xsi:type="xsd:string">?</CompanyName>
<CID xsi:type="xsd:string">?</ClientID>
<RequestType xsi:type="xsd:string">?</RequestType>
<Environment xsi:type="xsd:string">?</Environment>
<RegionCode xsi:type="xsd:string">?</RegionCode>
<RequesterEmailID xsi:type="xsd:string">?</RequesterEmailID>
<OID xsi:type="xsd:string">?</OrgOID>
<CallBackURL xsi:type="xsd:string">?</CallBackURL>
<NewExp xsi:type="xsd:boolean">?</NewExp>
</urn:ExposedProcessName>
</soapenv:Body>
</soapenv:Envelope>'