You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Dimuthu Leelarathne <mu...@vijayaba.cse.mrt.ac.lk> on 2002/10/23 04:42:38 UTC

Re: No such operation error using document/literal service

Hi ,

Sometime back I had to deal with the same problem. The below mail helped me
out.

Regards,
Dimuthu.

----- Original Message -----
From: "Tom Jordahl" <to...@macromedia.com>
To: <ax...@ws.apache.org>; <ax...@ws.apache.org>
Sent: Wednesday, September 03, 2003 9:19 PM
Subject: RE: No such operation fault in doc\lit


>
> You need to map the operation 'process' with the QName of the
PurchaseOrder element.  This is the way Axis knows where to send the
request.
>
> <operation name="process" qname="operNS:PurchaseOrder"
xmlns:operNS="urn:DoclitOrder" returnQName="getElementReturn"
returnType="rtns:Element" xmlns:rtns="urn:DoclitOrder" >
>       </operation>
>
>
> You will have to fill in the returnQName and namespace to match what ever
the service will return (if anything).
>
> Hope this helps.
> --
> Tom Jordahl
> Macromedia Server Development
>
> -----Original Message-----
> From: Dimuthu Leelarathne [mailto:muthulee@vijayaba.cse.mrt.ac.lk]
> Sent: Tuesday, September 03, 2002 12:22 AM
> To: axis-user@ws.apache.org; axis-dev@ws.apache.org
> Subject: No such operation fault in doc\lit
>
> I send this mail yesterday, but it doesn't appear in the list today. It
has
> got lost somehow, So I am sending it again. If there are multiple copies I
> am really sorry about it.
>
> hi,
>
> I am hoping to write a doc/literal sample that does not use wsdl so that
new
> users can use it to understand doc/literal services without going into
wsdl.
> But I get a very puzzling behavior.
> My soap message looks like this ...( good old purchaseOrder example).
>
> <soapenv:Body>
> <PurchaseOrder xmlns="urn:DoclitOrder">
> <description xmlns="">Wood carving of an Elephant</description>
> <item xmlns="">ER234</item>
> <quantity xmlns="">1</quantity>
> </PurchaseOrder>
> </soapenv:Body>
>
> But I get a fault string
>  faultString: No such operation &apos; PurchaseOrder &apos;&#xd;
> but the operation name ( whis is "process") travels in the http header. My
> HTTP header is;
>
> POST /axis/services/ProcessOrder
> HTTP/1.0Content-Type: text/xml; charset=utf-8Accept: application/soap+xml,
> application/dime, multipart/related, text/*
> User-Agent: Axis/1.1RC2
> Host: 127.0.0.1Cache-Control: no-cachePragma:
> no-cacheSOAPAction: "process"
>
> I am using Axis - 1.0 for server side and TomCat 4.1.24. Now if I manually
> replace the word "PurchaseOrder" with "process" in the SOAPMessage using
> tcpMonitor. Everything works fine. I have given the wsdd I wrote below.
>
> <service name="ProcessOrder" provider="java:RPC" style="document">
> <parameter name="className" value="samples.doclit.SimpleProcessor"/>
> <parameter name="allowedMethods" value="*"/>
> <beanMapping
> xmlns:ns="urn:DoclitOrder"
> qname="ns:PurchaseOrder"
> type="java:samples.doclit.PurchaseOrder"
> serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
> deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
> encodingStyle=""
> />
> </service>
>
> Any input is really appriciated.
>
> Thanx,
> Dimuthu.
>
>