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

type not honored in complex request doc

Expand Messages
  • Craig Dunigan
    Hi, I m writing a SOAP::Lite v0.60 client for a GeoTrust SOAP v1.1 doc/lit service that requires a complex request doc. I m using v0.60 because I would rather
    Message 1 of 3 , Jun 30, 2006
    • 0 Attachment
      Hi,

      I'm writing a SOAP::Lite v0.60 client for a GeoTrust SOAP v1.1 doc/lit
      service that requires a complex request doc. I'm using v0.60 because
      I would rather not figure out how to return the namespace to
      "SOAP-ENV:" since later versions use "Soap:". I can nest all the
      elements properly (although the existing docs *are* a little
      misleading), but the service blows up with a 500 when the elements are
      typed. I've tried adding "->type('')" to each SOAP::Data->name, as
      I've seen in the archives and elsewhere. But now I'm getting
      something totally unexpected. Something like this:

      SOAP::Data->name('Top' => \SOAP::Data->value(
      SOAP::Data->name('Key1' => 'Val1')->type(''),
      SOAP::Data->name('Level1' => \SOAP::Data->value(
      SOAP::Data->name('Key2' => 'Val2')->type('')
      ))->type('')
      ))->type('');

      produces something like this under SOAP::Trace:

      <Top xsi:type="namesp1">
      <Key1>Val1</Key1>
      <Level1 xsi:type="namesp1">
      <Key2>Val2</Key2>
      </Level1>
      </Top>

      Note every time I tried to add "->type('')" to any element that
      contained other elements, the output added the xsi:type attribute.
      What did I do or not do to make that happen?

      --
      Craig Dunigan
      IS Technical Services Specialist
      Middleware - EIS - DoIT
      University of Wisconsin, Madison

      opinions expressed are my own, not the University's
    • Eric Bridger
      SOAP::Lite does not ordinarily try to autotype complex object nodes only the leaves of your document tree. So remove the - type( ) from and
      Message 2 of 3 , Jun 30, 2006
      • 0 Attachment
        SOAP::Lite does not ordinarily try to autotype complex object nodes only
        the leaves of your document tree. So remove the ->type('') from <Top>
        and <Level1> but keep it on <Key1> and <Key2>.

        My guess is that by adding ->type() to a node SL then attempts to
        autotype what it usually does not.

        Eric


        On Fri, 2006-06-30 at 10:46, Craig Dunigan wrote:
        > Hi,
        >
        > I'm writing a SOAP::Lite v0.60 client for a GeoTrust SOAP v1.1 doc/lit
        > service that requires a complex request doc. I'm using v0.60 because
        > I would rather not figure out how to return the namespace to
        > "SOAP-ENV:" since later versions use "Soap:". I can nest all the
        > elements properly (although the existing docs *are* a little
        > misleading), but the service blows up with a 500 when the elements are
        > typed. I've tried adding "->type('')" to each SOAP::Data->name, as
        > I've seen in the archives and elsewhere. But now I'm getting
        > something totally unexpected. Something like this:
        >
        > SOAP::Data->name('Top' => \SOAP::Data->value(
        > SOAP::Data->name('Key1' => 'Val1')->type(''),
        > SOAP::Data->name('Level1' => \SOAP::Data->value(
        > SOAP::Data->name('Key2' => 'Val2')->type('')
        > ))->type('')
        > ))->type('');
        >
        > produces something like this under SOAP::Trace:
        >
        > <Top xsi:type="namesp1">
        > <Key1>Val1</Key1>
        > <Level1 xsi:type="namesp1">
        > <Key2>Val2</Key2>
        > </Level1>
        > </Top>
        >
        > Note every time I tried to add "->type('')" to any element that
        > contained other elements, the output added the xsi:type attribute.
        > What did I do or not do to make that happen?
        >
        > --
        > Craig Dunigan
        > IS Technical Services Specialist
        > Middleware - EIS - DoIT
        > University of Wisconsin, Madison
        >
        > opinions expressed are my own, not the University's
      • Craig Dunigan
        Exactly correct, Eric. Thank you! ... -- Craig Dunigan IS Technical Services Specialist Middleware - EIS - DoIT University of Wisconsin, Madison opinions
        Message 3 of 3 , Jun 30, 2006
        • 0 Attachment
          Exactly correct, Eric. Thank you!

          On Fri, 30 Jun 2006, Eric Bridger wrote:

          > SOAP::Lite does not ordinarily try to autotype complex object nodes only
          > the leaves of your document tree. So remove the ->type('') from <Top>
          > and <Level1> but keep it on <Key1> and <Key2>.
          >
          > My guess is that by adding ->type() to a node SL then attempts to
          > autotype what it usually does not.
          >
          > Eric
          >
          >
          > On Fri, 2006-06-30 at 10:46, Craig Dunigan wrote:
          >> Hi,
          >>
          >> I'm writing a SOAP::Lite v0.60 client for a GeoTrust SOAP v1.1 doc/lit
          >> service that requires a complex request doc. I'm using v0.60 because
          >> I would rather not figure out how to return the namespace to
          >> "SOAP-ENV:" since later versions use "Soap:". I can nest all the
          >> elements properly (although the existing docs *are* a little
          >> misleading), but the service blows up with a 500 when the elements are
          >> typed. I've tried adding "->type('')" to each SOAP::Data->name, as
          >> I've seen in the archives and elsewhere. But now I'm getting
          >> something totally unexpected. Something like this:
          >>
          >> SOAP::Data->name('Top' => \SOAP::Data->value(
          >> SOAP::Data->name('Key1' => 'Val1')->type(''),
          >> SOAP::Data->name('Level1' => \SOAP::Data->value(
          >> SOAP::Data->name('Key2' => 'Val2')->type('')
          >> ))->type('')
          >> ))->type('');
          >>
          >> produces something like this under SOAP::Trace:
          >>
          >> <Top xsi:type="namesp1">
          >> <Key1>Val1</Key1>
          >> <Level1 xsi:type="namesp1">
          >> <Key2>Val2</Key2>
          >> </Level1>
          >> </Top>
          >>
          >> Note every time I tried to add "->type('')" to any element that
          >> contained other elements, the output added the xsi:type attribute.
          >> What did I do or not do to make that happen?
          >>
          >> --
          >> Craig Dunigan
          >> IS Technical Services Specialist
          >> Middleware - EIS - DoIT
          >> University of Wisconsin, Madison
          >>
          >> opinions expressed are my own, not the University's
          >
          >

          --
          Craig Dunigan
          IS Technical Services Specialist
          Middleware - EIS - DoIT
          University of Wisconsin, Madison

          opinions expressed are my own, not the University's
        Your message has been successfully submitted and would be delivered to recipients shortly.