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

10022407 The POST METHOD IS NOT ALLOWED

Expand Messages
  • sheikmohamed7
    Nov 10, 2004
      Hi all,

      I am Sheik Mohamed ,software Engineer.I am developing
      Perl Webservice using SOAP::Lite Module .

      I am developed SOAP Server using SOAP::Lite module.I
      stored that in /var/www/cgi-bin/Hello.cgi

      I written WSDL file the same and stored in
      /var/www/html/Hello.wsdl.

      I am accessing the Perl webservice which is simple
      ,contains one function sayHello ,which returns Hello
      World string only.

      I can access this method by


      #!/usr/bin/perl -w
      #client.pl - Hello client
      use SOAP::Lite(+trace=>all);
      my $name = shift;
      print "\n\nCalling the SOAP Server to say hello\n\n";
      print "The SOAP Server says: ";
      print SOAP::Lite
      -> uri('urn:Hello')
      -> proxy('http://192.10.10.4/cgi-bin/sheik/hello.cgi')
      ->sayHello()->result;

      Which returns Output.

      I could not access this same using wsdl

      my wsdl is

      <?xml version="1.0" encoding="UTF-8"?>

      <definitions name="HelloAgainSOAP"
      targetNamespace="http://192.10.10.4/HelloAgain.wsdl"
      xmlns:tns="http://192.10.10.4/HelloAgain.wsdl"
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
      xmlns="http://schemas.xmlsoap.org/wsdl/">

      <message name="GetWordsResponse">
      <part name="symbol" type="xsd:string"/>
      </message>

      <portType name="HelloPortType">
      <operation name="sayHello">
      <output message="tns:GetWordsResponse"/>
      </operation>
      </portType>

      <binding name="HelloAgainBinding" type="tns:HelloAgainPortType">
      <soap:binding style="rpc"
      transport="http://schemas.xmlsoap.org/soap/http"/>
      <operation name="sayHello">
      <soap:operation soapAction="urn:HelloAgainSOAP#sayHello"/>
      <output><soap:body use="encoded" namespace="urn:HelloAgainSOAP"
      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
      </operation>
      </binding>
      <service name="HelloAgain">
      <documentation>ApniUrdu.com Translation Service</documentation>
      <port name="HelloAgainPort" binding="tns:HelloAgainBinding">
      <soap:address location="http://192.10.10.4/cgi-
      bin/sheik/hello.cgi"/>
      </port>
      </service>
      </definitions>

      I am accessing this by using

      #!/usr/bin/perl -w
      #client.pl - Hello client
      use SOAP::Lite(+trace=>all);
      my $name = shift;
      print "\n\nCalling the SOAP Server to say hello\n\n";
      print "The SOAP Server says: ";
      print SOAP::Lite
      -> uri('urn:Hello')
      -> proxy('http://localhost/HelloAgain.wsdl')
      ->sayHello()->result;


      Error Output is

      <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
      <HTML><HEAD>
      <TITLE>405 Method Not Allowed</TITLE>
      </HEAD><BODY>
      <H1>Method Not Allowed</H1>
      The requested method POST is not allowed for the URL
      /HelloAgain.wsdl.<P>
      <HR>
      <ADDRESS>Apache/1.3.23 Server at Port 80</ADDRESS>
      </BODY></HTML>


      I got SOAP error 405 POST method not allowed.I am
      trying to solve this ,I could not solve this till now.


      Plese help me ,where to store wsdl files in Apache server,What
      permission is needed or anything i have to add in httpd.conf file.
      Pleas Help me to overcome this issue.

      I need to know where i have to store the wsdl file in
      server.Any configuration needed for storing wsdl in
      server.

      hope u could findout the problem what I am facing
      .Please Help me.


      Thanks and best regards

      L.Sheik Mohamed
    • Show all 2 messages in this topic