I have WSDL
url like with below format and that seems is correct. After using wsimport
in terminal for parse that I get an error:
Run from terminal:
tux-world@alachiq:~/Desktop/Project/java > wsimport -keep -s wsdl/ example.com/wsdl/wsdl.php?wsdl parsing WSDL... [ERROR] "Use of SOAP Encoding is not supported. SOAP extension element on line 59 in example.com/wsdl/wsdl.php?wsdl has use="encoded" " Failed to parse the WSDL.
WSDL for Parse:
<?xml version="1.0" encoding="ISO-8859-1"?> <definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:tsmswsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:tsmswsdl"> <types> <xsd:schema targetNamespace="urn:tsmswsdl" > <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" /> <xsd:complexType name="outGetMessages"> <xsd:complexContent> <xsd:restriction base="SOAP-ENC:Array"> <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[]"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> </xsd:schema> </types> <message name="GetMessagesRequest"> <part name="user" type="xsd:string" /> <part name="pass" type="xsd:string" /> <part name="idend" type="xsd:int" /> <part name="count_request" type="xsd:int" /></message> <message name="GetMessagesResponse"> <part name="return" type="tns:outGetMessages" /></message> <message name="login_checkRequest"> <part name="user" type="xsd:string" /> <part name="pass" type="xsd:string" /></message> <message name="login_checkResponse"> <part name="return" type="tns:outGetMessages" /></message> <message name="send_smsRequest"> <part name="user" type="xsd:string" /> <part name="pass" type="xsd:string" /> <part name="sms_number" type="xsd:string" /> <part name="mobile" type="xsd:string" /> <part name="msg" type="xsd:string" /> <part name="send_date" type="xsd:string" /></message> <message name="send_smsResponse"> <part name="return" type="tns:outGetMessages" /></message> <portType name="tsmswsdlPortType"> <operation name="GetMessages"> <documentation>Get specific user info</documentation> <input message="tns:GetMessagesRequest"/> <output message="tns:GetMessagesResponse"/> </operation> <operation name="login_check"> <documentation>Get specific user info</documentation> <input message="tns:login_checkRequest"/> <output message="tns:login_checkResponse"/> </operation> <operation name="send_sms"> <documentation>Get specific user info</documentation> <input message="tns:send_smsRequest"/> <output message="tns:send_smsResponse"/> </operation> </portType> <binding name="tsmswsdlBinding" type="tns:tsmswsdlPortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetMessages"> <soap:operation soapAction="urn:tsmswsdl#GetMessages" style="rpc"/> <input><soap:body use="encoded" namespace="urn:tsmswsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input> <output><soap:body use="encoded" namespace="urn:tsmswsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output> </operation> <operation name="login_check"> <soap:operation soapAction="urn:tsmswsdl#login_check" style="rpc"/> <input><soap:body use="encoded" namespace="urn:tsmswsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input> <output><soap:body use="encoded" namespace="urn:tsmswsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output> </operation> <operation name="send_sms"> <soap:operation soapAction="urn:tsmswsdl#send_sms" style="rpc"/> <input><soap:body use="encoded" namespace="urn:tsmswsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input> <output><soap:body use="encoded" namespace="urn:tsmswsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output> </operation> </binding> <service name="tsmswsdl"> <port name="tsmswsdlPort" binding="tns:tsmswsdlBinding"> <soap:address location="example.com/wsdl/wsdl.php"/> </port> </service> </definitions>
SOAP includes a built-in set of rules for encoding data types. This enables the SOAP message to indicate specific data types, such as integers, floats, doubles, or arrays. Most of the time, the encoding rules are implemented directly by the SOAP toolkit you choose, and are therefore hidden from you.
The XML Schema target namespace target_namespace is not unique within the context of the WSDL file. The XSD built-in type anySimpleType is not supported.
To remove the ambiguity over whether this question has an answer or not, I'm posting the answer from the comments of @Roman Vottner:
Version 2 of JAX-WS does not support rpc/encoded. If you are in control of the web service try changing rpc/encoded to document/literal.
Suggested readings:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With