Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / General MS InfoPath Questions / February 2008

Tip: Looking for answers? Try searching our database.

Error Submitting InfoPath Form to XML Web Service

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Chris - 12 Feb 2008 10:30 GMT
Hi,

I am trying to publish a Browser-enabled Infopath form to a Forms
Server 2007 environment but have come across a problem that I've been
trying to resolve now for 2 days.  There doesn't seem to be any other
instances of this issue on any news groups that I can see!

The Simple form retreives data from a Database, where the user can
modify the information and then update this back to the database.

The Retrieval and submission of the data is performed via an XML Web
Service which is written in C#.  The Web Service contains 2 methods -
PopulateForm and SubmitForm.

The PopulateForm returns a Dataset to Infopath and The SubmitForm
accepts a Dataset back again.

The InfoPath form contains a RepeatingSection with standard Textbox
and DateTime Controls.

The Web Service is published on the same server as the Forms Server,
as is the SQL Database.

The Data Connections have been converted to UDCX files and published
to the Forms Server.

When running the Form in an Infopath client it all works fine.  The
Data is returned to the form, changes can be made and saved back to
the database again.

But when trying to run this form in the Browser we get an error.  the
Form opens and loads the data from the PopulateForm web service method
but when you click the submit button we get the following error:

WARNING

There has been an error while processing the form

Object reference not set to an instance of an object.

System.NullReferenceException: Object reference not set to an instance
of an object.
at
Microsoft.Office.InfoPath.Server.SolutionLifetime.WebServiceHelper.FindDataSetElement(XPathNavigator
xmlNode, Solution solution)
at
Microsoft.Office.InfoPath.Server.SolutionLifetime.WebServiceHelper.GenerateDataSetDiffGram(XPathNavigator
input, Solution solution, Boolean fGenerateSchema)
at
Microsoft.Office.InfoPath.Server.SolutionLifetime.WebServiceHelper.HandleSubmitDataSetInput(XPathNavigator
inputSubDOM, Boolean[] useDataSets, XmlDocument soapRequest, Solution
solution, String name)
at
Microsoft.Office.InfoPath.Server.SolutionLifetime.WebServiceHelper.PrepareSoapRequest(XPathNavigator
inputSubDOM, Boolean[] inputUseDataset, Solution solution, String
name, Boolean useSelf)
at
Microsoft.Office.InfoPath.Server.SolutionLifetime.WebServiceHelper.ExecWebRequestSync(XPathNavigator
inputSubDOM, Boolean[] inputUseDataset, XPathNavigator resultsSubDOM,
Boolean resultUseDataset, XPathNavigator errorsSubDOM, Uri serviceUrl,
Uri soapAction, Int64 timeOutMillisec, Solution solution, Document
document, String name, Boolean isQuery, DataAdapterTimer
dataAdapterTimer, DataAdapterCredentials credentials, Boolean useDcl,
Boolean useProxy, Boolean useSelf)
at
Microsoft.Office.InfoPath.Server.SolutionLifetime.DataAdapterWebServiceSubmit.Execute(Document
document, Uri soapAction, Uri serviceUrl, XPathNavigator querySubDOM,
XPathNavigator resultsSubDOM, XPathNavigator errorsSubDOM, Int64
timeout, DataAdapterCredentials credentials, Boolean useDcl, Boolean
useProxy, Boolean useSelf)
at
Microsoft.Office.InfoPath.Server.DocumentLifetime.DataAdapterWebServiceSubmit.ExecuteInternal(XPathNavigator
queryFields, XPathNavigator resultFields, XPathNavigator errors)
at
Microsoft.Office.InfoPath.Server.DocumentLifetime.DataAdapterWebServiceSubmit.Execute()
at
Microsoft.Office.InfoPath.Server.SolutionLifetime.RuleAction.EvaluateExpression(Document
document, XPathNavigator currentTarget)
at
Microsoft.Office.InfoPath.Server.SolutionLifetime.RulesRuleSet.<>c__DisplayClass7.<EvaluateExpression>b__4()
at
Microsoft.Office.InfoPath.Server.SolutionLifetime.RulesRuleSet.EvaluateExpression(Document
document, XPathNavigator targetNavigator)
at
Microsoft.Office.InfoPath.Server.DocumentLifetime.Document.ExecuteDefaultSubmitAction()
at
Microsoft.Office.InfoPath.Server.DocumentLifetime.EventSubmit.Play(Document
document, BindingServices bindingServices, EventLogProcessor
eventLogProcessor)
at
Microsoft.Office.InfoPath.Server.DocumentLifetime.Event.PlayEvent(Document
document, BindingServices bindingServices, EventLogProcessor
eventLogProcessor)
at
Microsoft.Office.InfoPath.Server.DocumentLifetime.EventLogProcessor.<>c__DisplayClass1.<ExecuteLog>b__0()
at
Microsoft.Office.InfoPath.Server.DocumentLifetime.EventLogProcessor.ExecuteLog(Int32
expectedEventLogID)
at
Microsoft.Office.InfoPath.Server.DocumentLifetime.Document.<>c__DisplayClass6.<PlayEventLog>b__3()
at
Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean
fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock
catchBlock, FinallyBlock finallyBlock)

The following information is an extract from the error log:

02/11/2008 16:49:01.42     w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Data Objects       6qh7    Verbose     Web Request: Begins
url=http://spbsrva:53000/AssistedGIWSMigration/InfoPathService.asmx
action=http://tempuri.org/SubmitForm
c3c5114b-58e5-4858-82bb-2276e97409cb
02/11/2008 16:49:01.42     w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Data Objects       13zc    Verbose     Web Request:  Preparing
SOAP message    c3c5114b-58e5-4858-82bb-2276e97409cb
02/11/2008 16:49:01.42     w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Data Objects       93wn    Verbose     Recursion: Entering
schema navigator find root element.
c3c5114b-58e5-4858-82bb-2276e97409cb
02/11/2008 16:49:01.42     w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Data Objects       93wo    Verbose     Recursion: Leaving schema
navigator find root element.    c3c5114b-58e5-4858-82bb-2276e97409cb
02/11/2008 16:49:01.42     w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Data Objects       93wn    Verbose     Recursion: Entering
schema navigator find root element.
c3c5114b-58e5-4858-82bb-2276e97409cb
02/11/2008 16:49:01.42     w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Data Objects       93wo    Verbose     Recursion: Leaving schema
navigator find root element.    c3c5114b-58e5-4858-82bb-2276e97409cb

02/11/2008 16:49:01.46     w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Runtime            82g1    Critical    There was a form postback
error. (User: SPBSRVA\Administrator, Form Name: cktest, IP: , Request:
http://spbsrva:9311/_layouts/Postback.FormServer.aspx, Form ID:
urn:schemas-microsoft-com:office:infopath:cktest:-dataFormSolution,
Type: NullReferenceException, Exception Message: Object reference not
set to an instance of an object.)    c3c5114b-58e5-4858-82bb-2276e97409cb

02/11/2008 16:49:01.47     w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Runtime            8z3p    Verbose     Calling
GlobalStorage.SetItem with index LastExceptionLogged value type
NullReferenceException.    c3c5114b-58e5-4858-82bb-2276e97409cb
02/11/2008 16:49:01.47     w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Rendering          3pcy    Verbose     Unhandled exception in
FormServer: Object reference not set to an instance of an object..
Type: System.NullReferenceException. StackTrace:    at
Microsoft.Office.InfoPath.Server.SolutionLifetime.WebServiceHelper.FindDataSetElement(XPathNavigator
xmlNode, Solution solution)     at
Microsoft.Office.InfoPath.Server.SolutionLifetime.WebServiceHelper.GenerateDataSetDiffGram(XPathNavigator
input, Solution solution, Boolean fGenerateSchema)     at
Microsoft.Office.InfoPath.Server.SolutionLifetime.WebServiceHelper.HandleSubmitDataSetInput(XPathNavigator
inputSubDOM, Boolean[] useDataSets, XmlDocument soapRequest, Solution
solution, String name)     at
Microsoft.Office.InfoPath.Server.SolutionLifetime.WebServiceHelper.PrepareSoapRequest(XPathNavigator
inputSubDOM, Boolean[] inputUseDataset, Solutio...
c3c5114b-58e5-4858-82bb-2276e97409cb
02/11/2008 16:49:01.47*    w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Rendering          3pcy    Verbose     ...n solution, String
name, Boolean useSelf)     at
Microsoft.Office.InfoPath.Server.SolutionLifetime.WebServiceHelper.ExecWebRequestSync(XPathNavigator
inputSubDOM, Boolean[] inputUseDataset, XPathNavigator resultsSubDOM,
Boolean resultUseDataset, XPathNavigator errorsSubDOM, Uri serviceUrl,
Uri soapAction, Int64 timeOutMillisec, Solution solution, Document
document, String name, Boolean isQuery, DataAdapterTimer
dataAdapterTimer, DataAdapterCredentials credentials, Boolean useDcl,
Boolean useProxy, Boolean useSelf)     at
Microsoft.Office.InfoPath.Server.SolutionLifetime.DataAdapterWebServiceSubmit.Execute(Document
document, Uri soapAction, Uri serviceUrl, XPathNavigator querySubDOM,
XPathNavigator resultsSubDOM, XPathNavigator errorsSubDOM, Int64
timeout, DataAdapterCredentials credentials...
c3c5114b-58e5-4858-82bb-2276e97409cb
02/11/2008 16:49:01.47*    w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Rendering          3pcy    Verbose     ..., Boolean useDcl,
Boolean useProxy, Boolean useSelf)     at
Microsoft.Office.InfoPath.Server.DocumentLifetime.DataAdapterWebServiceSubmit.ExecuteInternal(XPathNavigator
queryFields, XPathNavigator resultFields, XPathNavigator errors)
at
Microsoft.Office.InfoPath.Server.DocumentLifetime.DataAdapterWebServiceSubmit.Execute()
at
Microsoft.Office.InfoPath.Server.SolutionLifetime.RuleAction.EvaluateExpression(Document
document, XPathNavigator currentTarget)     at
Microsoft.Office.InfoPath.Server.SolutionLifetime.RulesRuleSet.<>c__DisplayClass7.<EvaluateExpression>b__4()
at
Microsoft.Office.InfoPath.Server.SolutionLifetime.RulesRuleSet.EvaluateExpression(Document
document, XPathNavigator targetNavigator)     at
Microsoft.Office.InfoPath.Server.DocumentLifetime.Document.ExecuteDefaul...
c3c5114b-58e5-4858-82bb-2276e97409cb
02/11/2008 16:49:01.47*    w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Rendering          3pcy    Verbose     ...tSubmitAction()     at
Microsoft.Office.InfoPath.Server.DocumentLifetime.EventSubmit.Play(Document
document, BindingServices bindingServices, EventLogProcessor
eventLogProcessor)     at
Microsoft.Office.InfoPath.Server.DocumentLifetime.Event.PlayEvent(Document
document, BindingServices bindingServices, EventLogProcessor
eventLogProcessor)     at
Microsoft.Office.InfoPath.Server.DocumentLifetime.EventLogProcessor.<>c__DisplayClass1.<ExecuteLog>b__0()
at
Microsoft.Office.InfoPath.Server.DocumentLifetime.EventLogProcessor.ExecuteLog(Int32
expectedEventLogID)     at
Microsoft.Office.InfoPath.Server.DocumentLifetime.Document.<>c__DisplayClass6.<PlayEventLog>b__3()
at
Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean
fRethrowException, TryBlock tryBlock, Filt...
c3c5114b-58e5-4858-82bb-2276e97409cb
02/11/2008 16:49:01.47*    w3wp.exe (0x1908)    0x09B8    Forms Server
Forms Services Rendering          3pcy    Verbose     ...erBlock filter,
CatchBlock catchBlock, FinallyBlock finallyBlock)
c3c5114b-58e5-4858-82bb-2276e97409cb

and the associated eventlog message:

EventType ulsexception12,
P1 w3wp.exe,
P2 6.0.3790.3959,
P3 45d6968e,
P4 microsoft.office.infopath.server,
P5 12.0.4518.0,
P6 4541816a,
P7 10473,
P8 0,
P9 nullreferenceexception,
P10 8geb.

I have debugged the Web Service Remotely.  The PopulateForm method is
sucessfully called but when trying to Submit the form it doesn;t get
as far
as the SubmitForm method.  The error seems to be in trying to compile
the XMLDocument to send back to the web service.

Additional information on the environment we're running in:

The Forms Server 2007 (sp1) is running on Windows Server 2003 R2
Standard Edition (sp2).

The database is running on SQL Server 2005 Enterprise Edition (version
9.00.3054.00)

Sorry for the long post but any help will be appreciated.

Thanks
Paresh - 12 Feb 2008 10:56 GMT
> Hi,
>
[quoted text clipped - 235 lines]
>
> Thanks

Hi,

If you are trying to receive and submit the data through a browser
enabled form, you should take a look at the following link:
http://blogs.msdn.com/infopath/archive/2007/01/29/submitting-to-a-database-via-w
eb-services-in-infopath-forms-services.aspx

We need to put somewhat more efforts to track changes on the form.

Thanks,
Paresh
Chris - 12 Feb 2008 14:12 GMT
Hi,

I have followed this document and it works fine.  Now I need to change
my form into a similar method. But the only difference between what I
have and this one is the web service code.  So, what's the missing
link that lets this example work and not mine.  Is it this Time Table
that's added to the returned dataset?

Thanks
Clay Fox - 12 Feb 2008 14:29 GMT
Hey Chris.

I am not the web service expert but I do know that the web services from
http://www.qdabra.com work in a browser based form to submit to SQL.  There
are lots of tutorials and web developer reference documents so that might
help you.  
Signature

Clay Fox / Microsoft InfoPath MVP
www.InfoPathDev.com / The InfoPath Authority / Downloads, Samples, How-To,
Experts, Forum

> Hi,
>
[quoted text clipped - 5 lines]
>
> Thanks
Chris - 12 Feb 2008 16:42 GMT
Hi,

I've finally found the problem and thought I'd update the thread just
in case anybody's interested or has a similar problem in future.

Basically, my Web Service submit method was returning a string (i.e
public string SubmitForm).  After changing this the form submitted
correctly.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.