Hi Suriarachchi, Thank you very much for your time.
I try to change the wsdl file, I put each <port> element a <services>. but it fail to generate all the skeletons for all <services>. of course I use the option �Cap. Please help to look at the wsdl file below, the whole version can be found at http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?WSDL I think maybe I should create several wsdl file, each file contain one <porttype>, one <binding> and one <service> only. Is it that what the axis2 want? <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions> <wsdl:types> <s:schema elementFormDefault="qualified" targetNamespace="http://WebXml.com.cn/"> ...... </s:schema> </wsdl:types> <wsdl:message name="getSupportCitySoapIn"> <wsdl:part name="parameters" element="tns:getSupportCity" /> </wsdl:message> .......... <wsdl:message name="getWeatherbyCityNameProHttpPostOut"> <wsdl:part name="Body" element="tns:ArrayOfString" /> </wsdl:message> <wsdl:portType name="WeatherWebServiceSoap"> ........ </wsdl:portType> <wsdl:portType name="WeatherWebServiceHttpGet"> ............. </wsdl:portType> <wsdl:portType name="WeatherWebServiceHttpPost"> .......... </wsdl:portType> <wsdl:binding name="WeatherWebServiceSoap" type="tns:WeatherWebServiceSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> .......... </wsdl:binding> <wsdl:binding name="WeatherWebServiceSoap12" type="tns:WeatherWebServiceSoap"> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" /> ............. </wsdl:binding> <wsdl:binding name="WeatherWebServiceHttpGet" type="tns:WeatherWebServiceHttpGet"> <http:binding verb="GET" /> .............. </wsdl:binding> <wsdl:binding name="WeatherWebServiceHttpPost" type="tns:WeatherWebServiceHttpPost"> <http:binding verb="POST" /> ................. </wsdl:binding> <wsdl:service name="WeatherWebService1"> <wsdl:port name="WeatherWebServiceSoap" binding="tns:WeatherWebServiceSoap"> ... </wsdl:service> <wsdl:service name="WeatherWebService2"> <wsdl:port name="WeatherWebServiceSoap12" binding="tns:WeatherWebServiceSoap12"> ... </wsdl:service> <wsdl:service name="WeatherWebService3"> <wsdl:port name="WeatherWebServiceHttpGet" binding="tns:WeatherWebServiceHttpGet"> .... </wsdl:service> <wsdl:service name="WeatherWebService4"> <wsdl:port name="WeatherWebServiceHttpPost" binding="tns:WeatherWebServiceHttpPost"> .... </wsdl:service> </wsdl:definitions> Regards --------------- Guanxia Zhuang (Robin) Sycamore Networks (SDC) Phone: 021-24050832 ________________________________ From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: Thursday, July 31, 2008 12:54 PM To: [email protected] Subject: Re: [axis2] error when generate code using wsdl2java with multiple binding On Thu, Jul 31, 2008 at 9:32 AM, Zhuang, Guanxia (Robin) <[EMAIL PROTECTED]> wrote: i have got a wsdl file from http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?WSDL , and i want to generate the sever side code and client code from it. but axis4 1.4 only generate five methods. it should generate 5 methods for each binding i think. Axis2 generates the code for one portType (per service). So it generates the code for the portType of the port it selects. for Axis2 what ever your service should have one port Type. So if you can change the wsdl to as follows and use -ap option it generates correctly. <wsdl:service name="WeatherWebService1"> - - <wsdl:port name="WeatherWebServiceSoap" binding="tns:WeatherWebServiceSoap"> <soap:address location="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx"/> </wsdl:port> - <wsdl:port name="WeatherWebServiceSoap12" binding="tns:WeatherWebServiceSoap12"> <soap12:address location="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx"/> </wsdl:port> </wsdl:service> <wsdl:service name="WeatherWebService2"> - <wsdl:port name="WeatherWebServiceHttpGet" binding="tns:WeatherWebServiceHttpGet"> <http:address location="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx"/> </wsdl:port> - <wsdl:service name="WeatherWebService3"> <wsdl:port name="WeatherWebServiceHttpPost" binding="tns:WeatherWebServiceHttpPost"> <http:address location="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx"/> </wsdl:port> </wsdl:service> thanks, Amila. i try to use axis2 to generate code from other wsdl file with multiple binding, but it just generate part of the methods, not all of the methods. can anybody try this wsdl, and let me know how to generate the server side and the client side code from it? thanks Regards --------------- Guanxia Zhuang (Robin) Sycamore Networks (SDC) Phone: 021-24050832 -- Amila Suriarachchi, WSO2 Inc.
