Uploaded image for project: 'Apache Flex'
  1. Apache Flex
  2. FLEX-26631

Adding custom HTTP headers to a webservice breaks soap operations

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • Adobe Flex SDK 3.5 (Release)
    • None
    • RPC: WebService
    • None
    • Affected OS(s): All OS Platforms
      Affected OS(s): All OS Platforms
      Browser: Internet Explorer 8.x
      Language Found: English

    Description

      Steps to reproduce:
      1. Add an ASP.NET 2.0 webservice to a flex 3.5.0 project (in Flash Builder) using "Connect to webservice"
      2. In the modifiable web service class add a custom http header to the constructor (mine was ws.httpHeaders =

      {Culture:"en-GB"}


      3. Use two or more calls to different webservice methods. Observer the results in fiddler

      Actual Results:
      The webservice will call all methods with the correct soap body but the http SOAPAction header will all be the same and will be the one for the first web service request.

      Expected Results:
      The SOAPAction header should be different for all methods.

      The issue lies in sdks\3.5.0\frameworks\projects\rpc\src\mx\rpc\soap\Operation.as lines 795-797. It only sets the SOAPAction header from the wsdl if it isn't already set. For some reason the httpHeaders variable in this class has stored the SOAPAction header in addition to the custom headers. I couldn't find where this was being set but it was not set when custom httpheaders were not used - in this case httpHeaders was always null.

      Workaround (if any):
      Only way for this to work is to not add custom http headers, and this is not an acceptable workaround.

      Attachments

        Activity

          People

            Unassigned Unassigned
            adobejira Adobe JIRA
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: