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

Uris and namespaces in wsdl?

Expand Messages
  • citanarf
    Hi, I m trying to use a SOAP::Lite server with the service() method. However, the server complains doesn t like the call:
    Message 1 of 2 , Mar 7, 2003
    View Source
    • 0 Attachment
      Hi,

      I'm trying to use a SOAP::Lite server
      with the service() method. However, the server complains doesn't like
      the call:
      <faultstring xsi:type="xsd:string">SOAPAction shall match 'uri#method'
      if present (got 'Foo#DoThing', expected '#DoThing'
      </faultstring>

      wsdl:
      <binding name="FooSoapB" type="FooSoap">
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
      style="document" />
      <operation name="DoThing">
      <soap:operation soapAction="Foo#DoThing" style="document" />

      If I change the soapAction to "#DoThing" the server will complain:

      <faultstring xsi:type="xsd:string">Denied access to method (DoThing)
      in class (main) at /usr/share/perl5/SOAP/Lite.pm line 2128.
      </faultstring>

      Server:
      SOAP::Transport::HTTP::CGI
      -> dispatch_to('Foo')
      -> handle;

      package Foo;
      sub DoThing {
      # lots stuff
      }

      If I change the dispatch to dispatch_to('main') it works, but I don't
      want to do that. Which part of the wsdl corresponds to the uri and how
      is it represented in the SOAP call?
    • kedsbarve
      Add this statement on your server side script, which will stop the default check for SOAPAction made by the Soap server. This should work!! Statement: -
      Message 2 of 2 , Mar 24, 2003
      View Source
      • 0 Attachment
        Add this statement on your server side script, which will stop the
        default check for SOAPAction made by the Soap server. This should
        work!!
        Statement: -> on_action(sub {})

        > SOAP::Transport::HTTP::CGI
        -> on_action(sub {}) # Add here...
        > -> dispatch_to('Foo')
        > -> handle;



        cheers!
        kedar

        --- In soaplite@yahoogroups.com, "citanarf" <alex@f...> wrote:
        > Hi,
        >
        > I'm trying to use a SOAP::Lite server
        > with the service() method. However, the server complains doesn't
        like
        > the call:
        > <faultstring xsi:type="xsd:string">SOAPAction shall
        match 'uri#method'
        > if present (got 'Foo#DoThing', expected '#DoThing'
        > </faultstring>
        >
        > wsdl:
        > <binding name="FooSoapB" type="FooSoap">
        > <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
        > style="document" />
        > <operation name="DoThing">
        > <soap:operation soapAction="Foo#DoThing" style="document" />
        >
        > If I change the soapAction to "#DoThing" the server will complain:
        >
        > <faultstring xsi:type="xsd:string">Denied access to method (DoThing)
        > in class (main) at /usr/share/perl5/SOAP/Lite.pm line 2128.
        > </faultstring>
        >
        > Server:
        > SOAP::Transport::HTTP::CGI
        > -> dispatch_to('Foo')
        > -> handle;
        >
        > package Foo;
        > sub DoThing {
        > # lots stuff
        > }
        >
        > If I change the dispatch to dispatch_to('main') it works, but I
        don't
        > want to do that. Which part of the wsdl corresponds to the uri and
        how
        > is it represented in the SOAP call?
      Your message has been successfully submitted and would be delivered to recipients shortly.