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