function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion

Error: Unsupported WSDL. Found more than one part for message

Hello Salesforce gurus,


I am new to SFDC and I am running into a roadblock with the following WSDL which I am trying to generate APEX code.


The WSDL successfully got parsed but the APEX code generation failed fatally.


The error message while generating the APEX code is


Error: Unsupported WSDL. Found more than one part for message CostaAuthenticatorInput


Any workaround to solve this would be awesome. Your help is hightly appreciated.


Thanks in advance.




The actual WSDL is below


<?xml version = '1.0' encoding = 'UTF-8'?>
<definitions name="CostaFinder" targetNamespace="" xmlns:tns="" xmlns="" xmlns:soap="" xmlns:tns1="">
<schema targetNamespace="" xmlns="" xmlns:db="" elementFormDefault="qualified">
   <element name="CostaIn">
            <element name="Param1" type="string" db:index="1" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
            <element name="Param2" type="string" db:index="2" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
   <element name="CostaOut">
            <element name="CostaAuthenticator" type="string" db:index="0" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
         <element name="MyHeader">
                  <element name="Param3" minOccurs="0" type="string"/>
                  <element name="Param4" minOccurs="0" type="string"/>

   <message name="CostaAuthenticatorInput">
      <part name="header" element="tns1:MyHeader"/>
      <part name="body" element="tns1:CostaIn"/>
   <message name="CostaAuthenticatorOutput">
      <part name="body" element="tns1:CostaOut"/>
   <portType name="CostaFinder_PortType">
      <operation name="CostaAuthenticator">
         <input message="tns:CostaAuthenticatorInput"/>
         <output message="tns:CostaAuthenticatorOutput"/>
   <binding name="CostaFinder_Binding" type="tns:CostaFinder_PortType">
      <soap:binding style="document" transport=""/>
      <operation name="CostaAuthenticator">
         <soap:operation soapAction="http://costamesa:8076/webservices/server"/>
            <soap:header message="tns:CostaAuthenticatorInput" part="header" use="literal"/>
            <soap:body parts="body" use="literal"/>
            <soap:body use="literal"/>
   <service name="CostaFinder_Service">
      <port name="CostaFinder_Port" binding="tns:CostaFinder_Binding">
         <soap:address location="http://costamesa:8076/webservices/server"/>


I was able to solve the more than one part issue by adding a new <message> element for each part. Will post the WSDL later.




Does anyone know of a solution to this, that doesn't involve changing the wsdl?




Can you post the modified WSDL file? Appreciated.





Anil KinikarAnil Kinikar
If anyone trying to look for the answer..

Lakshmi Prasanna MavillapalliLakshmi Prasanna Mavillapalli
I too have same problem.Could any one help me to resolve this issue withoutchanging the WSDL file..Because I am using standard wsdls.WE should not hcange the wsdls as shown in the ablove link.I am Trying to integrate salesforce application with one webservice through Mule ESB.Please Reply ASAP.Thanks in advance