Submit to web service - InfoPath Dev
in

InfoPath Dev

Submit to web service

Last post 10-14-2010 11:38 PM by Patrick Halstead. 5 replies.
Page 1 of 1 (6 items)
Sort Posts: Previous Next
  • 10-11-2010 01:14 AM

    Submit to web service

    Hi

    I could do with some help / advice with submitting to a web service. I have an InfoPath 2007 form that has a 13 stage workflow attached. It was designed with a query to a data source which is part of the main connection. There are other secondary sources linked as well. The form opens in a browser.

    The form submits to a form library and follows the workflow until the final stage whereby we want to save it back to the library and also submit 87 data fields to an Oracle web service. Currently I am setting the values as rules when that stage is reached, as part of the submit button.

    Unfortunately, it does not want to submit and we get an error, we are not told what that error is. There is a security field to be populated as well, but from what we can see, by adding those fields to another view,  all our data is complete and correct. Any ideas on what may be the issue.

    Many thanks in advance.

    Cheers

    Bill

  • 10-11-2010 09:59 PM In reply to

    Hi Bill,

    Did you convert your Web Service data connection into a universal data connection (UDC) and save to your data connection library?

    Patrick Halstead
    Project Manager at Qdabra
  • 10-12-2010 12:33 AM In reply to

    Hi Patrick

     We have two data connections. One as a secondary source which holds the fields we want to fill and submit to the web service, which has been converted to the same site as the form. The second was a submit to web service connection, which is not converted,.as with our submit to library connections. At a specific stage in the workflow, we have a set of rules that populate the fields in the secondary web service data source and finally a submit to web service rule, which we are then hoping sends that data through!

    When creating the connection on the form with 2007, We get two parameters after selecting the operation. The first is a string which is the security id to ensure no other data gets sent to the service, which we namtch to a field in the form with that data. The second is P09pkgP09RequestTypeUser (Complex Type) which in InfoPath 2010, lists all the relevant fields to be submitted. However in InfoPath 2007, these fields are not listed. So we added the data source using 2010 and saved the file as a 2007 template. The reason 2010  was not used from the begining, is that we are also using a grant and remove permission to the library in the workflow, and we were worried that this was not yet available for 2010.

    Can I ask, as the form was not designed with the web service as the main connection, which is the best way to submit to the web service as a secondary source?

    Many thanks for you time and help.

     

    Cheers

    Bill

  • 10-12-2010 07:12 PM In reply to

    Hi Bill,

    Best way is to send it as an XML string and have the Web Service map it into the target using some kind of data-driven mapping. That's what Qdabra's DBXL does. Totally data-driven which means the submit process isn't interrupted when the schema changes - you just change the mapping file.

    I also sense that you may have some weird 2010/2007 compat issues but I don't know for sure. Just a sense that it could be an issue. If your data source is an XML schema you are doing the right thing. You don't want to design your InfoPath form template from a Web Service or Database as that severely limits your options down the road.

    Best!

    Patrick Halstead
    Project Manager at Qdabra
  • 10-14-2010 12:26 AM In reply to

    Hi Patrick

     Many thanks for the advice, we will have a go at your suggestion of mapping.

     Cheers

    Bill

  • 10-14-2010 11:38 PM In reply to

    Send me email if you need more help.

    Patrick Halstead
    Project Manager at Qdabra
Page 1 of 1 (6 items)
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.