axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert J. Blanchard" <bobby...@access4less.net>
Subject Re: Question on "Soap method is not allowed to invoke"
Date Thu, 18 Nov 2004 19:38:27 GMT
Samisa,

As far as I can tell, this is still a problem.  In my own testing, I cannot
have a Java client speak to a C++ server if I use any complex types.  Is
this still slated to be fixed for 1.4?

Thanks,
Rob


--- "Samisa Abeysinghe" <samisa_abeysinghe@yahoo.com> wrote:



> Hi Duke,
>    It is nice to hear that your service is working.
>
>    May be your rpc service is not using complex types. Please have a look
at the
> http://nagoya.apache.org/jira/browse/AXISCPP-136 issue. Specially go
through the comments that I
> have added. This issue is yet to be solved and surfaces when you have
complex types involved in
> the messages. (To my knowlege it is not fixed, but if it is working, then
we are through)
>
> Thanks,
> Samisa...
>
>
> --- "Buster, Duke (NM75)" <Duke.Buster@honeywell.com> wrote:
>
> > > Axis C++ uses "SOAPAction" HTTP header to locate
> > > the method being invoked.
> > > By default Axis Java does not set this.
> >
> > Thanks!  Having the Java client set the SOAPAction solved the problem.
> >
> > > BTW: Did you use Axis Java client from the same host?
> >
> > No.  My test client was C++ built from the wsdl.
> >
> > > 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.
> >
> > I am using an RPC style service, and it did work with a Java client.  I
> > compared the XML from the Java client and the C++ test client.  There
are
> > some differences:
> >   - Java client does not include the line:  <?xml version='1.0'
> > encoding='utf-8' ?>
> >   - Java client uses the keyword 'soapenv' versus 'soap-env' in the C++.
> > Apparently, the differences were not significant.
> >
> > In case someone cares, here is the XML from the two clients.
> >
> > From Java client
> > ----------------
> > POST /axis/C4iToVirtualServer HTTP/1.0
> > Content-Type: text/xml; charset=utf-8
> > Accept: application/soap+xml, application/dime, multipart/related,
text/*
> > User-Agent: Axis/1.2beta
> > Host: 127.0.0.1:80
> > Cache-Control: no-cache
> > Pragma: no-cache
> > SOAPAction: "C4iToVirtualServer#processFreeTextMessage"
> > Content-Length: 482
> > <soapenv:Envelope
> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> >   <soapenv:Body>
> >     <junk that I took out to keep this shorter>
> >   </soapenv:Body>
> > </soapenv:Envelope>
> >
> > From C++ test client
> > --------------------
> > POST /axis/C4iToVirtualServer HTTP/1.1
> > Host: 127.0.0.1:80
> > Content-Type: text/xml; charset=UTF-8
> > SOAPAction: "C4iToVirtualServer#sendFreeTextMessage"
> > Content-Length: 527
> > <?xml version='1.0' encoding='utf-8' ?>
> > <SOAP-ENV:Envelope
> > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> >   <SOAP-ENV:Body>
> >     <junk that I took out to keep this shorter>
> >   </SOAP-ENV:Body>
> > </SOAP-ENV:Envelope>
> >
> >
> > -Duke
> >
> > -----Original Message-----
> > From: Samisa Abeysinghe [mailto:samisa_abeysinghe@yahoo.com]
> > Sent: Monday, November 15, 2004 6:27 PM
> > To: Apache AXIS C User List
> > Subject: Re: Question on "Soap method is not allowed to invoke"
> >
> >
> > 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)" <Duke.Buster@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
> >
> >
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Meet the all-new My Yahoo! - Try it today!
> http://my.yahoo.com
>
>
>



Mime
View raw message