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

-soaplite ~C question.

Expand Messages
  • Seth Sternglanz
    Hey all, I m kind of new to SOAP but the SOAP::Lite perl library seems very cool. I had no problems getting my perl soap client to talk to my perl soap
    Message 1 of 2 , Mar 16 12:58 PM
    • 0 Attachment
      Hey all, I'm kind of new to SOAP but the SOAP::Lite perl library
      seems very cool. I had no problems getting my perl soap client to talk to
      my perl soap server. However, as part of the project I'm working on, I have
      to get a Java-apache-soap-client to talk to my Perl soap server. I'm having
      a little trouble at the moment.

      When my SOAP server returns an array of arrays it sends a default
      namespace URI of ~C for the outer array. For example:

      ----excerpt of SOAP server response-----------
      <SOAP-ENC:Array xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="~C:Array[3]">
      <s-gensym24 xsi:type="SOAP-ENC:Array"
      SOAP-ENC:arrayType="xsd:ur-type[7]">
      ---end excerpt--------------------------------------------

      I noticed that on line 474 of SOAP/Lite.pm it says:

      $type = '~C:Array' if $self->autotype && !defined $type; # make ApacheSOAP
      users happy

      Which is interesting. However, my ApacheSOAP client is unhappy--it
      says:

      Caught SOAPException (SOAP-ENV:Client): Unable to resolve namespace URI for
      '~C'.

      I was wondering if anyone could point me in the direction to go to
      get my ApacheSOAP client to understand my SOAP::Lite server's response.
      Should I be turning off autotyping on the server side? Or writing a custom
      de-serializer on the ApacheSOAP client side? Or is there an easier way to do
      this?

      Thanks for the help!

      -Seth
    • Paul Kulchenko
      Hi, Seth! Hm, looks like a bug for me. You may download the latest version and specify type for one of the elements explicitely (so arrayType on outer array
      Message 2 of 2 , Mar 16 7:21 PM
      • 0 Attachment
        Hi, Seth!

        Hm, looks like a bug for me. You may download the latest version and
        specify type for one of the elements explicitely (so arrayType on
        outer array will be "ur-type[]"), but it's just temporarely and will
        be fixed in next version (it's about to be released). I don't think
        you could do anything on ApacheSOAP side, but specifying type
        explicitely on server side should help. Sorry for inconvenience. Let
        me know if you'll find anything else or will have any other
        questions.

        Best wishes, Paul.

        --- Seth Sternglanz <ssternglanz@...> wrote:
        > Hey all, I'm kind of new to SOAP but the SOAP::Lite perl library
        > seems very cool. I had no problems getting my perl soap client to
        > talk to
        > my perl soap server. However, as part of the project I'm working
        > on, I have
        > to get a Java-apache-soap-client to talk to my Perl soap server.
        > I'm having
        > a little trouble at the moment.
        >
        > When my SOAP server returns an array of arrays it sends a default
        > namespace URI of ~C for the outer array. For example:
        >
        > ----excerpt of SOAP server response-----------
        > <SOAP-ENC:Array xsi:type="SOAP-ENC:Array"
        > SOAP-ENC:arrayType="~C:Array[3]">
        > <s-gensym24 xsi:type="SOAP-ENC:Array"
        > SOAP-ENC:arrayType="xsd:ur-type[7]">
        > ---end excerpt--------------------------------------------
        >
        > I noticed that on line 474 of SOAP/Lite.pm it says:
        >
        > $type = '~C:Array' if $self->autotype && !defined $type; # make
        > ApacheSOAP
        > users happy
        >
        > Which is interesting. However, my ApacheSOAP client is unhappy--it
        > says:
        >
        > Caught SOAPException (SOAP-ENV:Client): Unable to resolve namespace
        > URI for
        > '~C'.
        >
        > I was wondering if anyone could point me in the direction to go to
        > get my ApacheSOAP client to understand my SOAP::Lite server's
        > response.
        > Should I be turning off autotyping on the server side? Or writing a
        > custom
        > de-serializer on the ApacheSOAP client side? Or is there an easier
        > way to do
        > this?
        >
        > Thanks for the help!
        >
        > -Seth
        >
        > ------------------------ Yahoo! Groups Sponsor
        >
        > To unsubscribe from this group, send an email to:
        > soaplite-unsubscribe@yahoogroups.com
        >
        >
        >
        > Your use of Yahoo! Groups is subject to
        > http://docs.yahoo.com/info/terms/
        >
        >


        __________________________________________________
        Do You Yahoo!?
        Get email at your own domain with Yahoo! Mail.
        http://personal.mail.yahoo.com/
      Your message has been successfully submitted and would be delivered to recipients shortly.