Hi, I am trying to write a generic service that works against another framework. This service has to support a few data types that are specified as Java Beans, but are not known at development time as they will be specified at deployment time.
A good analogy will be a service that inserts Java Beans to a database using something like hibernate. The user can choose the list of tables to expose, and gets an operation for each table. The WSDL should contain the schema of the input record, which maps to a Java Bean. So if I decide to expose the tables “CUSTOMER” and “ORDER”, the WSDL will contain two operations, one for each table. The operations must contain a request schema that matches the bean associated with the table by hibernate, “beans.Customer” and “beans.Order”. It is not possible to write a function for each operation, because it relies on the list of tables that the user configures, and the java beans associated with the tables are extracted by hibernate. This is configurable by the user and not known at development time. I have the feeling that all the pieces are there and it should be a fairly quick task, but I am having a hard time finding the starting point after reading all the documentation. The documentation deals extensively with static signatures, where the WSDL is generated dynamically based on a Java function signature that is strongly typed, but not when the Java function is generic and the request object is a configuration property. I am thinking of something like this: <service name="InsertToTables" class="sample.InsertToTablesService" scope="application"> <messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> </messageReceivers> <parameter name="ServiceClass">sample.InsertSingleRecord</parameter> <parameter name="tables"> <tables> <table>CUSTOMER</table> <table>ORDER</table> </tables> </parameter> </service> Or even add the operations individually: <operation name="customer"> <messageReceiver class="org.apache.axis2.receivers.RPCInOnlyMessageReceiver" /> <actionMapping>urn:insert</actionMapping> <parameter name="table">CUSTOMER</parameter> </operation> <operation name="order"> <messageReceiver class="org.apache.axis2.receivers.RPCInOnlyMessageReceiver" /> <actionMapping>urn:insert</actionMapping> <parameter name="table">ORDER</parameter> </operation> The service class should be generic: public void insert(Object javaBeanRecord) or: public void insert(OMElement xmlRecord) but still have the WSDL generated properly form the Java Bean of the table. I am looking for a place to plug in the schema in the WSDL generation, the rest seems very straight forward. Any help will be greatly appreciated! -- View this message in context: http://www.nabble.com/Generate-WSDL-for-dynamic-types-tf2728713.html#a7610898 Sent from the Axis - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]