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

Re: [soaplite] Newbie problem: Server did not recognize the value of HTTP Header SOAPAction

Expand Messages
  • Byrne Reese
    The trick is to use the on_action subroutine that belongs to your SOAP::Lite client object. http://cookbook.soaplite.com/#customizing%20soapaction%20header ...
    Message 1 of 2 , Oct 6, 2003
    View Source
    • 0 Attachment
      The trick is to use the on_action subroutine that belongs to your
      SOAP::Lite client object.

      http://cookbook.soaplite.com/#customizing%20soapaction%20header

      > Dear SOAP::Lite Group,
      >
      > I'm a newbie to SOAP and have a question that I've scoured all
      > the docs I can find for an answer to no avail; maybe one of you can
      > tell me where I've gone wrong. Here's the scenario: I've written a
      > simple stub webservice on MSWin2K and can call the "Transact()"
      > method in the webservice using IE without problems using the URL
      > of "http://localhost/AECSpiDr/AECSpiDr.asmx/Transact". I then
      > try to
      > call the same method from a PERL script on a UNIX box and get the
      > following error:
      >
      > "SOAP Fault occurred:
      > Code = soap:Client
      > String = Server did not recognize the value of HTTP Header
      > SOAPAction: http://10.243.37.59/AECSpiDr/AECSpiDr.asmx#Transact.
      > ".
      >
      > Notice the '#' char in the error message just preceeding
      > the "Transact" method name in the SOAPAction. This looks a
      > little
      > fishy; maybe it should be a '/' char? How would I get it to change?
      >
      > Here's the code for the UNIX PERL client that I wrote that's emitting
      > the error message:
      >
      > #!/bin/perl -w
      >
      > # Test client to verify communications with AECSpiDr webservice.
      >
      > use SOAP::Lite;
      >
      > #$ENV{HTTP_proxy} = "http://proxy.myCompany.com:8080/"; #
      > doesn't
      > work and complains of undefined value in HTTP.pm.
      >
      > my $soap = SOAP::Lite
      > -http://10.243.37.59/AECSpiDr/AECSpiDr.asmx') # class -
      > not working
      > #-http://10.243.37.59/AECSpiDr') # class - not working
      > -http://10.243.37.59/AECSpiDr/AECSpiDr.asmx'); # service
      > that provides access to class
      >
      > # calling method in webservice class
      > my $result = $soap-
      >
      > if($result-
      > {
      > print "\nSOAP Fault occurred:" .
      > "\n\tCode = " . $result-
      > "\n\tString = " . $result-
      > #"\n\tActor = " . $result-faultactor .
      > #"\n\tDetail = " . $result-faultdetail .
      > "\n";
      > } else {
      > print "\nCall result is \"" . $result-
      > }
      >
      > print "\n";
      >
      > # end of file.
      >
      > The request from the UNIX PERL script is showing up in the IIS
      > Webserver log as follows:
      > "2003-10-06 21:40:10 10.243.32.101 - W3SVC1 AEC2DTXQ11 10.243.37.59
      > 80 POST /AECSpiDr/AECSpiDr.asmx - 500 HTTP/1.0 SOAP::Lite/Perl/0.55".
      >
      >
      > Thanks in advance for any help that's given.
      >
      > Sincerely,
      >
      > Dom
      >
      >
      >
      >
      >
      >
      >
      >
      >
      >
      > Yahoo! Groups Sponsor
      >
      >
      > ADVERTISEMENT
      >
      >
      >
      >
      >
      >
      >
      >
      >
      > To unsubscribe from this group, send an email to:
      > soaplite-unsubscribe@yahoogroups.com
      >
      >
      >
      >
      >
      > Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
      >
      >
      >
      >
      >


      ^byrne :/
    Your message has been successfully submitted and would be delivered to recipients shortly.