Loading ...
Sorry, an error occurred while loading the content.

question about handling by a soap client

Expand Messages
  • Kogan, Tamara
    I have a question to SOAP client/server builders. A server published the WSDL schema with a complex type described like this: For example:
    Message 1 of 3 , Aug 17, 2006
    • 0 Attachment
      question about handling <any> by a soap client

      I have a question to SOAP client/server builders.

      A server published the WSDL schema with a complex type described like this:

      For example:

      <xsd:schema>

      <xsd:complexType name=myRequest>

      <any/>

      <xsd:complexType/>

      <xsd:schema/>

      The server expects to have instead the <any> some XML complex type which is not part of this schema and is not defined in imported schemas.

      Does your client allow adding any XML document to a SOAP message which was not describe by the WSDL schema types?

      How your client handle these elements in a server reply if the elements are not described by the WSDL? Do you return the XML as it was in the reply or raise an error complaining that the client can not marshal the nodes?

      Thanks,

      Tamara

    • tkogan2002
      I have a question to SOAP client/server builders. A server published the WSDL schema with a complex type described like this: For example:
      Message 2 of 3 , Aug 17, 2006
      • 0 Attachment
        I have a question to SOAP client/server builders.

        A server published the WSDL schema with a complex type described
        like this:
        For example:
        <xsd:schema>
        <xsd:complexType name="myRequest">
        …
        <any/>
        …
        <xsd:complexType/>
        <xsd:schema/>

        The server expects to have instead the <any> some XML complex type
        which is not part of this schema and is not defined in imported
        schemas.

        Does your client allow adding any XML document to a SOAP message
        which was not describe by the WSDL schema types?

        How your client handle these elements in a server reply if the
        elements are not described by the WSDL? Do you return the XML as it
        was in the reply or raise an error complaining that the client can
        not marshal the nodes?

        Thanks,
        Tamara
      • Steve Loughran
        ... Of course; that is exactly what xsd:any implies. There s some complexity related to namespaces, specificially whether you allow content the ##other and
        Message 3 of 3 , Aug 21, 2006
        • 0 Attachment
          On 8/17/06, tkogan2002 <tkogan@...> wrote:
          > I have a question to SOAP client/server builders.
          >
          > A server published the WSDL schema with a complex type described
          > like this:
          > For example:
          > <xsd:schema>
          > <xsd:complexType name="myRequest">
          > …
          > <any/>
          > …
          > <xsd:complexType/>
          > <xsd:schema/>
          >
          > The server expects to have instead the <any> some XML complex type
          > which is not part of this schema and is not defined in imported
          > schemas.
          >
          > Does your client allow adding any XML document to a SOAP message
          > which was not describe by the WSDL schema types?

          Of course; that is exactly what xsd:any implies.

          There's some complexity related to namespaces, specificially whether
          you allow content the ##other and ##local namespaces. the .NET XML
          engine has a different opinon on whether local xml (that is,
          non-namespaced) content, is in the ##other namespace, compared to all
          the other XML parsers. As long as your xsd:any attributes dont try and
          mandate which namespaces are allowed, you can avoid this problem.

          >
          > How your client handle these elements in a server reply if the
          > elements are not described by the WSDL? Do you return the XML as it
          > was in the reply or raise an error complaining that the client can
          > not marshal the nodes?


          "Marshal the nodes" implies some mapping to and from native objects.
          For SOAP stacks that live in the XML space, it is just XML content to
          be sent over the wire.

          Legacy SOAP stacks, those that do try and map to and from an arbitrary
          object graph, do have problems if they are handed an object graph that
          they don't know the O/X mapping for. They normally have some DOM-like
          mechanism for describing xsd:any content at both ends of the
          communication, a mechanism that is normally neglected on the grounds
          that wanting to work with the raw XML is viewed as something aberrant
          that should be discouraged.

          -steve
        Your message has been successfully submitted and would be delivered to recipients shortly.