none
Data Connection to Web Service Authentication locks out user. RRS feed

  • Question

  • I have a number of client based InfoPath only forms designed in InfoPath 2007. Many of them have web service connections. Recently we have found that if a user enters his password incorrectly just once when a button is selected that calls the web service, he is immediately locked out of his account in Active Directory. I have also found that if the user enters the incorrect password once, the web service is called once and returns a BadCredentials error, but if the user enters an incorrect password a second time, the web service is called 10 more times and returns a BadCredentials error every time.

    Any ideas as to why the web service would be called 10 times when the button is hit just once? Has anyone seen this sort of behavior before? Any ideas as to why a user's account would be locked out after one incorrect password entry? Can you point me towards an avenue of investigation? I have reviewed the security group policies for InfoPath and have found no settings which are apparent causes. Other applications hit the same web services without these problems.

    Wednesday, June 1, 2011 8:57 PM

All replies

  • Hi CWhitelm,
    Thank you for posting.

    As far as I know, web service are calls to remote machines. By default the Infopath web service adapter times out after 30 seconds. I think the next time you enter an incorrect password, it need a longer time to response, Network speed is a varible, and the processing time for a complex Web service might also be long. How about changing the default timeout of Infopath:

    You can change this value in your code. Call the following method in your OnLoad event handler or just before you query from or submit to a Web service:

    Public Sub SetWSAdapterTimeout(ByVal adapterName As String, _
         ByVal seconds As Integer)
      Dim dataObj As DataObject
      Dim wsAdapter As WebServiceAdapter2 
    
      dataObj = thisXDocument.DataObjects(adapterName)
      wsAdapter = dataObj.QueryAdapter 
    
      wsAdapter.Timeout = seconds
    End Sub

     Take a try to see whether this can help you after changing the timeout smaller.

    Best Regards,


    Bruce Song [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Friday, June 3, 2011 3:47 AM
  • Hi CWhitelm,

    Have you resolved your problem yet, and does the suggestion help you? If you still have any concern on the thread, feel free to follow up.

    Best Regards,




    Bruce Song [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Tuesday, June 7, 2011 10:32 AM
  • Sorry for the delay in responding. Thank you for your time and effort.

    No, the problem has not been resolved, but we have found that it may have more to do with the servers than with InfoPath, although, it may be aspects of both. We are still working the issue.

    I will post further information when we get it resolved.

    Thank you,

    Tuesday, June 7, 2011 1:11 PM
  • Hi Cwhitelm.

    If you find out the root cause finally and share your solutions & experience here, it will be very beneficial for other community members who have similar questions.​ 

    Best Regards,


    Bruce Song [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Wednesday, June 8, 2011 11:35 AM
  • We have found no resolution to the issue yet (although due to other issues, this one was put on hold for a bit). I am still looking at the problem. Changing the timeout does not resolve this problem. It appears to have nothing to do with timeouts. When the second input of credentials is requested and entered, the 10 hits to the server happen immediately. there is no delay to them.

    We are submitting the request for the web service from code only. There is no request submitted by automatic retrieval when the form is opened. Since the web service is called only once from code, it was my contention that InfoPath would not be submitting the call more than once. Is there any way that InfoPath would be resending the call even though the code only sent it once?

    When debugging the forms, I only hit the one line of code before that happens. I need to understand the inner workings of how the web service call is submitted by InfoPath to be able to help resolve this issue. Can you point me to any resources that would help in this matter?

    Thank you for your time and effort.

    Monday, July 25, 2011 3:47 PM
  • An update to this issue.

    We opened a Microsoft incident for the problem. Microsoft is able to reproduce it and admits it appears to be a Microsoft problem, but we have, as yet, no resolution to it.

    Thanks.

    Wednesday, November 16, 2011 10:45 PM