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

    • 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 2 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.