First and foremost, I would like to take my hats off to Axis2 community.
You all have definately raised the standards for SOAP Engines, Web Services
and SOA in general. I would like to help out but don't know how. Please
send me some information on how I could get involved.
Secondly, I have a few questions.
1. How does Axis2 generate the ?wsdl for multiple services in a SINGLE WSDL
file
2. Is there a one to one mapping of the service name in the
service.xmlfile when there is a wsdl file in the META-INF folder
3. What is the connection of the service.xml and the *.wsdl file located in
the META-INF folder
How does Axis2 1.2 handle Multiple Services in a SINGLE WSDL file. i.e. if
the wsdl looks something like the wsdl below. The behavior that I am seeing
is that when you ask for the wsdl via (?wsdl) the SOAP engine will correctly
generate the wsdl for one service but NOT the other.
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="Stock"
...
<service name="MyService1">
<documentation>Service Example</documentation>
<port name="MyPort1" binding="tns:MyPortBinding1">
<soap:address location=http://localhost:8080/services/MyService1/>
</port>
</service>
<service name="MyService2">
<documentation>Service Example</documentation>
<port name="MyPort2" binding="tns:MyPortBinding2">
<soap:address location= http://localhost:8080/services/MyService2/>
</port>
</service>
</definitions>
And my service.xml file would look something like this
<serviceGroup>
<service name="MyService1">
<description>
Example of Multiple Services within one wsdl
</description>
<parameter name="ServiceClass">
example.multiple.services.test.MyServcice1
</parameter>
<messageReceivers>
<messageReceiver mep=" http://www.w3.org/2004/08/wsdl/in-out"
class="example.multiple.receivers.MyCustomMessageReceiver "/>
</messageReceivers>
</service>
<service name="MyService2">
<description>
Example of Multiple Services within one wsdl
</description>
<parameter name="ServiceClass">
example.multiple.services.test.MyServcice2
</parameter>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="example.multiple.receivers.MyCustomMessageReceiver "/>
</messageReceivers>
</service>
</serviceGroup>
By the way, I am using the original wsdl file in the META-INF folder. all
of the corresponding schemas and source class files are in the correct
location.
-Patrick