Nitesh, I agree that your QNames look okay, but there are quite a few problems with your WSDL. You've got a serious mix and match of RPC/encoded and document/literal definitions.
I think your specific error is caused by the way you've defined your <soap:body> elements: <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namesapce="http://craft.epfl.ch/wsdl/HelloServer.wsdl" use="literal"/> 1) you have "namespace" spelled wrong (so perhaps wsdl2java ignored the binding definition -- hence no binding was defined) 2) you should not use the "encodingStyle" and the "namespace" attributes on document/literal bindings. Your <soap:body> elements should be defined like this: <soap:body use="literal"/> You also have typos in some of your message names: <message name="sayHellToRequest"> <part name="name" type="xsd:string"/> </message> Some basic guidelines for doc/literal bindings: - Don't use the soapenc:array type. Define your own array using the minOccurs and maxOccurs attributes. - You have only one message part per message. That message part must reference an element definition rather than a type definition. - To use the Wrapped style, the referenced element definition must have the same name as the portType operation name. The element must be defined as a <sequence>. The operation parameters are defined as elements within the sequence. For example, your addRequest message should be defined like this: <message name="addRequest"> <part name="parameters" element="tns:add"/> </message> And the add element should be defined like this: <element name="add"> <complexType> <sequence> <element name="num1" type="xsd:int"/> <element name="num2" type="xsd:int"/> </sequence> </complexType> </element> I suggest you get a WSDL editor to help you define your WSDL documents. The Cape Clear SOA Editor is free. See http://www.capescience.com/soa/index.shtml Anne -----Original Message----- From: NITESH GUPTA [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 01, 2004 6:15 AM To: [EMAIL PROTECTED] Subject: java.io.IOException: Emitter failure. There is an undefined binding (HelloServerBinding) in the WSDL document. Hi, I got the error : java.io.IOException: Emitter failure. There is an undefined binding (HelloServerBinding) in the WSDL document. Hint: make sure <port binding=".."> is fully qualified. I checked my WSDL file and everything seems ok. I'm not able to figure out why I am getting this error. I have included the WSDL file below. Any help is appreciated. Thanks in advance, Nitesh <?xml version="1.0" encoding="UTF-8"?> <definitions name="HelloServer" targetnamespace="http://craft.epfl.ch/wsdl/HelloServer.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://craft.epfl.ch/wsdl/HelloServer.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://craft.epfl.ch/schema"> <types> <xsd:schema targetnamespace="http://craft.epfl.ch/wsdl/HelloServer.wsdl" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <xsd:complexType name="ArrayOfString"> <xsd:complexContent> <xsd:restriction base="soapenc:Array"> <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="string[]"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="HelloUser"> <xsd:sequence> <xsd:element name="userID" type="xsd:int"/> <xsd:element name="userName" nillable="true" type="xsd:string"/> <xsd:element maxOccurs="unbounded" name="userAdd" nillable="true" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:schema> </types> <message name="addRequest"> <part name="num1" type="xsd:int"/> <part name="num2" type="xsd:int"/> </message> <message name="addResponse"> <part name="result" type="xsd:int"/> </message> <message name="sayHellToRequest"> <part name="name" type="xsd:string"/> </message> <message name="sayHellToResponse"> <part name="reply" type="xsd:string"/> </message> <message name="sayHellTo1Request"> <part name="names" type="xsd1:ArrayOfString"/> </message> <message name="sayHellTo1Resonse"> <part name="reply" type="xsd:string"/> </message> <message name="testUserRequest"> <part name="user" type="xsd1:HelloUser"/> </message> <message name="testUserResponse"> </message> <portType name="HelloServer"> <operation name="add" parameterOrder="num1 num2"> <input message="tns:addRequest" name="addRequest"/> <output message="tns:addResponse" name="addResponse"/> </operation> <operation name="sayHelloTo"> <input message="tns:sayHelloToRequest" name="sayHelloToRequest"/> <output message="tns:sayHelloToResponse" name="sayHelloToResponse"/> </operation> <operation name="sayHelloTo1"> <input message="tns:sayHelloTo1Request" name="sayHelloTo1Request"/> <output message="tns:sayHelloTo1Response" name="sayHelloTo1Response"/> </operation> <operation name="testUser"> <input message="tns:testUserRequest" name="testUserRequest"/> <output message="tns:testUserResponse" name="testUserResponse"/> </operation> </portType> <binding name="HelloServerBinding" type="tns:HelloServer"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="add"> <soap:operation soapAction=""/> <input name="addRequest"> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namesapce="http://craft.epfl.ch/wsdl/HelloServer.wsdl" use="literal"/> </input> <output name="addResponse"> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namesapce="http://craft.epfl.ch/wsdl/HelloServer.wsdl" use="literal"/> </output> </operation> <operation name="sayHelloTo"> <soap:operation soapAction=""/> <input name="sayHelloToRequest"> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namesapce="http://craft.epfl.ch/wsdl/HelloServer.wsdl" use="literal"/> </input> <output name="sayHelloToResponse"> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namesapce="http://craft.epfl.ch/wsdl/HelloServer.wsdl" use="literal"/> </output> </operation> <operation name="sayHelloTo1"> <soap:operation soapAction=""/> <input name="sayHelloTo1Request"> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namesapce="http://craft.epfl.ch/wsdl/HelloServer.wsdl" use="literal"/> </input> <output name="sayHelloTo1Response"> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namesapce="http://craft.epfl.ch/wsdl/HelloServer.wsdl" use="literal"/> </output> </operation> <operation name="testUser"> <soap:operation soapAction=""/> <input name="testUserRequest"> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namesapce="http://craft.epfl.ch/wsdl/HelloServer.wsdl" use="literal"/> </input> <output name="testUserResponse"> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namesapce="http://craft.epfl.ch/wsdl/HelloServer.wsdl" use="literal"/> </output> </operation> </binding> <service name="HelloServerService"> <port name="HelloServerPort" binding="tns:HelloServerBinding"> <soap:address location="http//:craftgepc18.epfl.ch:8080/axis/services/helloserver"/> </port> </service> </definitions>