Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. kdsoap client for magento soap api
Servers for Qt installer are currently down

kdsoap client for magento soap api

Scheduled Pinned Locked Moved Unsolved General and Desktop
3 Posts 2 Posters 373 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    antonio84
    wrote on 13 Mar 2019, 08:44 last edited by
    #1

    Hello I'm trying to connect kdsoap to magento api, but the examples of kdsoap are not very helpful.
    The first problem is that the magento api does not provide a call to Login, for example I don't know if I can do this:

        KDSoapMessage response = client.call(QLatin1String("Login"), message);
    
    

    This is the full code:

        const QString endPoint = QLatin1String("https://magentohost.com/api/soap/?wsdl");
        const QString messageNamespace = QLatin1String("https://magentohost.com/api/soap/");
        KDSoapClientInterface client(endPoint, messageNamespace);
        KDSoapMessage message;
        message.addArgument(QLatin1String("apiUser"), "user");
        message.addArgument(QLatin1String("apiKey"), "key");
        KDSoapMessage response = client.call(QLatin1String("Login"), message);
        const QString sessionId = response.arguments()[0].value().toString();
        KDSoapMessage header;
        header.addArgument(QLatin1String("SessionId"), sessionId);
        client.setHeader(QLatin1String("SessionHeader"), header);
    
        if (response.isFault())
            printf("%s\n", qPrintable(response.faultAsString()));
        else
            printf("%s\n", qPrintable(response.arguments()[0].value().toString()));
    

    Runnig this code I get these errors:

    qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
    qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
    
    Fault code 6: SSL handshake failed
    
    

    What's the problem?

    1 Reply Last reply
    0
    • A Offline
      A Offline
      antonio84
      wrote on 13 Mar 2019, 10:37 last edited by antonio84
      #2

      OK I had problem with the subdomain so I tried with the main domain and I get this response:

      qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
      qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
      <?xml version="1.0" encoding="UTF-8"?>
      <definitions xmlns:typens="urn:Magento" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
          xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"
          name="Magento" targetNamespace="urn:Magento">
          <types>
              <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
      <!--            <import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />-->
                  <complexType name="FixedArray">
                      <complexContent>
                          <restriction base="soapenc:Array">
                              <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:anyType[]" />
                          </restriction>
                      </complexContent>
                  </complexType>
              </schema>
          </types>
          <message name="call">
              <part name="sessionId" type="xsd:string" />
              <part name="resourcePath" type="xsd:string" />
              <part name="args" type="xsd:anyType" />
          </message>
          <message name="callResponse">
              <part name="callReturn" type="xsd:anyType" />
          </message>
          <message name="multiCall">
              <part name="sessionId" type="xsd:string" />
              <part name="calls" type="typens:FixedArray" />
              <part name="options" type="xsd:anyType" />
          </message>
          <message name="multiCallResponse">
              <part name="multiCallReturn" type="typens:FixedArray" />
          </message>
          <message name="endSession">
              <part name="sessionId" type="xsd:string" />
          </message>
          <message name="endSessionResponse">
              <part name="endSessionReturn" type="xsd:boolean" />
          </message>
          <message name="login">
              <part name="username" type="xsd:string" />
              <part name="apiKey" type="xsd:string" />
          </message>
          <message name="loginResponse">
              <part name="loginReturn" type="xsd:string" />
          </message>
          <message name="resources">
              <part name="sessionId" type="xsd:string" />
          </message>
          <message name="resourcesResponse">
              <part name="resourcesReturn" type="typens:FixedArray" />
          </message>
          <message name="globalFaults">
              <part name="sessionId" type="xsd:string" />
          </message>
          <message name="globalFaultsResponse">
              <part name="globalFaultsReturn" type="typens:FixedArray" />
          </message>
          <message name="resourceFaults">
              <part name="resourceName" type="xsd:string" />
              <part name="sessionId" type="xsd:string" />
          </message>
          <message name="resourceFaultsResponse">
              <part name="resourceFaultsReturn" type="typens:FixedArray" />
          </message>
          <message name="startSession" />
          <message name="startSessionResponse">
              <part name="startSessionReturn" type="xsd:string" />
          </message>
          <portType name="Mage_Api_Model_Server_HandlerPortType">
              <operation name="call">
                  <documentation>Call api functionality</documentation>
                  <input message="typens:call" />
                  <output message="typens:callResponse" />
              </operation>
              <operation name="multiCall">
                  <documentation>Multiple calls of resource functionality</documentation>
                  <input message="typens:multiCall" />
                  <output message="typens:multiCallResponse" />
              </operation>
              <operation name="endSession">
                  <documentation>End web service session</documentation>
                  <input message="typens:endSession" />
                  <output message="typens:endSessionResponse" />
              </operation>
              <operation name="login">
                  <documentation>Login user and retrive session id</documentation>
                  <input message="typens:login" />
                  <output message="typens:loginResponse" />
              </operation>
              <operation name="startSession">
                  <documentation>Start web service session</documentation>
                  <input message="typens:startSession" />
                  <output message="typens:startSessionResponse" />
              </operation>
              <operation name="resources">
                  <documentation>List of available resources</documentation>
                  <input message="typens:resources" />
                  <output message="typens:resourcesResponse" />
              </operation>
              <operation name="globalFaults">
                  <documentation>List of resource faults</documentation>
                  <input message="typens:globalFaults" />
                  <output message="typens:globalFaultsResponse" />
              </operation>
              <operation name="resourceFaults">
                  <documentation>List of global faults</documentation>
                  <input message="typens:resourceFaults" />
                  <output message="typens:resourceFaultsResponse" />
              </operation>
          </portType>
          <binding name="Mage_Api_Model_Server_HandlerBinding" type="typens:Mage_Api_Model_Server_HandlerPortType">
              <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
              <operation name="call">
                  <soap:operation soapAction="urn:Mage_Api_Model_Server_HandlerAction" />
                  <input>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </input>
                  <output>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </output>
              </operation>
              <operation name="multiCall">
                  <soap:operation soapAction="urn:Mage_Api_Model_Server_HandlerAction" />
                  <input>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </input>
                  <output>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </output>
              </operation>
              <operation name="endSession">
                  <soap:operation soapAction="urn:Mage_Api_Model_Server_HandlerAction" />
                  <input>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </input>
                  <output>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </output>
              </operation>
              <operation name="login">
                  <soap:operation soapAction="urn:Mage_Api_Model_Server_HandlerAction" />
                  <input>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </input>
                  <output>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </output>
              </operation>
              <operation name="startSession">
                  <soap:operation soapAction="urn:Mage_Api_Model_Server_HandlerAction" />
                  <input>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </input>
                  <output>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </output>
              </operation>
              <operation name="resources">
                  <soap:operation soapAction="urn:Mage_Api_Model_Server_HandlerAction" />
                  <input>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </input>
                  <output>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </output>
              </operation>
              <operation name="globalFaults">
                  <soap:operation soapAction="urn:Mage_Api_Model_Server_HandlerAction" />
                  <input>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </input>
                  <output>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </output>
              </operation>
              <operation name="resourceFaults">
                  <soap:operation soapAction="urn:Mage_Api_Model_Server_HandlerAction" />
                  <input>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </input>
                  <output>
                      <soap:body namespace="urn:Magento" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
                  </output>
              </operation>
          </binding>
          <service name="MagentoService">
              <port name="Mage_Api_Model_Server_HandlerPort" binding="typens:Mage_Api_Model_Server_HandlerBinding">
                  <soap:address location="https://magentohost.com/index.php/api/soap/index/" />
              </port>
          </service>
      </definitions>
      
      Fault code 2: XML error: [4:49] Invalid SOAP Message, Envelope expected
                                                           
      
      
      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on 13 Mar 2019, 22:03 last edited by
        #3

        Hi and welcome to devnet,

        Did you install OpenSSL on your system ?

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        1

        1/3

        13 Mar 2019, 08:44

        • Login

        • Login or register to search.
        1 out of 3
        • First post
          1/3
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved