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 Michael Bauer <co...@gmail.com> on 2008/04/25 22:34:02 UTC

Cannot get unwanted methods out of my WSDD

  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
mbauer@codechimp.net
http://www.codechimp.net