Problem solve Get help with specific problems with your technologies, process and projects.

Using SOAP over SMTP to simulate RPC, part two

SMTP is a good choice when we intend to develop asynchronous Web services. However, I would like to explore the following possibility:
1)E-mail Client: Client invokes a Web service, gets a response over SMTP in the form of e-mail. Client replies to that message using a normal e-mail client[say, Outlook Express]. That e-mail message goes to the destination, where it results in invokation of the Web service.
2)Mobile Client: Client invokes a Web service by sending SMS, gets a response over WAP in the form of SMS. Client replies to that message using SMS. That SMS goes to the destination, where it results in invokation of the Web service.

How do I go about it? Are there tools, guidelines, tutorials, code samples, case studies?
Click here to read part one of this answer.

Keep in mind that the human-oriented e-mail interaction doesn't use SOAP. You would need to write traditional e-mail applications (for example, if you were writing the applications in Java, you would use the JavaMail API). The Web service in (a) would use JavaMail to send its e-mail response message. The application in (d) would use JavaMail to retrieve the e-mail message, and then use SOAP to invoke the Web service.

2) What you're describing here is a classic SOAP gateway application, which probably runs as a portlet in the wireless Web portal server. The mobile client communicates with the SOAP gateway application using SMS/WAP. The SOAP gateway application translates the SMS/WAP requests into SOAP requests and translates the SOAP responses into SMS/WAP messages. I'd expect the SOAP gateway to communicate with the Web service using HTTP, but again, it really doesn't matter to the end user. The SOAP processing is completely hidden from the end user.

It's also possible to send SOAP messages directly from the wireless device over WAP, although in this case you wouldn't be using SMS. SMS simply displays the message text on the mobile device screen. Humans really don't want to read a SOAP XML message. They want to read short text messages. You would need to write an application to run on the mobile device (e.g., a Java MIDlet), and this application would use SOAP to invoke Web services over WAP. SOAP implementations for mobile devices include Microsoft .NET Compact Framework, PocketSOAP, and a number of J2ME-based Web service clients (Wingfoot SOAP Client, IONA XMLBus J2ME Client, and the open source kSOAP).

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.