Hi, The WSDL needs the following change and it will start wrking when u view with ?wsdl:
<element name="documento"> <simpleType> <restriction base="xs:string"/> </simpleType> </element> to <element name="documento" type="temp"/> <simpleType name="temp"> <restriction base="xs:string"/> </simpleType> This will work. As for u cannot modify the WSDL, then I had asked for a patch from axis guys but no reply till now. So if no change, then carry on with the exception or u have a solution of u specifically giving the wsdl file path in ur wsdd file e.g. <wsdlFile>/com/citigroup/oscar/tw/webservices/eTreshuryTest.wsdl</wsdlFi le> My suggestion is modify the WSDL. Thanks & Regards Pranay Parsatwar MphasiS India 2nd Floor,, The Leela Business Park Andheri Kurla Road, Andheri (East) Mumbai - 400 059 Tel: (91)-22-56777777 http://www.mphasis.com/ -----Original Message----- From: Luca Manganelli [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 26, 2004 2:20 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Problem with a WSDL Hi, I have this WSDL (that I cannot modify): <?xml version="1.0" encoding="UTF-8"?> <definitions name="HelloWorld" targetNamespace="http://acm.org/samples" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:tns="http://acm.org/samples" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <types> <schema targetNamespace="http://acm.org/samples" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="documento"> <simpleType> <restriction base="xs:string"/> </simpleType> </element> </schema> </types> <message name="HelloWorldResponseMessage"> <part name="payload" type="xs:string"/> </message> <message name="HelloWorldRequestMessage1"> <part element="tns:documento" name="payload"/> </message> <portType name="HelloWorld"> <operation name="process"> <input message="tns:HelloWorldRequestMessage1"/> <output message="tns:HelloWorldResponseMessage"/> </operation> </portType> <binding name="clientServiceBinding" type="tns:HelloWorld"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> <operation name="process"> <soap:operation soapAction="" style="rpc" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> <input> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> </input> <output> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> </output> </operation> </binding> <service name="clientService"> <port binding="tns:clientServiceBinding" name="clientServicePort"> <soap:address location="http://sagitta:50000/active-bpel/services/clientService" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/> </port> </service> </definitions> note that "documento" in <types>. Then I do a WSDL2Java with --server-side parameter to generate a server side webservice (in localhost). But when I Deploy it to my axis server, seeing the WSDL of that service, the notably error occurs: makeTypeElement() was told to create a type "{http://acm.org/samples}>documento", with no containing element at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1723) at org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:395) at org.apache.axis.wsdl.fromJava.Types.writeTypeAndSubTypeForPart(Types.jav a:416) at org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java:18 64) at org.apache.axis.wsdl.fromJava.Emitter.writeRequestMessage(Emitter.java:1 460) at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:1087) at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:1056) at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:471) at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:322) at org.apache.axis.providers.BasicProvider.generateWSDL(BasicProvider.java: 237) at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33 ) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104) at org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java: 316) at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:467) at org.apache.axis.transport.http.SimpleAxisWorker.execute(SimpleAxisWorker .java:328) at org.apache.axis.transport.http.SimpleAxisWorker.run(SimpleAxisWorker.jav a:155) at org.apache.axis.transport.http.SimpleAxisServer.run(SimpleAxisServer.jav a:241) at org.apache.axis.transport.http.SimpleAxisServer.start(SimpleAxisServer.j ava:284) at org.apache.axis.transport.http.SimpleAxisServer.start(SimpleAxisServer.j ava:292) at org.apache.axis.transport.http.SimpleAxisServer.main(SimpleAxisServer.ja va:373) Then I tried to "manually" modify all ">documento" occurences to "documento", recompiled java files and redeployed it. Now it seems that I can see the WSDL without errors: <wsdl:definitions targetNamespace="http://acm.org/samples" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:intf="http://acm.org/samples" xmlns:impl="http://acm.org/samples" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:apachesoap="http://xml.apache.org/xml-soap"> <!--WSDL created by Apache Axis version: 1.2RC1 Built on Sep 29, 2004 (08:29:40 EDT)--> <wsdl:message name="processResponse"> <wsdl:part name="payload" type="xsd:string"/> </wsdl:message> <wsdl:message name="processRequest"> <wsdl:part name="documento" type="intf:documento"/> </wsdl:message> <wsdl:portType name="HelloWorld"> <wsdl:operation name="process" parameterOrder="documento"> <wsdl:input name="processRequest" message="intf:processRequest"/> <wsdl:output name="processResponse" message="intf:processResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="clientServicePortSoapBinding" type="intf:HelloWorld"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="process"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="processRequest"> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://acm.org/samples"/> </wsdl:input> <wsdl:output name="processResponse"> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://acm.org/samples"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="clientService"> <wsdl:port name="clientServicePort" binding="intf:clientServicePortSoapBinding"> <wsdlsoap:address location="http://andromeda:8080/axis/services/clientService"/> </wsdl:port> </wsdl:service> </wsdl:definitions> But, wait: the <types> section is off! Then I try to use WSDL2Java to create a client, and this error appears: java.io.IOException: Type {http://acm.org/samples}documento is referenced but not defined. at org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(SymbolTab le.java:652) at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:532) at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:5 06) at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:4 83) at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:356) at java.lang.Thread.run(Unknown Source) Any idea? Thank you in advance, Luca