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

Perl crash when trying to use wsdl separated file:// from http:// interface

Expand Messages
  • qafourever
    Dear Soap / Perl gurus! I m using Windows Server 2k3 SP1 and Perl v5.6.1 I have no problem using soap::lite in general i.e. I can pich stock qutes from the web
    Message 1 of 1 , Sep 1, 2008
    • 0 Attachment
      Dear Soap / Perl gurus!

      I'm using Windows Server 2k3 SP1 and Perl v5.6.1

      I have no problem using soap::lite in general i.e. I can pich stock
      qutes from the web with it etc.


      But in this particular case I see perl.exe crash before I
      see "connected" text, why?

      The wsdl file describe the soap interface that is found at
      http://machinename:2222.
      (The wsdl file is not found/hosted at the http address, does it need
      to?, but instead is found on local disk)


      #!perl -w
      use SOAP::Lite +trace => qw(debug);


      my $soap = SOAP::Lite
      -> service('file://C:/Code/wsdl/webservice.x.y.1.1.wsdl')
      -> proxy('http://machinename:2222');
      <<<< crash in perl.exe
      print ">connected";


      Do I also need to update the C:/Code/wsdl/webservice.x.y.1.1.wsdl'
      file in this section?:
      <!-- Services -->
      <wsdl:service name="11WebService">


      <wsdl:port name="11Port" binding="tns:11Binding">
      <soap:address location=""/>
      </wsdl:port>


      </wsdl:service>



      The wsdl file is stored on local disk with the client, separated from
      the soap service on the remote machine. There were no implementation
      requirement to expose the wsdl file over the Internet. Tests
      with .Net
      client can use this soap interface without problem. Response size is
      1-2 k byte of data. (there is no chance wsdl method def. will be put
      where soap service is)


      I ponder, Perl might crash because method is returning too much data
      in one chunk? For example, in .Net a soap buffer-size constant needs
      to be increased from default (but I recall its about 64kb by
      default),
      to avoid exceptions.


      Is there a method to only download chunks of data using soap:lite or
      other method?


      Also I would appreciate very much if somebody could post working code
      where wsdl (file://) and soap service (http://) is NOT found at same
      place, i.e. they are separated. Preferably code that calls any public
      Internet soap service.


      Thank you,
      QA4Ever
    Your message has been successfully submitted and would be delivered to recipients shortly.