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

Can't call methods on SOAP::Lite service from WSDL description

Expand Messages
  • jmichalicek
    My SOAP::Lite service works perfectly using a SOAP::Lite client or when I manually put the SOAP XML together from my C# client. When I try to use my WSDL file
    Message 1 of 1 , Sep 23, 2006
    • 0 Attachment
      My SOAP::Lite service works perfectly using a SOAP::Lite client or
      when I manually put the SOAP XML together from my C# client. When I
      try to use my WSDL file so that I can just make a web reference, it is
      imported with no errors but the object does not have the method I have
      defined.

      When I use the validator at
      http://www.mgateway.com/php/wsdlValidator/home.php I get the error
      "Denied access to method (getDietInfo) in class (main) at
      /usr/lib/perl5/site_perl/5.8.0/SOAP/Lite.pm line 2509."

      Some searching suggests to me that the problem is something with my
      namespace or soapaction, but I can't figure out what I might have
      incorrect in the WSDL.

      <a href="http://diet.bash-shell.net/diet.wsdl">Here is my wsdl</a>

      The method takes 2 string inputs, both in the form of yyyy/mm/dd


      One thing I am noticing, though. My SOAP::Lite client is passing the
      following SOAPAction header, SOAPAction:
      "http://diet.bash-shell.net/diet#getDietInfo", yet if I specify that
      full header with uri in the SOAPAction in my WSDL, SOAP::Lite returns
      an error to the client stating that the SOAPAction header should not
      have a uri, just "#getDietInfo"

      Any ideas what is wrong? Any WSDL gurus here that can tell me what is
      wrong with my WSDL (that seems the most likely place of the problem).
    Your message has been successfully submitted and would be delivered to recipients shortly.