[Catalyst] Catalyst::Controller::SOAP "no operation `index' for portType" error

Ian Sillitoe ian at sillit.com
Thu Nov 27 21:10:28 GMT 2008


I've been playing with this recently. What have you actually defined your
endpoint to be in the WSDL?

  <definition>

      ...

    <service name=3D"MyService">
        <port name=3D"MyServicePort" binding=3D"tns:MyServiceBinding">
*           <soap:address location=3D"http://example.com/service"/>*
        </port>
    </service>
  </definition>


I think the example in the synopsis shows you how to set up an endpoint for:

   /service/index

Which then dispatches to, e.g.

   /service/operation1
   /service/operation2

Did you mean that? The usual behaviour is for the endpoint to be set to the
root path - e.g.

   /service

If this is what you meant then:

   sub index :Path('') SOAP('RPCEndpoint') {}

or just use one of the subclassed controllers which sets this default
behaviour for you (depending on your style of WSDL)

   use base qw/C::C::SOAP::RPC/;
   # or
   use base qw/C::C::SOAP::DocumentLiteralWrapped/;



Cheers,

Ian

-- =

Ian Sillitoe
CATH Team -- http://cathdb.info
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20081127/b6c90=
13c/attachment.htm


More information about the Catalyst mailing list