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

SOAP::SOM problem: only last element of array is returned under mod_perl

Expand Messages
  • Sherzod Ruzmetov
    Hi, During debug I get the following response message: 1 Other
    Message 1 of 3 , Aug 30, 2006
    • 0 Attachment
      Hi,

      During debug I get the following response message:

      <!-- snippet -->
      <CustomCategories>
      <CustomCategory>
      <CategoryID>1</CategoryID>
      <Name>Other</Name>
      <Order>0</Order>
      </CustomCategory>
      <CustomCategory>
      <CategoryID>4715609</CategoryID>
      <Name>Thomas Kinkade</Name>
      <Order>21</Order>
      </CustomCategory>
      <CustomCategory>
      <CategoryID>4715610</CategoryID>
      <Name>G. Harvey</Name>
      <Order>8</Order>
      </CustomCategory>
      <CustomCategory>
      <CategoryID>4715611</CategoryID>
      <Name>P. Buckley Moss</Name>
      <Order>10</Order>
      </CustomCategory>
      <! -- end snippet -->

      But when I do $som->method() I only get the last item, instead of getting a
      list of //CustomCategories/CustomCategory.

      This problem is only present when my application is running as a mod_perl
      handler, but works as expected when run as a mod_cgi script (and no, I'm not
      new in mod_perl programming).

      Does anyone have any idea, what may be going wrong? I am absolutely positive
      it has something to do with the way SOAP::SOM deserializes messages.

      Before I looked into this any further I wanted to check if anyone already
      has an idea what the problem is, or can point me in the right direction
      before I am bound to waste hours (if not days) poking in the wrong place,
      for I'm sure I'm not the only person with this problem (or am I :) ).

      Thanks for everyone who contributed in putting together this great
      distribution, and making it free for the whole World to use, and bringing it
      to the quality it has reached today. Great work!


      --
      Sherzod Ruzmetov
      http://author.handalak.com/
    • Eric Bridger
      Are you creating your $som from a Soap::Lite- service() call, i.e. from WSDL? If that s the case $som- some_method() will not return an SOM object but what
      Message 2 of 3 , Aug 30, 2006
      • 0 Attachment
        Are you creating your "$som" from a Soap::Lite->service() call, i.e.
        from WSDL?
        If that's the case $som->some_method() will not return an SOM object but
        what it thinks is the result.

        Try doing $som->want_som(1) first which will return a true SOM.

        Eric


        On Wed, 2006-08-30 at 08:59, Sherzod Ruzmetov wrote:
        > Hi,
        >
        > During debug I get the following response message:
        >
        > <!-- snippet -->
        > <CustomCategories>
        > <CustomCategory>
        > <CategoryID>1</CategoryID>
        > <Name>Other</Name>
        > <Order>0</Order>
        > </CustomCategory>
        > <CustomCategory>
        > <CategoryID>4715609</CategoryID>
        > <Name>Thomas Kinkade</Name>
        > <Order>21</Order>
        > </CustomCategory>
        > <CustomCategory>
        > <CategoryID>4715610</CategoryID>
        > <Name>G. Harvey</Name>
        > <Order>8</Order>
        > </CustomCategory>
        > <CustomCategory>
        > <CategoryID>4715611</CategoryID>
        > <Name>P. Buckley Moss</Name>
        > <Order>10</Order>
        > </CustomCategory>
        > <! -- end snippet -->
        >
        > But when I do $som->method() I only get the last item, instead of getting a
        > list of //CustomCategories/CustomCategory.
        >
        > This problem is only present when my application is running as a mod_perl
        > handler, but works as expected when run as a mod_cgi script (and no, I'm not
        > new in mod_perl programming).
        >
        > Does anyone have any idea, what may be going wrong? I am absolutely positive
        > it has something to do with the way SOAP::SOM deserializes messages.
        >
        > Before I looked into this any further I wanted to check if anyone already
        > has an idea what the problem is, or can point me in the right direction
        > before I am bound to waste hours (if not days) poking in the wrong place,
        > for I'm sure I'm not the only person with this problem (or am I :) ).
        >
        > Thanks for everyone who contributed in putting together this great
        > distribution, and making it free for the whole World to use, and bringing it
        > to the quality it has reached today. Great work!
        >
        >
        > --
        > Sherzod Ruzmetov
        > http://author.handalak.com/
        >
      • Sherzod Ruzmetov
        Thanks, Eric, for your time and response. Unfortunatley, that s not the way I m creating the $som. I m creating $soap object through usual: $soap =
        Message 3 of 3 , Aug 30, 2006
        • 0 Attachment
          Thanks, Eric, for your time and response. Unfortunatley, that's not the way
          I'm creating the $som. I'm creating $soap object through usual:

          $soap = SOAP::Lite->proxy( ... );

          call. And I'm calling methods through usual:

          $som = $soap->call(...);

          syntax, and when I do:

          $som->method(); # <-- method() is actually SOAP::SOM::method(),
          # and not a placeholder for
          **some_method**.

          the problem as reported in my previous e-mail is unveiled, but ONLY
          when running as a mod_perl handler.

          Please folks, advise. I'll be up working on this issue all night tonight,
          and I would appreciate some insight on this.

          Thank you.

          --
          Sherzod Ruzmetov


          > Are you creating your "$som" from a Soap::Lite->service() call, i.e.
          > from WSDL?
          > If that's the case $som->some_method() will not return an SOM
          > object but
          > what it thinks is the result.
          >
          > Try doing $som->want_som(1) first which will return a true SOM.
          >
          > Eric
          >
          >
          > On Wed, 2006-08-30 at 08:59, Sherzod Ruzmetov wrote:
          > > Hi,
          > >
          > > During debug I get the following response message:
          > >
          > > <!-- snippet -->
          > > <CustomCategories>
          > > <CustomCategory>
          > > <CategoryID>1</CategoryID>
          > > <Name>Other</Name>
          > > <Order>0</Order>
          > > </CustomCategory>
          > > <CustomCategory>
          > > <CategoryID>4715609</CategoryID>
          > > <Name>Thomas Kinkade</Name>
          > > <Order>21</Order>
          > > </CustomCategory>
          > > <CustomCategory>
          > > <CategoryID>4715610</CategoryID>
          > > <Name>G. Harvey</Name>
          > > <Order>8</Order>
          > > </CustomCategory>
          > > <CustomCategory>
          > > <CategoryID>4715611</CategoryID>
          > > <Name>P. Buckley Moss</Name>
          > > <Order>10</Order>
          > > </CustomCategory>
          > > <! -- end snippet -->
          > >
          > > But when I do $som->method() I only get the last item,
          > instead of getting a
          > > list of //CustomCategories/CustomCategory.
          > >
          > > This problem is only present when my application is running
          > as a mod_perl
          > > handler, but works as expected when run as a mod_cgi script
          > (and no, I'm not
          > > new in mod_perl programming).
          > >
          > > Does anyone have any idea, what may be going wrong? I am
          > absolutely positive
          > > it has something to do with the way SOAP::SOM deserializes
          > messages.
          > >
          > > Before I looked into this any further I wanted to check if
          > anyone already
          > > has an idea what the problem is, or can point me in the
          > right direction
          > > before I am bound to waste hours (if not days) poking in
          > the wrong place,
          > > for I'm sure I'm not the only person with this problem (or
          > am I :) ).
          > >
          > > Thanks for everyone who contributed in putting together this great
          > > distribution, and making it free for the whole World to
          > use, and bringing it
          > > to the quality it has reached today. Great work!
          > >
          > >
          > > --
          > > Sherzod Ruzmetov
          > > http://author.handalak.com/
          > >
          >
          >
          >
        Your message has been successfully submitted and would be delivered to recipients shortly.