×

Discussion Board

Results 1 to 7 of 7
  1. #1
    Registered User
    Join Date
    Jul 2004
    Posts
    7

    S80 phone as a Web Service Provider?

    Hello,
    Is it possible to use a Nokia 9500 communicator (S80) as a Web Service Provider? If it is possible, what technologies and sdks do I need to download to make it work?
    Thank you in advance!

  2. #2
    Nokia Developer Expert
    Join Date
    Mar 2003
    Posts
    457

    Re: S80 phone as a Web Service Provider?

    Quote Originally Posted by tm09332
    Is it possible to use a Nokia 9500 communicator (S80) as a Web Service Provider? If it is possible, what technologies and sdks do I need to download to make it work?
    Thank you in advance!
    Yes and no. There is no reason in principle why you could not run Apache on S80 just like you can run it on S60, but currently there is no S80 version. The modifications that would have to be made are relatively small, but someone would have to make them... But once you have a web-server, a web service provides is just one additional step away.

    Johan

  3. #3
    Registered User
    Join Date
    Aug 2007
    Posts
    10

    Re: S80 phone as a Web Service Provider?

    Quote:
    Yes and no. There is no reason in principle why you could not run Apache on S80 just like you can run it on S60, but currently there is no S80 version. The modifications that would have to be made are relatively small, but someone would have to make them... But once you have a web-server, a web service provides is just one additional step away.
    now,we can deploy nokia's mobile web server on s60,but how can i get the soap engine?and what is the next step ?

  4. #4
    Nokia Developer Expert
    Join Date
    Mar 2003
    Posts
    457

    Re: S80 phone as a Web Service Provider?

    Quote Originally Posted by dubodog View Post
    now,we can deploy nokia's mobile web server on s60,but how can i get the soap engine?and what is the next step ?
    First a disclaimer; I'm not particularly familiar with web services in general and web services on S60 in particular.

    Here's a link to web services framework on S60: http://www.forum.nokia.com/main/reso...ces/index.html
    If you write an Apache module, then all of the S60 API is available and thus you can also use the existing web services APIs. However, I'm not sure whether the framework provides support for WSPs also, or only for WSCs. But it's probably worth while taking a look.

    If you use Python, then there's SOAPpy, a (the?) Python SOAP library: http://pywebsvcs.sourceforge.net/
    I have never tried it, but have suggested it before. There's a fair chance that you, with a reasonable amount of work, can take into use with Apache + mod_python + PyS60.

    Johan

  5. #5
    Registered User
    Join Date
    Mar 2008
    Posts
    47

    Re: S80 phone as a Web Service Provider?

    Hi,
    I have been looking into this issue.

    First I decided to try to get a XML-RPC server working through mod_python, that was relatively easy.

    Then I have started to look into SOAP implementations, it seems to me that from the python SOAP libraries ZSI would be more desirable. First of all SOAPpy has by now been integrated into ZSI and no more work will be done on SOAPpy. Second ZSI implements a mod_python dispatcher that would be ideal to use with the mobile web server. SOAPpy only implements a stand alone server and thus a mod_python dispatcher probably would have to be implemented. Only noticeable drawback is size, where ZSI is around 700kb but SOAPpy around 400kb.

    I started to work with ZSI 1.7 since its document states that it is python 2.2.2 compliant. First I got errors about missing python modules, I copied them from the standard python 2.2.2 distribution into my working directory. Finally I got an error that pyexp was missing. From http://www.saunalahti.fi/~tsharju/pys60/ I downloaded and installed pys60-pyexpat_3rded_selfsigned.sis

    Then I did a minor change to code in ZSI/parse.py (line 47)
    #from xml.dom.ext.reader import PyExpat
    from xml.parsers import expat
    #self.readerclass = PyExpat.Reader
    self.readerclass = expat.Reader

    I did this to point correctly to the expat I just installed.

    After that I got the following error:
    File "c:\resource\xml\parsers\expat.py", line 8, in ?
    _pyexpat=imp.load_dynamic('_pyexpat', 'c:\\sys\\bin\\_pyexpat.pyd')
    SymbianError: [Errno -46] KErrPermissionDenied

    Here I am pretty much stuck, I realize that this has to do with capabilities on the process that is trying to execute this. In a normal application this would probably be handled by granting the capabilities in a .mnp file. In this case I would probably have to alter the capabilities of the mobile web server process, can I do that? if so how? Is there any way around this? Is there maybe somewhere a 100% python implementation of this module, so that it isn't necessary to execute C code.

    My code can be obtained here http://maggi.bablish.com/zsiserver.rar just copy it into htdocs on the mobile web server

    If not I guess the simplest way is going to be to use SOAPpy and program the mod_python dispathcer my self.

    regards,
    Magnus Agust Skulason

  6. #6
    Nokia Developer Expert
    Join Date
    Mar 2003
    Posts
    457

    Re: S80 phone as a Web Service Provider?

    Hi

    Quote Originally Posted by maggias View Post
    ...
    After that I got the following error:
    File "c:\resource\xml\parsers\expat.py", line 8, in ?
    _pyexpat=imp.load_dynamic('_pyexpat', 'c:\\sys\\bin\\_pyexpat.pyd')
    SymbianError: [Errno -46] KErrPermissionDenied

    Here I am pretty much stuck, I realize that this has to do with capabilities on the process that is trying to execute this. In a normal application this would probably be handled by granting the capabilities in a .mnp file. In this case I would probably have to alter the capabilities of the mobile web server process, can I do that? if so how?
    No, most likely it's not the capabilities of MWS that need to be changed, but those of _pyexpat.pyd. Namely, in order for a DLL to be loadable by an process, the DLL must have at least as many capabilities as the process that loads it.

    Since MWS has more capabilities than what is available to a self-signed certificate, and you installed the self-signed version of pyexpat, that is probably the reason for the KErrPermissionDenied error.

    You probably need to download the unsigned devcert version of pyexpat, and then sign and install it.

    Johan

  7. #7
    Registered User
    Join Date
    Mar 2008
    Posts
    47

    Re: S80 phone as a Web Service Provider?

    Hi Johan,

    Thanks for your reply, I tried to sign pyexpat with a symbian developer certificate and that worked to solve this error.

    However I then got another error:
    Code:
    AttributeError: 'module' object has no attribute 'Reader'
    On the following lines of code
    Code:
    from xml.parsers import expat
    self.readerclass = expat.Reader
    I got a reply in another thread on this one, http://discussion.forum.nokia.com/fo...ad.php?t=97293, seems like there is no obvious solution.

    However I have been working on the SOAPpy library and made some good progress in making a mod_python implementation with it. I now have it at a state where I can receive SOAP messages, parse them, execute the correct method and return a SOAP answer. The next step is to implement a WSDL description of the services.

    I guess though that this will all be much simpler when working in PHP on the new N95.

    best regards,
    Magnus Agust Skulason

Similar Threads

  1. OMA DRM media transfer using PC to Phone using USB
    By venky123 in forum Digital Rights Management & Content Downloading
    Replies: 1
    Last Post: 2008-08-13, 03:02
  2. Replies: 0
    Last Post: 2005-06-02, 11:07

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×