I have been implementing a toolkit for HP Operations Orchestration that can call WFA via the SOAP interface. OO has a wizard that reads the WSDL and generates operations to call the methods and I have just finished editing all the operations to clean up some issues with how it imports them. As I was doing that, I noticed some "challenges" with the WFA SOAP interface.
There are 3 methods in the WSDL that are not documented in the Web Services Primer
I'm assuming this is because these methods are being deprecated? If so, I will just remove them from the toolkit.
There are two methods for getting the return parameters
getReturnParameters - allows you to specify which parameters you want and returns them in name-value pairs
getWorkflowReturnParameters - returns all parameters and has a couple additional fields - description and id
Thoughts on these? Are they both going to be going forward?
changePassword in the User WSDL works differently that every other method
It will only change the password for the user that is executing the method call. This means we can't use a preconfigured management user like we do for every other call, so makes it difficult to have a portal with a single login to change passwords for users.
This method requires you to pass in both the old password and the new password
The most common use case for changing a password is when the user has forgotten theirs
This call should allow an admin user to change passwords for other users (just like the GUI can)
Sounds like you are making great strides with this. Hopefully your efforts will be fruitful ( I wonder if such a toolkit is share-able, even as an example for others to follow. Would be great if it is).
Some comments on your questions:
Largely speaking, we highly favor our REST API at the moment. We found it much easier and clear to use and maintain so we are putting our emphasis on that. With that said - We are aware that we have SOAP API users so we will be maintaining that one as well, while adding new services mostly for the REST.
Indeed, the 3 mentioned services are/were deprecated:
getCommandArguments- Is a crude service, preceeding GetReturnParameters.
ExecuteWorkflow+ScheduleWorkflow were replaced by RunWorkflow (Allows for immediate or scheduled execution)
Earlier we still had those in the documentation. I will open a case to add clear deprecation info on those services to dissuade usage.
Regarding the return parameter methods:
getWorkflowReturnParameters returns all return paratmeters defined for a certain workflow. Just the definitions, no values.
Then you can use getReturnParameters to get some or all parameter values. I see them both going forward as they complete each other.
Regarding ChangePassword I don't have much to say. I will create a user-case with that info and see what the R&D comes up with.
I don't think that a "Reset Password" use case was in mind here, but I will ask around.
Thanks for confirming on these items, I hope I was able to be of services. And again - If you can share the package you are working on, it would be beneficial
Thanks for your feedback. And yes - the primary reason we are using SOAP rather than REST is that OO can import the SOAP interface automatically. It requires a fair amount of cleanup, but is MUCH less work that implementing the REST interface from scratch. So I'll give one strong vote for maintaining that interface for at least another year or so to let our partners catch up and provide REST support.
The toolkit will definitely be sharable - that is why we are doing it! It will be posted to this community and will also be posted to the HP Software Live Network Community.