Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SOAP Encoding is not supported

Tags:

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> 
like image 592
DolDurma Avatar asked Aug 12 '14 09:08

DolDurma


People also ask

What is SOAP encoding?

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.

Which is not supported by WSDL?

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.


1 Answers

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:

  1. link 1
  2. link 2
  3. link 3
  4. link 4
  5. link 5
like image 107
Ray Avatar answered Oct 13 '22 00:10

Ray