Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. 3rd Party Software
  4. [Solved] Gsoap with nokia Qt SDK problems
QtWS25 Last Chance

[Solved] Gsoap with nokia Qt SDK problems

Scheduled Pinned Locked Moved 3rd Party Software
13 Posts 7 Posters 11.8k Views
  • 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.
  • H Offline
    H Offline
    hasnain
    wrote on 1 Nov 2010, 13:49 last edited by
    #1

    hi,
    i am using gsoap to generate c++ files from wsdl and then use those files in a qt mobile app. Everything works fine when i run app on simulator, but when i tried to run it on device(nokia 5800) it gives a lot of warning and and doesn't run properly. then i tried to generate .sis using qt for Symbian command prompt it. "qmake" runs fine but "make sis" failed to create .sis. Any ideas how to make gsoap work on device. has any one done that before and is there any alternative to gsoap.

    1 Reply Last reply
    0
    • D Offline
      D Offline
      dfaure
      wrote on 24 Nov 2010, 17:41 last edited by
      #2

      Yes, there's an alternative to gsoap, with much better Qt integration: KDSoap.

      http://www.kdab.com/products/kd-soap

      It features a WSDL to C++ code generator, qmake integration, and many other things (sync and async calls, RPC and document mode, etc.)

      David Faure (david.faure@kdab.com)
      KDE/Qt Senior Software Engineer
      KDAB - Qt Experts - Platform-independent software solutions

      1 Reply Last reply
      0
      • S Offline
        S Offline
        sascha
        wrote on 2 Dec 2010, 01:45 last edited by
        #3

        There is QtSOAP, a SOAP client library from Qt Solutions:
        http://doc.qt.nokia.com/solutions/4/qtsoap/index.html

        It cannot generate C++ code for the client side bindings, but it is fairly easy assemble the SOAP message yourself and parse the response. If you do not have to query a lot of different or complicated web services, it might be worth a try for its simplicity.

        1 Reply Last reply
        0
        • H Offline
          H Offline
          hasnain
          wrote on 23 Apr 2011, 08:17 last edited by
          #4

          I have accomplished it at time when I was desperate to use web services from Qt Nokia app. now when I got sometime so i wrote a wiki page "this":http://developer.qt.nokia.com/wiki/how_to_use_gsoap_with_Qt_for_webservice_client . that might not be the best way to do it be at least it worked for me.

          1 Reply Last reply
          0
          • S Offline
            S Offline
            secretNinja
            wrote on 23 Apr 2011, 08:27 last edited by
            #5

            There is an error in the link - "webservice_client" is doubled at the end :)

            1 Reply Last reply
            0
            • H Offline
              H Offline
              hasnain
              wrote on 23 Apr 2011, 09:39 last edited by
              #6

              http://developer.qt.nokia.com/wiki/how_to_use_gsoap_with_Qt_for_webservice_client

              1 Reply Last reply
              0
              • T Offline
                T Offline
                TobbY
                wrote on 16 Jun 2011, 06:59 last edited by
                #7

                does anyone run this on symbian device????

                1 Reply Last reply
                0
                • T Offline
                  T Offline
                  TobbY
                  wrote on 16 Jun 2011, 07:02 last edited by
                  #8

                  i have program on which create sis but exeption at runtime

                  1 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    TobbY
                    wrote on 21 Jun 2011, 06:27 last edited by
                    #9

                    gsoap works on symbian device. thanx..

                    i have resolved it now

                    1 Reply Last reply
                    0
                    • H Offline
                      H Offline
                      hasnain
                      wrote on 21 Jun 2011, 12:09 last edited by
                      #10

                      • Download and unzip gsoap package from soure forge.
                      • gsoap package contains pre-built tools in “gsoap/bin” directory.
                      wsdl2h schema importer
                      soap2cpp stub/skeleton generator.
                      • You require .wsdl and .xsd files of web service to generate c++ stub.
                      • First use wsdl2h on .wsdl file it will generate .h file, then use soapcpp2 on generated .h file, this will generate .h and .cpp files to be included in Qt project.
                      • Before usinf wsdl2h you have to modify “typemap.dat” file, this file is present in ‘gsoap/ws’ directory. Add a line in this file defining namespace of your webservice. Give any name to namespace and copy string from your .wsdl file following the tag.
                      <definitions targetNamespace=http://something>
                      Add this line to “typemap.dat” file
                      Anyting =”http://something”.
                      • Now run wsdl2h on .wsdl and .xsd files (from command prompt)
                      wsdl2h –s -t(path of typemap.dat) –o (name of generated .h file e.g chatpp.h) pathand name of .wsdl file
                      (note .xsd file should be in same directory as .wsdl file)
                      • Then use soapcpp2 on generated .h file (we assume that name of generated file is chatapp.h)
                      soapcpp2 –i chatpp.h
                      this will generate multiple files
                      soapstub.h
                      soapH.h
                      soapC.cpp
                      soapchatappProxy.h
                      soapchatappProxy.cpp
                      chatapp.nsmap
                      soapchatappsetvice.h
                      soapchatappservice.cpp
                      and a xml file for each method in defined in .wsdl file.
                      • now add
                      soapstub.h
                      soapH.h
                      soapchatappProxy.h
                      as headers in to your qt project and then add
                      soapC.cpp
                      soapchatppProxy.cpp
                      as source
                      • add include path of yor generated file in .pro file of your qt project or simply copy all of generated files to your project directory. Also add path of “libws2_32.a” in your .pro file I my case it is as under
                      LIBS += C:/NokiaQTSDK/mingw/lib/libws2_32.a
                      • also add stdsoap2.h and stdsoap2.cpp from gsoap directory as header and source in your project.
                      • now include chatapp.nsmap and chatappProxy.h in your main.cpp.
                      make an object of chatappProxy and use it to communicate with webservice.
                      (above method worked for me while using gsoap with NokiaQtSDk on windows xp. )

                      1 Reply Last reply
                      0
                      • T Offline
                        T Offline
                        TobbY
                        wrote on 25 Jun 2011, 07:19 last edited by
                        #11

                        thank you so much for help.

                        1 Reply Last reply
                        0
                        • O Offline
                          O Offline
                          onhafoghefifo
                          wrote on 18 Oct 2011, 16:59 last edited by
                          #12

                          TobbY can you share how you managed to solve your problem? Maybe others could benefit from this

                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            apinho
                            wrote on 16 Feb 2012, 10:26 last edited by
                            #13

                            Hey there. I've followed all those steps and whenever I try to include the gsoap headers in a class other than the main.cpp i get this error when running the project in Qt Creator:

                            mwldsym2.exe: Multiply defined symbol: struct Namespace * namespaces (?namespaces@@3PAUNamespace@@A) in
                            mwldsym2.exe: files moc_maxintervaltimer.o, maxintervaltimer.o

                            1 Reply Last reply
                            0

                            • Login

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