Hi, When I use a Mp serializer in the wsdd file the wsdl file generated is wrong.It puts the name of the complex type as "map" and not as the name of the parameter "searchParams"(Please refer to the wsdl listing below). When I try to generate client code it gives following error :
java.io.IOException: Type http://soapinterop.org/xsd:searchParams is referenced but not defined. at org.apache.axis.wsdl.toJava.SymbolTable.checkForUndefined(Unknown Sou rce) at org.apache.axis.wsdl.toJava.SymbolTable.add(Unknown Source) at org.apache.axis.wsdl.toJava.Emitter.emit(Unknown Source) at org.apache.axis.wsdl.toJava.Emitter.emit(Unknown Source) at org.apache.axis.wsdl.WSDL2Java.emit(Unknown Source) at org.apache.axis.wsdl.WSDL2Java.main(Unknown Source) Is this a bug or am I doing something wrong? Thanks in advance Vaidya ///// wsdd file : <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="urn:eMatrixSearch" provider="java:RPC" > <parameter name="className" value="com.crd.rad.searchfwk.ExecuteSearchImpl"/> <parameter name="methodName" value="performSearch"/> <typeMapping xmlns:ns="http://soapinterop.org/xsd" qname="ns:searchParams" type="java:java.util.HashMap" serializer="org.apache.axis.encoding.ser.MapSerializerFactory" deserializer="org.apache.axis.encoding.ser.MapDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </service> </deployment> ////// wsdl file generated by Axis: <?xml version="1.0" encoding="UTF-8" ?> - <wsdl:definitions targetNamespace="http://localhost:8080/axis/services/urn:eMatrixSearch" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:impl="http://localhost:8080/axis/services/urn:eMatrixSearch-impl" xmlns:intf="http://localhost:8080/axis/services/urn:eMatrixSearch" xmlns:tns1="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <types> - <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema"> - <complexType name="Map"> - <sequence> - <element maxOccurs="unbounded" minOccurs="0" name="item"> - <complexType> - <all> <element name="key" type="xsd:anyType" /> <element name="value" type="xsd:anyType" /> </all> </complexType> </element> </sequence> </complexType> </schema> - <schema targetNamespace="http://soapinterop.org/xsd" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="searchParams" nillable="true" type="tns1:searchParams" /> </schema> - <schema targetNamespace="http://localhost:8080/axis/services/urn:eMatrixSearch" xmlns="http://www.w3.org/2001/XMLSchema"> - <complexType name="ArrayOf_xsd_string"> - <complexContent> - <restriction base="SOAP-ENC:Array"> <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[]" /> </restriction> </complexContent> </complexType> <element name="ArrayOf_xsd_string" nillable="true" type="intf:ArrayOf_xsd_string" /> </schema> </types> - <wsdl:message name="performSearchRequest"> <wsdl:part name="searchParams" type="tns1:searchParams" /> <wsdl:part name="fileURL" type="xsd:string" /> <wsdl:part name="userID" type="xsd:string" /> <wsdl:part name="passWord" type="xsd:string" /> <wsdl:part name="vault" type="xsd:string" /> </wsdl:message> - <wsdl:message name="performSearchResponse"> <wsdl:part name="return" type="intf:ArrayOf_xsd_string" /> </wsdl:message> - <wsdl:portType name="ExecuteSearchImpl"> - <wsdl:operation name="performSearch" parameterOrder="searchParams fileURL userID passWord vault"> <wsdl:input message="intf:performSearchRequest" /> <wsdl:output message="intf:performSearchResponse" /> </wsdl:operation> </wsdl:portType> - <wsdl:binding name="urn:eMatrixSearchSoapBinding" type="intf:ExecuteSearchImpl"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> - <wsdl:operation name="performSearch"> <wsdlsoap:operation soapAction="" /> - <wsdl:input> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/urn:eMatrixSearch" use="encoded" /> </wsdl:input> - <wsdl:output> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/urn:eMatrixSearch" use="encoded" /> </wsdl:output> </wsdl:operation> </wsdl:binding> - <wsdl:service name="ExecuteSearchImplService"> - <wsdl:port binding="intf:urn:eMatrixSearchSoapBinding" name="urn:eMatrixSearch"> <wsdlsoap:address location="http://localhost:8080/axis/services/urn:eMatrixSearch" /> </wsdl:port> </wsdl:service> </wsdl:definitions> "THIS E-MAIL MESSAGE ALONG WITH ANY ATTACHMENTS IS INTENDED ONLY FOR THE ADDRESSEE and may contain confidential and privileged information. If the reader of this message is not the intended recipient, you are notified that any dissemination, distribution or copy of this communication is strictly Prohibited. If you have received this message by error, please notify us immediately, return the original mail to the sender and delete the message from your system."
