have a class that I am exposing using Axis2 and the following in my services-context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
        <service name="BindpointMessageProvider">
                <description>Bindpoint Message Provider</description>

                <!-- <messageReceivers>
                        <messageReceiver
                                mep="http://www.w3.org/2004/08/wsdl/in-only";
                                
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
                        <messageReceiver 
mep="http://www.w3.org/2004/08/wsdl/in-out";
                                
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
                </messageReceivers>  -->

                <parameter name="ServiceClass">
                        com.bindpoint.server.providers.BindpointMessageProvider
                </parameter>

                <parameter name="ServiceObjectSupplier" locked="false">
org .apache .axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
                </parameter>
                <parameter name="SpringBeanName" locked="false">
                        bindpointMessageProvider
                </parameter>
                <operation name="loginUser">
                        <messageReceiver
                                
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
                </operation>
                <operation name="closeSession">
            <messageReceiver
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
        </operation>
        <operation name="sendMessage">
            <messageReceiver
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
        </operation>
        <operation name="getPendingMessages">
            <messageReceiver
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
        </operation>
        </service>
</serviceGroup>


The code is fairly simple, but has some getters/setters used for Spring. When I hit the WSDL page, these getters and setters show up in my WSDL file even though I have specifically left them out of the <operation> listing. My understanding is that once you specify the operations specifically and remove the default message receivers, those other methods would not be exposed.

The problem is that I am trying to consume these using Flex 3, and it's auto importer for WSDL files. However, the complex types used for some of the classes that Spring injects are causing a bug in Flex 3 to write bad proxy code. Since I don't need these methods on the client-side, it would be fine to just not expose them or the classes they deal with.

Just for the record, I tried to send the WSDL that is generated by Axis2, but it was bounced back because the message was too big.

Michael Bauer
[EMAIL PROTECTED]
http://www.codechimp.net



Reply via email to