Expand my Community achievements bar.

Web Services inetgration from Workflow 7

Avatar

Former Community Member
Hello,



I work for a consulting company (that is Adobe Tier 2 partner) and we are working on a project that converts a lot of Workfdlows in 6.2 to Workflow 7.0. Part of the conversion is integration with an external EIS - specifically SAP. We played with Web Services QPOAC (version 1.0) and discovered that for complex WSDL it fails to properly parse all complexTYpe parameters used in remote function calls so we cannot even code mappings between form fields (Xpath) and WSDL parameters

For simple WSDLs (such is public translation Web Service http://www.webservicex.net/TranslateService.asmx?WSDL) we cannot get data back froma Web Service call usig Web Services QPAC altough we can trace that the call is made correctly...



Has anybody successfully implemented at least a simple call form Workflow 7.0 to a Web Service via QPAC?



thanks much,

Daniel Zilberman

Primitive Logic

daniel.zilberman@primitivelogic.com
7 Replies

Avatar

Level 9
Hi Daniel



We did some testing, and have discovered exactly the same behavior as you. i.e. The service is invoked, but the results are never placed back into the variables.



Did you log this yet with enterprise support?



Howard



Howard Treisman

Avoka Technologies

Specializing in Custom QPAC development and LiveCycle Solutions

http://www.avoka.com/avoka/qpac_library.shtml

Avatar

Former Community Member
Hello Howard,



Yes - I did log it with Adobe enterprise support



I have received a sample workflow from an Adobe engineer that calls Google Web Services via Web Services QPAC plus some additional QPACs to set up values for workflow variables and map results from QPAC's call back to the Form.



If you give me your e-mail address I'd be happy to send that XML file and the form I'm using for your review.



I have noticed that your company developes QPACs for Workflow 7 - do you have any solution for this problem and for being able to parse WSDLs with sequential dta atypes (minOccurs =0.. or xsd:sequence elements)?



thank you,



Daniel Zilberman

Primitive Logic

Sr. Developer

daniel.zilberman@primitivelogic.com

office (415) 248-0804

cell (650) 906-4961

www.primitivelogic.com

Avatar

Level 9
Hi Daniel



I'd love to see those examples.



My email is: htreisman @ avoka.com



Yes, we do develop custom QPACs, but unfortunately no, we don't have any solution to the problem - yet.

The problem really is that dealing with repeating elements in an XML file is a difficult problem to solve in a generic way.



We are however in the process of grappling with this exact issue for a customer, and I hope to have some answers within the next few days.



I look forward to your email.



Howard



Howard Treisman

Avoka Technologies

Specializing in Custom QPAC development and LiveCycle Solutions

http://www.avoka.com/avoka/qpac_library.shtml

Avatar

Level 9
Hi Daniel



Please send me an email to: htreisman @ avoka.com



Thanks,

Howard

Avatar

Former Community Member
Hello,

Doesn't look like many people are participating in this forum - but I still would like to ask whether anyone was able to successfully initiate a workflow exposed as a Web Service (workflow properties --> Web Services access) and pass some data into a form that is stored in a FormVar.

They way I was trying to accomplish that was to create a set of "global" workflow variables so when the Workflow is exposed as Web Services, it WSDL contains all the variables as parameters:






























and than map these workflow variables to From fields using SetValues QPAC.
I have NOT been successfull in kicking off a workflow from an external app - would anyone like to share that experionce?

How about starting workflows from SetValue or Script QPACs - WITHOUT INIT FORMS, how that is working for people?

thanks
Daniel Zilberman
Sr Developer
Primitive Logic inc
daniel.zilberman@primnitivelogic.com

Avatar

Level 9
Hi Daniel<br /><br />We have been starting workflows ok via web services. The easiest way to do this it to add an extra setting to the following line to your C:\Adobe\LiveCycle\jboss\bin\run.bat file:<br />set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name=%PROGNAME% -Dadobe.workflow.service.test.enabled=true <br /><br />You can then invoke the workflow as a web service at:<br /><br />http://<yourserver>:8080/services.<br /><br />Notes:<br /><br />- You must also right click on your workflow, select Workflow Properties, and check Web Service Access.<br /><br />- You must define the variables as "in" variables<br /><br />- THe web interface only works with scalar variables - for complex types (eg Document), you have to invoke explicitly, and send the document as an attachment.<br /><br />We also have a new Web Services QPAC almost ready for you - I will hopefully send you a beta version before the end of our day today. Unfortunately we can't test it with your web services because they're not available publicly, but we've tested it with some of the public services at www.xmethods.com, and it works fine with them.<br /><br />Regards,<br />Howard

Avatar

Former Community Member
Hi Howard,<br /><br />Thanks for your reply - at am now seeing my workflow exposed as a Web Service and my simple type variables all defined as in" variables and "required" - since they all have to be there.<br /><br />Now , how do I test the WF invokation - via the same interface? When I click to the "invoke" method link I see this testing UI:<br /><br />Service Name: AccountsPayable<br />Method Name : invoke<br /> AccountsPayableNonPO02 <br />{http://www.w3.org/2001/XMLSchema}string zzprocname <br />{http://www.w3.org/2001/XMLSchema}string testmode <br />{http://www.w3.org/2001/XMLSchema}string zcompanycode <br />{http://www.w3.org/2001/XMLSchema}string zinvoiceamount <br />{http://www.w3.org/2001/XMLSchema}string zinvoicedate <br />{http://www.w3.org/2001/XMLSchema}string zpaymentterms <br />{http://www.w3.org/2001/XMLSchema}string zpodate <br />{http://www.w3.org/2001/XMLSchema}string zponumber <br />{http://www.w3.org/2001/XMLSchema}string zporequestor <br />{http://www.w3.org/2001/XMLSchema}long zsapinvoicenumber <br />{http://www.w3.org/2001/XMLSchema}string zvendor <br />{http://www.w3.org/2001/XMLSchema}string zvendorinvoicenumber <br />{http://www.w3.org/2001/XMLSchema}string zvendorname <br />{http://www.w3.org/2001/XMLSchema}string zempid <br />{http://www.w3.org/2001/XMLSchema}string zinvoicedesc <br />{http://www.w3.org/2001/XMLSchema}string zmanagername <br />{http://www.w3.org/2001/XMLSchema}string zmanagerjob <br />{http://www.w3.org/2001/XMLSchema}string zmanagerlast <br />{http://www.w3.org/2001/XMLSchema}string zinvoicecreator <br /> <br />Should I just eneter all values and try to click invoke?<br /><br />As for the Web Services QPAC - I'm pleasantly surprised yo9u guys are working on it and I'd like to emphasoize that we need support for collection types in WSDL like in this example:<br /><br /><xsd:element name="Z_AF_ESPPE_UPDATE"><br /><br /> <xsd:complexType><br /> <xsd:all><br /> <xsd:element name="EDATE1" minOccurs="0" type="s0:date"/><br /><br /> <xsd:element name="EDATE2" minOccurs="0" type="s0:date"/><br /><br /> <xsd:element name="EDATE3" minOccurs="0" type="s0:date"/><br /><br /> <xsd:element name="EDATE4" minOccurs="0" type="s0:date"/><br /><br /> <xsd:element name="EMPACTION"><br /> <xsd:simpleType><br /><br /> <xsd:restriction base="xsd:string"><br /><br /> <xsd:maxLength value="1"/><br /><br /> </xsd:restriction><br /><br /> </xsd:simpleType><br /><br /> </xsd:element><br /><br /> <xsd:element name="EMPNUM"><br /> <xsd:simpleType><br /> <xsd:restriction base="xsd:string"><br /> <xsd:maxLength value="8"/><br /> <xsd:pattern value="\d*"/><br /> </xsd:restriction><br /> .. <br /><br /> <xsd:element name="PERCENT1" minOccurs="0"><br /> <xsd:simpleType><br /> <xsd:restriction base="xsd:string"><br /> <xsd:maxLength value="20"/><br /> </xsd:restriction><br /><br /> </xsd:simpleType><br /></xsd:element><br /><br /><xsd:element name="PERCENT2" minOccurs="0"><br /> <xsd:simpleType><br /> <xsd:restriction base="xsd:string"><br /> <xsd:maxLength value="20"/><br /></xsd:restriction><br /></xsd:simpleType><br /></xsd:element><br /><br />...................<br /><br />Current version of Web Services QPAC that comes with WF server 7.0.1 does NOT support these typpes - one has to do what you suggested - wrap data in raw XML and then parse it in script... doesn't work for us! So if you guys can give us a QPAC that has a suport for complex collection tyoes - we'll be VERY interested.<br /><br />thank you again,<br />Dan Zilberman