Firstly, I am a beginner at symbian (I have been persisting and don't generally ask for help) and have chosen visual studio & carbide & C++ due to my previous familiarity with C#. I have struggled over the last little while, but now have a successful web services application running on the emulator. But it doesn't work on my trial phone. There must be something I am missing as most of my application works (ie installs, runs, returns information from the phone and displays it on the phone) (background info), but when I run the connect menu item (which runs the top code fragment below) the IAP selection doesn't come up on the phone (though winsock does on the emulator). I am using basic web services and in order to check out the phone, I have complied several other applications which work.
I have also built the addressbook sample application (which uses webservices) and installed it on the phone and it works correctly.
The several differences between the address book and my webservice application are:
1) I used the WSDL to C++ generator - the address book doesn't
2) I installed the extra xmldatabinding.sis on my test phone (the address book doesn't use it)
3) When I ran the addressbook application it prompted me to 'Allow application to subscribe to web service" which didn't happen for the WSDL to C++ generator version and then you select your access point. This didn't happen with the WSDL to c++ generated code.
4) I use basic web services framework and the address book uses the liberty type with authentication.
I have checked that the phone is able to get to the webservice (through browsing), so their is no connectivity limit, it can also do web services (through the address book app - so there are no certification issues), I can only think I am missing something.
The code I am using you will all recognise (its all fairly standard) below:
Where they are member variables of the active class (ie why no declaration). Firstly the connection:
pServiceDesc = CSenXmlServiceDescription::NewLC(KServiceEndpoint, KNullDesC8());
pServiceDesc->SetFrameworkIdL(KDefaultBasicWebServicesFrameworkID);
pObserver = CNavMobServiceServiceConsumer::NewLC();
pService = CNavMobServiceService::NewLC(*pObserver, *pServiceDesc);
I have implemented the callback / error handler and get the right status with no errors and when the the connection is ready then calling the async method.
pService->WebAsyncL(Webdata)
If anyone has any time to give me a pointer in the right direction, it would be appreciated as it has had me baffled for 2 days now. The next step is a lot of debug windows popping up on the phone (which I have to work out how to do yet).
Thanks for any help in advance,
Ross.

Reply With Quote

