Expand my Community achievements bar.

Radically easy to access on brand approved content for distribution and omnichannel performant delivery. AEM Assets Content Hub and Dynamic Media with OpenAPI capabilities is now GA.

Web Service in Workflow not writing back

Avatar

Former Community Member
Hi,



Ive created a simple Web service that gets the supervisor Id from the form creator Id.

Ive tested the service on the SOAP services page and it works as expected.

But when I try to use this webservice in a workflow it doesnt write the values back into the from-variables.

Also, when you assign the formvariables to the WS-variables in the QPAC properties, the xpath boxes are not really always at the same place, ie. not filled with data or the like.



Is there a serious bug in the webservices QPAC?



Im using LC WF designer 7.0.



Id be thankful for any kind of advice how I can get webservices to run correctly in the designer.



Cheers

Gunther
6 Replies

Avatar

Level 9
Hi Gunther

If you're trying to call one workflow from another, you'd be much better off using the Chain QPAC rather than the WebServices QPAC. It's more reliable as well as more efficient.



For your web-services problem - are you using invoke, or synchronousInvoke?



Howard

http://www.avoka.com

Avatar

Former Community Member
Hello Howard,



thank you for the tip of chaining the process and not calling it as a webservice. I really didn't think of that one ;), so simple!



But we do have other webservices that arent processes.

I'm calling the webservice with synchronousInvoke. Ive read somewhere here on this forum, that someone had a similar problem. He got somekind of patch or fix for this issue.



I'll give the subprocess approach a go instead of using webservice.



Cheers,

Gunther

Avatar

Level 9
Hi Gunther



I'm not sure why you're not getting return values.

I suggest you actually try using the external web services, and see whether they work.



One of the issues may be that the wsdl of the web service you're invoking is very complex, more complex than the parser that is built into the Adobe Web Service QPAC is capable of handling. So the web service may be executing correctly, but the data is not being extracted correctly. Perhaps! If this is the case, we do have another web service QPAC you may want to try. It's takes a simpler approach than the Adobe one - rather than trying to parse the schema and present variables to you, it simply allows you to provide a xml input document, and returns a xml output document. You can embed process variables into the input doc, and can assign the output do to an XML variable, where you can use XPath expressions to extract the data. This is currently in beta, if you'd like an early copy, please let me know.



Howard

http://www.avoka.com

Avatar

Former Community Member
Hello -



I'm not sure if this is the problem you are seeing, but I have noticed that it is a point of complication. If you run a workflow via syncronousinvoke it is not guaranteed that the workflow will run to completion and return you values immediately. If an interactive action (like the chain QPac, User Qpac, Wait QPac, Script Qpac etc.) is encountered while running a process the workflow engine will return the syncronousinvoke call without the results. You will have to use the getStatus() and getResults() methods in order to determine when your process has completed and to get the results.



You can tell if a QPac is interactive or not by looking at the QPac deployement properties.



Hope this little hint helps,



Will@Adobe

Avatar

Level 9
Hi Will

Gunther indicated that when he tested it using the /services page, it worked. If it worked there, I would think it should work similarly from the web services QPAC (since they're both calling the same underlying service). This is why I suspected it might be a problem in the Web Services QPAC, rather than in the web service itself.



However, your point is a very good one.



Let us know what the resolution is, Gunther...



Howard

Avatar

Former Community Member
Im having the same problem,



though all my webservice is returning is a integer and i still get a null back



in the workflow that i have mounted as a webservice ive got a logging qpack and the integer is returned there.



But in the second workflow using the webservice qpac to connect to the webservice i get a null back.

any ideas?