Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. SOAP from scratch?

SOAP from scratch?

Scheduled Pinned Locked Moved C#
wcftutorialcsharpxmlquestion
4 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    Antessima
    wrote on last edited by
    #1

    Hi all, I'm trying to build a SOAP message from scratch in C# for a webservice-consuming application. The WSDL provided for the service specifies using as a paramter to a particular method a class generated by the WSDL that includes roughly 70 different properties. When such a class is returned as the result of a method on this webservice, the proxy has no trouble moving the data from the SOAP message into this class, regardless of whether all 70 properties are present or not. Those missing fields are represented in the incoming message as self-closing tags. However, when the proxy generates a SOAP message *to* the webservice using this class, generating self-closing tags for empty fields, the webservice rejects the call. It's only when it's presented with non-empty tags--and at that, not all of the properties, if they contain a value, will be accepted--will it accept the message. About 6 months ago I figured out how to create the message from scratch in C#, using the HttpWebRequest/Response classes (I think so, anyway), but since then I've lost those code files and can't figure out how I did it. Does anybody have an example of how to do it? Or, even better, any suggestions about what I can do to force the proxy to ignore empty properties when creating the SOAP message?

    J 1 Reply Last reply
    0
    • A Antessima

      Hi all, I'm trying to build a SOAP message from scratch in C# for a webservice-consuming application. The WSDL provided for the service specifies using as a paramter to a particular method a class generated by the WSDL that includes roughly 70 different properties. When such a class is returned as the result of a method on this webservice, the proxy has no trouble moving the data from the SOAP message into this class, regardless of whether all 70 properties are present or not. Those missing fields are represented in the incoming message as self-closing tags. However, when the proxy generates a SOAP message *to* the webservice using this class, generating self-closing tags for empty fields, the webservice rejects the call. It's only when it's presented with non-empty tags--and at that, not all of the properties, if they contain a value, will be accepted--will it accept the message. About 6 months ago I figured out how to create the message from scratch in C#, using the HttpWebRequest/Response classes (I think so, anyway), but since then I've lost those code files and can't figure out how I did it. Does anybody have an example of how to do it? Or, even better, any suggestions about what I can do to force the proxy to ignore empty properties when creating the SOAP message?

      J Offline
      J Offline
      jschell
      wrote on last edited by
      #2

      If all else fails you could of course just hand craft everything. So rather than trying to use the C# soap classes just use http or even TCP and just create exactly the SOAP that you need.

      A 1 Reply Last reply
      0
      • J jschell

        If all else fails you could of course just hand craft everything. So rather than trying to use the C# soap classes just use http or even TCP and just create exactly the SOAP that you need.

        A Offline
        A Offline
        Antessima
        wrote on last edited by
        #3

        That's what I'm working on right now, actually. I suppose the most specific my question could be is this: Given a class with various members, how can I turn that into a SOAP message? For instance, if my class is wsRecord, and wsRecord has a String field called ID, a String field called Title, a DateTime field called RecordDate, and a String field called Comments, how do I put that into the message? None of the examples I've found online include any messages, only empty requests that return a response.

        J 1 Reply Last reply
        0
        • A Antessima

          That's what I'm working on right now, actually. I suppose the most specific my question could be is this: Given a class with various members, how can I turn that into a SOAP message? For instance, if my class is wsRecord, and wsRecord has a String field called ID, a String field called Title, a DateTime field called RecordDate, and a String field called Comments, how do I put that into the message? None of the examples I've found online include any messages, only empty requests that return a response.

          J Offline
          J Offline
          jschell
          wrote on last edited by
          #4

          Easiest way I have found to do this. - Create something that you know works to the target system using the existing API libraries - Get it to work so it sends and receives. - Set up a packet capture tool - Run the message and capture the packets. - Use the packets to create your HTTP message.

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups