I would like to turn an existing Flow service (webMethods 6.01) into a web service (hosted by webMethods) so that it can be consumed by one of our clients. The only input to this Flow service is a String called “inputXML”. I plan to use SOAP-RPC as the communications protocol.
Here are the steps I have completed:
Generated the wsdl file from the tools menu in Developer; specified SOAP-RPC as the protocol
Changed the execution ACL for my service to “Anonymous”
Gave the wsdl file to our client who wants to be able to invoke the service.
That’s it. Am I oversimplifying the process? Do I need to do anything else?
Often the confusing part of webservices implementation is the model to choose - SOAP-RPC, or SOAP-DOC.
Also any model can be used for any scenario. People often use SOAP-RPC for all implementation considering its simplicity.
Here in your case you are expecting a String which will have XML as input. When you use it as RPC, the inbuilt mechanism of marshalling, and unmarshalling with soap encoding comes to picture.
Putting XML as string will lead to errors as client may send any string. So it is better to have some definte xml using SOAP-DOC approach, which will also give flexibility in preprocessing.
Otherwise used RPC with input as Qualified XML node as input. that will restrict the input to well defined XML.