Hi 1) How to build a multithreaded service using axis2c? Can wsdl2c tool generate C code with multithreading functionality? If not, what is the way to implement multithreading? 2) Can we give user defined faults in wsdl file? How will wsdl2c generate code corresponding to the faults? Will the code generate any structures for these fault types? I have an example wsdl for this. But i am not able to generate code, because wsdl2c errors out saying "No element type is defined for message faultMethodRequest" Please clarify.
Below is the wsdl for user defined faults service which takes a single integer and generates faults based on that integer value: <wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap=" http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:wsdl=" http://schemas.xmlsoap.org/wsdl/" xmlns:tns=" http://www.roguewave.com/rwsf/webservice/fault" targetNamespace=" http://www.roguewave.com/rwsf/webservice/fault" name="Fault"> <message name="faultMethodRequest"> <part name="in1" type="xsd:int"/> </message> <message name="faultMethodResponse"> <part name="return" type="xsd:int"/> </message> <message name="InvalidRequest"> <part name="data" type="xsd:int"/> </message> <message name="WrongParameter"> <part name="part1" type="xsd:int"/> <part name="part2" type="xsd:int"/> </message> <portType name="Fault"> <operation name="faultMethod" parameterOrder="in1"> <input message="tns:faultMethodRequest"/> <output message="tns:faultMethodResponse"/> <fault name="InvalidRequest" message="tns:InvalidRequest"/> <fault name="WrongParameter" message="tns:WrongParameter"/> </operation> </portType> <binding name="Fault" type="tns:Fault"> <soap:binding style="document" transport=" http://schemas.xmlsoap.org/soap/http"/> <operation name="faultMethod"> <soap:operation soapAction="faultMethod" style="document"/> <input> <soap:body use="literal" namespace=" http://www.roguewave.com/rwsf/webservice/"/> </input> <output> <soap:body use="literal" namespace=" http://www.roguewave.com/rwsf/webservice/"/> </output> <fault name="InvalidRequest"> <soap:fault name="InvalidRequest" use="literal"/> </fault> <fault name="WrongParameter"> <soap:fault name="WrongParameter" use="literal"/> </fault> </operation> </binding> <service name="Fault"> <port name="Fault" binding="tns:Fault"> <soap:address location="http://localhost:8090/fault/Fault"/> </port> </service> </wsdl:definitions> Thanks Sathya
