I'm receiving the following error when parsing a wsdl we've used for java and .net c# applications. I understand the parsing is different for both the Salesforce apex generator and the FUSEIT wsdl2apex generator, but hoping I can get some help.
I'm receiving the following error: Value cannot be null. Parameter name:objectToConvert.
The wsdl used is below.
<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://custkeyservice.webservices.itsos.americancentury.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:ns1="http://acdt1403:8080/CustKeyService" name="CustKeyServiceImplService" targetNamespace="http://custkeyservice.webservices.itsos.americancentury.com/">
<wsdl:import location="http://aserver:8081/SpiService/services/CustKeyService?wsdl=CustKeyServicePortType.wsdl" namespace="http://aserver:8081/CustKeyService">
</wsdl:import>
<wsdl:binding name="CustKeyServiceImplServiceSoapBinding" type="ns1:CustKeyServicePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getCrmById2">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getCrmById2">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getCrmById2Response">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getCrmByCustId">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getCrmByCustId">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getCrmByCustIdResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getCrmById">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getCrmById">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getCrmByIdResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getCustKey">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getCustKey">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getCustKeyResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CustKeyServiceImplService">
<wsdl:port binding="tns:CustKeyServiceImplServiceSoapBinding" name="CustKeyServiceImplPort">
<soap:address location="http://aserver:8081/SpiService/services/CustKeyService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
The wsdl import is specified below
<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://acdt1403:8080/CustKeyService" name="CustKeyServicePortType" targetNamespace="http://acdt1403:8080/CustKeyService">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://acdt1403:8080/CustKeyService" version="1.0">
<xs:element name="getCrm">
<xs:complexType>
<xs:sequence>
<xs:element name="id" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getCrmByCustId">
<xs:complexType>
<xs:sequence>
<xs:element name="id" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getCrmByCustIdResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="out" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getCrmById">
<xs:complexType>
<xs:sequence>
<xs:element name="id" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getCrmByIdResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="out" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getCrmById2">
<xs:complexType>
<xs:sequence>
<xs:element name="id" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getCrmById2Response">
<xs:complexType>
<xs:sequence>
<xs:element name="out" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getCrmResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="out" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getCustKey">
<xs:complexType>
<xs:sequence>
<xs:element name="id" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getCustKeyResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="out" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:message name="getCrmResponse">
<wsdl:part element="ns1:getCrmResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCrmByCustIdResponse">
<wsdl:part element="ns1:getCrmByCustIdResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCrmByCustId">
<wsdl:part element="ns1:getCrmByCustId" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCrmById2Response">
<wsdl:part element="ns1:getCrmById2Response" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCustKey">
<wsdl:part element="ns1:getCustKey" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCrmById2">
<wsdl:part element="ns1:getCrmById2" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCrmById">
<wsdl:part element="ns1:getCrmById" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCustKeyResponse">
<wsdl:part element="ns1:getCustKeyResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getCrmByIdResponse">
<wsdl:part element="ns1:getCrmByIdResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="CustKeyServicePortType">
<wsdl:operation name="getCrmById">
<wsdl:input message="ns1:getCrmById" name="getCrmById">
</wsdl:input>
<wsdl:output message="ns1:getCrmByIdResponse" name="getCrmByIdResponse">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getCrmByCustId">
<wsdl:input message="ns1:getCrmByCustId" name="getCrmByCustId">
</wsdl:input>
<wsdl:output message="ns1:getCrmByCustIdResponse" name="getCrmByCustIdResponse">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getCrm">
<wsdl:input message="ns1:getCrm" name="getCrm">
</wsdl:input>
<wsdl:output message="ns1:getCrmResponse" name="getCrmResponse">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getCrmById2">
<wsdl:input message="ns1:getCrmById2" name="getCrmById2">
</wsdl:input>
<wsdl:output message="ns1:getCrmById2Response" name="getCrmById2Response">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getCustKey">
<wsdl:input message="ns1:getCustKey" name="getCustKey">
</wsdl:input>
<wsdl:output message="ns1:getCustKeyResponse" name="getCustKeyResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
</wsdl:definitions>
binding
andservice
elements. Theservice
element should also define aport
element.