You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by "Buster, Duke (NM75)" <Du...@honeywell.com> on 2004/11/15 22:57:14 UTC

Question on "Soap method is not allowed to invoke"

Howdy,

I am making my first attempt at a SOAP service using Axis C++ v1.3, and I am
running into the following error:  "Soap method is not allowed to invoke"
(with the extra goodie of "AxisWsddException:Requested method is not
allowed").

Here is the relevant excerpt from the server.wsdd:
<service name="C4iToVirtualServer" provider="CPP:RPC" description="yada
yada">
    <parameter name="className" value="C:\Program
Files\apache\Apache2\Axis\webservices\C4iToVirtualServer_dbg.dll"/>
    <parameter name="allowedMethods" value="initVirtualLink
sendFreeTextMessage sendMTO sendSplash "/>
</service>

Some notes and symptoms:
- The methods DO work when I use a test client on the same host and post the
requests to http://localhost/axis/C4iToVirtualServer ...
- The methods DON'T work when I use an Axis Java client on another host.  I
get the "not allowed" error message.
- I thought about fiddling with "Directory" and "Limit" directives in the
Apache2 httpd.conf.  However, I'm not sure what I'm doing, and the
AxisWsddException implies that Axis is rejecting the request, not the HTTP
server.

Any suggestions?


Thanks!

-Duke

Duke Buster
Honeywell
duke.buster@honeywell.com



Re: Question on "Soap method is not allowed to invoke"

Posted by Samisa Abeysinghe <sa...@yahoo.com>.
Axis C++ uses "SOAPAction" HTTP header to locate the method being invoked.
By default Axis Java does not set this. This must be the reason that you are getting "Requested
method is not allowed" (Yes, it should have said "SOAPAction missing" or something like that)

BTW: Did you use Axis Java client from the same host? 

Also: Even if you get the "method not allowed" problem fixed, in case you are using a RPC style
C++ service, you would not be able to interoperate with a Java client because the SOAP stream sent
by the server is incorrect. Additionally, if your Java client sends href/multiref tags, again the
server will fail to deserialize SOAP. I have not tested doclit services with C++ server and Java
client.

Thanks,
Samisa...


--- "Buster, Duke (NM75)" <Du...@honeywell.com> wrote:

> Howdy,
> 
> I am making my first attempt at a SOAP service using Axis C++ v1.3, and I am
> running into the following error:  "Soap method is not allowed to invoke"
> (with the extra goodie of "AxisWsddException:Requested method is not
> allowed").
> 
> Here is the relevant excerpt from the server.wsdd:
> <service name="C4iToVirtualServer" provider="CPP:RPC" description="yada
> yada">
>     <parameter name="className" value="C:\Program
> Files\apache\Apache2\Axis\webservices\C4iToVirtualServer_dbg.dll"/>
>     <parameter name="allowedMethods" value="initVirtualLink
> sendFreeTextMessage sendMTO sendSplash "/>
> </service>
> 
> Some notes and symptoms:
> - The methods DO work when I use a test client on the same host and post the
> requests to http://localhost/axis/C4iToVirtualServer ...
> - The methods DON'T work when I use an Axis Java client on another host.  I
> get the "not allowed" error message.
> - I thought about fiddling with "Directory" and "Limit" directives in the
> Apache2 httpd.conf.  However, I'm not sure what I'm doing, and the
> AxisWsddException implies that Axis is rejecting the request, not the HTTP
> server.
> 
> Any suggestions?
> 
> 
> Thanks!
> 
> -Duke
> 
> Duke Buster
> Honeywell
> duke.buster@honeywell.com
> 
> 
> 



		
__________________________________ 
Do you Yahoo!? 
The all-new My Yahoo! - Get yours free! 
http://my.yahoo.com