Whenever I try to generate the client stubs for the WSDL listed below, I get the following IOException
Element {http://www.w3.org/2001/XMLSchema}schema is referenced but not defined. Part of the problem, I believe is that they've defined their custom type in a separate xsd, viewable at http://www99.jcpenney.com/jcp/dsRegistrants.xsd but this namespace doesn't seem to be reference anywhere in the published wsdl at http://www99.jcpenney.com/jcp/wsregistrymanager.asmx?wsdl. Any thoughts on how I could modify a local copy of the WSDL to properly reference the xsd doc? Thanks, M WSDL : <?xml version="1.0" encoding="utf-8"?> <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://jcpenney.com/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://jcpenney.com/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <s:schema elementFormDefault="qualified" targetNamespace="http://jcpenney.com/"> <s:import namespace="http://www.w3.org/2001/XMLSchema" /> <s:element name="RetrieveRegistrantsDS"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="psRegistryNumber" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="piVersion" type="s:int" /> <s:element minOccurs="0" maxOccurs="1" name="psSecurityKey" type="s:string" /> </s:sequence> </s:complexType> </s:element> <s:element name="RetrieveRegistrantsDSResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetrieveRegistrantsDSResult"> <s:complexType> <s:sequence> <s:element ref="s:schema" /> <s:any /> </s:sequence> </s:complexType> </s:element> </s:sequence> </s:complexType> </s:element> <s:element name="RetrieveRegistrantsDSNS"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="psRegistryNumber" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="piVersion" type="s:int" /> </s:sequence> </s:complexType> </s:element> <s:element name="RetrieveRegistrantsDSNSResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetrieveRegistrantsDSNSResult"> <s:complexType> <s:sequence> <s:element ref="s:schema" /> <s:any /> </s:sequence> </s:complexType> </s:element> </s:sequence> </s:complexType> </s:element> <s:element name="RetrieveRegistrantsCS"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="psRegistryNumber" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="piVersion" type="s:int" /> <s:element minOccurs="0" maxOccurs="1" name="psSecurityKey" type="s:string" /> </s:sequence> </s:complexType> </s:element> <s:element name="RetrieveRegistrantsCSResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetrieveRegistrantsCSResult" type="s:string" /> </s:sequence> </s:complexType> </s:element> <s:element name="RetrieveRegistrantsStr"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="psRegistryNumber" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="piVersion" type="s:int" /> <s:element minOccurs="0" maxOccurs="1" name="psSecurityKey" type="s:string" /> </s:sequence> </s:complexType> </s:element> <s:element name="RetrieveRegistrantsStrResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetrieveRegistrantsStrResult" type="s:string" /> </s:sequence> </s:complexType> </s:element> <s:element name="DataSet" nillable="true"> <s:complexType> <s:sequence> <s:element ref="s:schema" /> <s:any /> </s:sequence> </s:complexType> </s:element> <s:element name="string" nillable="true" type="s:string" /> </s:schema> </types> <message name="RetrieveRegistrantsDSSoapIn"> <part name="parameters" element="s0:RetrieveRegistrantsDS" /> </message> <message name="RetrieveRegistrantsDSSoapOut"> <part name="parameters" element="s0:RetrieveRegistrantsDSResponse" /> </message> <message name="RetrieveRegistrantsDSNSSoapIn"> <part name="parameters" element="s0:RetrieveRegistrantsDSNS" /> </message> <message name="RetrieveRegistrantsDSNSSoapOut"> <part name="parameters" element="s0:RetrieveRegistrantsDSNSResponse" /> </message> <message name="RetrieveRegistrantsCSSoapIn"> <part name="parameters" element="s0:RetrieveRegistrantsCS" /> </message> <message name="RetrieveRegistrantsCSSoapOut"> <part name="parameters" element="s0:RetrieveRegistrantsCSResponse" /> </message> <message name="RetrieveRegistrantsStrSoapIn"> <part name="parameters" element="s0:RetrieveRegistrantsStr" /> </message> <message name="RetrieveRegistrantsStrSoapOut"> <part name="parameters" element="s0:RetrieveRegistrantsStrResponse" /> </message> <message name="RetrieveRegistrantsDSHttpGetIn"> <part name="psRegistryNumber" type="s:string" /> <part name="piVersion" type="s:string" /> <part name="psSecurityKey" type="s:string" /> </message> <message name="RetrieveRegistrantsDSHttpGetOut"> <part name="Body" element="s0:DataSet" /> </message> <message name="RetrieveRegistrantsDSNSHttpGetIn"> <part name="psRegistryNumber" type="s:string" /> <part name="piVersion" type="s:string" /> </message> <message name="RetrieveRegistrantsDSNSHttpGetOut"> <part name="Body" element="s0:DataSet" /> </message> <message name="RetrieveRegistrantsCSHttpGetIn"> <part name="psRegistryNumber" type="s:string" /> <part name="piVersion" type="s:string" /> <part name="psSecurityKey" type="s:string" /> </message> <message name="RetrieveRegistrantsCSHttpGetOut"> <part name="Body" element="s0:string" /> </message> <message name="RetrieveRegistrantsStrHttpGetIn"> <part name="psRegistryNumber" type="s:string" /> <part name="piVersion" type="s:string" /> <part name="psSecurityKey" type="s:string" /> </message> <message name="RetrieveRegistrantsStrHttpGetOut"> <part name="Body" element="s0:string" /> </message> <message name="RetrieveRegistrantsDSHttpPostIn"> <part name="psRegistryNumber" type="s:string" /> <part name="piVersion" type="s:string" /> <part name="psSecurityKey" type="s:string" /> </message> <message name="RetrieveRegistrantsDSHttpPostOut"> <part name="Body" element="s0:DataSet" /> </message> <message name="RetrieveRegistrantsDSNSHttpPostIn"> <part name="psRegistryNumber" type="s:string" /> <part name="piVersion" type="s:string" /> </message> <message name="RetrieveRegistrantsDSNSHttpPostOut"> <part name="Body" element="s0:DataSet" /> </message> <message name="RetrieveRegistrantsCSHttpPostIn"> <part name="psRegistryNumber" type="s:string" /> <part name="piVersion" type="s:string" /> <part name="psSecurityKey" type="s:string" /> </message> <message name="RetrieveRegistrantsCSHttpPostOut"> <part name="Body" element="s0:string" /> </message> <message name="RetrieveRegistrantsStrHttpPostIn"> <part name="psRegistryNumber" type="s:string" /> <part name="piVersion" type="s:string" /> <part name="psSecurityKey" type="s:string" /> </message> <message name="RetrieveRegistrantsStrHttpPostOut"> <part name="Body" element="s0:string" /> </message> <portType name="wsRegistryManagerSoap"> <operation name="RetrieveRegistrantsDS"> <input message="s0:RetrieveRegistrantsDSSoapIn" /> <output message="s0:RetrieveRegistrantsDSSoapOut" /> </operation> <operation name="RetrieveRegistrantsDSNS"> <input message="s0:RetrieveRegistrantsDSNSSoapIn" /> <output message="s0:RetrieveRegistrantsDSNSSoapOut" /> </operation> <operation name="RetrieveRegistrantsCS"> <input message="s0:RetrieveRegistrantsCSSoapIn" /> <output message="s0:RetrieveRegistrantsCSSoapOut" /> </operation> <operation name="RetrieveRegistrantsStr"> <input message="s0:RetrieveRegistrantsStrSoapIn" /> <output message="s0:RetrieveRegistrantsStrSoapOut" /> </operation> </portType> <portType name="wsRegistryManagerHttpGet"> <operation name="RetrieveRegistrantsDS"> <input message="s0:RetrieveRegistrantsDSHttpGetIn" /> <output message="s0:RetrieveRegistrantsDSHttpGetOut" /> </operation> <operation name="RetrieveRegistrantsDSNS"> <input message="s0:RetrieveRegistrantsDSNSHttpGetIn" /> <output message="s0:RetrieveRegistrantsDSNSHttpGetOut" /> </operation> <operation name="RetrieveRegistrantsCS"> <input message="s0:RetrieveRegistrantsCSHttpGetIn" /> <output message="s0:RetrieveRegistrantsCSHttpGetOut" /> </operation> <operation name="RetrieveRegistrantsStr"> <input message="s0:RetrieveRegistrantsStrHttpGetIn" /> <output message="s0:RetrieveRegistrantsStrHttpGetOut" /> </operation> </portType> <portType name="wsRegistryManagerHttpPost"> <operation name="RetrieveRegistrantsDS"> <input message="s0:RetrieveRegistrantsDSHttpPostIn" /> <output message="s0:RetrieveRegistrantsDSHttpPostOut" /> </operation> <operation name="RetrieveRegistrantsDSNS"> <input message="s0:RetrieveRegistrantsDSNSHttpPostIn" /> <output message="s0:RetrieveRegistrantsDSNSHttpPostOut" /> </operation> <operation name="RetrieveRegistrantsCS"> <input message="s0:RetrieveRegistrantsCSHttpPostIn" /> <output message="s0:RetrieveRegistrantsCSHttpPostOut" /> </operation> <operation name="RetrieveRegistrantsStr"> <input message="s0:RetrieveRegistrantsStrHttpPostIn" /> <output message="s0:RetrieveRegistrantsStrHttpPostOut" /> </operation> </portType> <binding name="wsRegistryManagerSoap" type="s0:wsRegistryManagerSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> <operation name="RetrieveRegistrantsDS"> <soap:operation soapAction="http://jcpenney.com/RetrieveRegistrantsDS" style="document" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> <operation name="RetrieveRegistrantsDSNS"> <soap:operation soapAction="http://jcpenney.com/RetrieveRegistrantsDSNS" style="document" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> <operation name="RetrieveRegistrantsCS"> <soap:operation soapAction="http://jcpenney.com/RetrieveRegistrantsCS" style="document" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> <operation name="RetrieveRegistrantsStr"> <soap:operation soapAction="http://jcpenney.com/RetrieveRegistrantsStr" style="document" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> </binding> <binding name="wsRegistryManagerHttpGet" type="s0:wsRegistryManagerHttpGet"> <http:binding verb="GET" /> <operation name="RetrieveRegistrantsDS"> <http:operation location="/RetrieveRegistrantsDS" /> <input> <http:urlEncoded /> </input> <output> <mime:mimeXml part="Body" /> </output> </operation> <operation name="RetrieveRegistrantsDSNS"> <http:operation location="/RetrieveRegistrantsDSNS" /> <input> <http:urlEncoded /> </input> <output> <mime:mimeXml part="Body" /> </output> </operation> <operation name="RetrieveRegistrantsCS"> <http:operation location="/RetrieveRegistrantsCS" /> <input> <http:urlEncoded /> </input> <output> <mime:mimeXml part="Body" /> </output> </operation> <operation name="RetrieveRegistrantsStr"> <http:operation location="/RetrieveRegistrantsStr" /> <input> <http:urlEncoded /> </input> <output> <mime:mimeXml part="Body" /> </output> </operation> </binding> <binding name="wsRegistryManagerHttpPost" type="s0:wsRegistryManagerHttpPost"> <http:binding verb="POST" /> <operation name="RetrieveRegistrantsDS"> <http:operation location="/RetrieveRegistrantsDS" /> <input> <mime:content type="application/x-www-form-urlencoded" /> </input> <output> <mime:mimeXml part="Body" /> </output> </operation> <operation name="RetrieveRegistrantsDSNS"> <http:operation location="/RetrieveRegistrantsDSNS" /> <input> <mime:content type="application/x-www-form-urlencoded" /> </input> <output> <mime:mimeXml part="Body" /> </output> </operation> <operation name="RetrieveRegistrantsCS"> <http:operation location="/RetrieveRegistrantsCS" /> <input> <mime:content type="application/x-www-form-urlencoded" /> </input> <output> <mime:mimeXml part="Body" /> </output> </operation> <operation name="RetrieveRegistrantsStr"> <http:operation location="/RetrieveRegistrantsStr" /> <input> <mime:content type="application/x-www-form-urlencoded" /> </input> <output> <mime:mimeXml part="Body" /> </output> </operation> </binding> <service name="wsRegistryManager"> <port name="wsRegistryManagerSoap" binding="s0:wsRegistryManagerSoap"> <soap:address location="http://www99.jcpenney.com/jcp/wsregistrymanager.asmx" /> </port> <port name="wsRegistryManagerHttpGet" binding="s0:wsRegistryManagerHttpGet"> <http:address location="http://www99.jcpenney.com/jcp/wsregistrymanager.asmx" /> </port> <port name="wsRegistryManagerHttpPost" binding="s0:wsRegistryManagerHttpPost"> <http:address location="http://www99.jcpenney.com/jcp/wsregistrymanager.asmx" /> </port> </service> </definitions> ------------------------------------ Marshall Greer WeddingChannel.com 888 S. Figueroa St., Suite 700 Los Angeles, CA 90017 Phone: 213-599-4194 Fax: 213-599-4180 Need to buy a wedding gift? Visit: http://www.weddingchannel.com