On Thu, 2005-12-22 at 09:12 +0600, Deepal Jayasinghe wrote:
Hi all;

I came up with the following way of specifying default message
receivers it can be either or both in axis2.xml and services.xml.
Service can override global Message receivers by adding the same
element in services.xml.
  <messageReceivers>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only";

class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
        <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out";

class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
    </messageReceivers>

+1!

So at the deployment time if there is an operation without a
MessageReciver specified for that and have the MEP specified then
depending on the mep correct default message receiver will be
selected.

Do I understand correctly that if I want to use a custom message
receiver for a specific operation I can do:

<service>
 <operation name="foo">
   <messageReceiver mep="xx" class="yy"/>
 </operation>
</service>
yes you can do that way, I give the higher precedence to operation message receiver , and set a default message receiver only if operation dose not specify a message receiver.

If so cool! If not, um, why not? :)

If operation have not indicate the MEP , then the default mep will be
in-out

I don't see how an operation will not specify a MEP with our deployment
model: either you have a WSDL or we manufacture one for you. If we
manufacture from Java code we know the MEP: In-Out. Is that what you
meant?

yes , from Java code I know the MEP, but if the WSDL is not there in archive file what I do is first create a AxisService using services.xml and then get its serviceClass parameter and using that class generate Schema and fill Axis* , therefore in that case if the user does not specify the MEP in operation tag of service.xml I assume that as in-out.



Sanjiva.




Reply via email to