WSDL generate method with no parameters
13,019
Solution 1
try some thing like this
<message name="RemoveURLRequest">
</message>
without using the part element.
Solution 2
You must create an empty complex Type and use it as parameter. see the following post which is a similar question : WSDL Type for getter without parameter.
Author by
kardanov
Updated on June 04, 2022Comments
-
kardanov almost 2 years
I try to generate webservice using WSDL file. There is one method with no input parameter. I did it the following way:
... <types> <xsd:schema targetNamespace="http://api.registration.company.com" xmlns:base="http://base.api.registration.company.com"> ... <xsd:element name="RemoveURLRequest"> <xsd:complexType> <xsd:sequence /> </xsd:complexType> </xsd:element> <xsd:element name="RemoveURLResponse" type="xsd:boolean" /> </xsd:schema> </types> ... <message name="RemoveURLRequest"> <part name="RemoveURLRequest" element="tns:RemoveURLRequest" /> </message> <message name="RemoveURLResponse"> <part name="RemoveURLResponse" element="tns:RemoveURLResponse" /> </message> ... <portType name="RegistrationService"> ... <operation name="RemoveURL"> <input message="tns:RemoveURLRequest" /> <output message="tns:RemoveURLResponse" /> </operation> ... </portType> <binding name="RegistrationServiceSOAP" type="tns:RegistrationService"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> ... <operation name="RemoveURL"> <soap:operation soapAction= "http://api.registration.company.com/web/services/RegistrationService/RemoveURL" style="document" /> <input> <soap:body parts="RemoveURLRequest" use="literal" /> </input> <output> <soap:body parts="RemoveURLResponse" use="literal" /> </output> </operation> </binding> <service name="RegistrationService"> <port name="RegistrationServiceSOAP" binding="tns:RegistrationServiceSOAP"> <soap:address location= "http://api.registration.company.com/web/services/RegistrationService" /> </port> </service>
According to this WSDL I expect method to be generated like this:
public boolean removeURL();
But I'm getting this:
public boolean removeURL(RemoveURLRequest removeURLRequest);
Where RemoveURLRequest is an empty class:
@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "") @XmlRootElement(name = "RemoveURLRequest") public class RemoveURLRequest { }
What am I doing wrong?