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
Forum Updated to NodeBB v4.3 + New Features

kdsoap client for magento soap api

Scheduled Pinned Locked Moved Unsolved General and Desktop
3 Posts 2 Posters 372 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 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 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 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

        • Login

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