Posted on 2009-05-06
Last Modified: 2012-06-21
I am trying to send SMS using HTTP posting method but getting the error message "The parameter is incorrect", I am trying to do it using Oracle 8i. Thanks
Question by:excel-92457
  • 3
  • 2
  • 2

Expert Comment

ID: 24315747
I think the package you really want to use is UTL_SMTP.  It's not clear if that's what you're doing.  If so, please submit your stored procedure call.  Below is an example of using UTL_SMTP to send an email message.  It is up to the mobile service to convert it to SMS protocol.  I don't think Oracle is going to do that for you.

   c utl_smtp.connection;
   PROCEDURE header(name IN VARCHAR2, header IN VARCHAR2) AS
         utl_smtp.write_data(c, name || ': ' || header || utl_tcp.CRLF);
   c := utl_smtp.open_connection('mailserver name');
   utl_smtp.helo(c, 'mailserver name');
   utl_smtp.mail(c, 'email address');
   utl_smtp.rcpt(c, '<phone_number@mobile_providers_domain>');
   header('From', '"Sender" <email address>');
   header('To', '"Recipient" <phone_number@mobile_providers_domain>');
   header('Subject', 'Hello');
   utl_smtp.write_data(c, utl_tcp.crlf || 'Hello,' || utl_tcp.CRLF || utl_tcp.CRLF || 'This is a test message.');
LVL 40

Expert Comment

ID: 24315845
Likely UTL_HTTP is the correct package, as most web based SMS gateways (not SMTP) expose a HTTP based service.

Provide your code so we can see it?

Author Comment

ID: 24323089
Dear Sadler,
I have used UTL_SMTP for the same purpose but now we have changed the SMS provider and he does not support email to SMS so we have to change the process by shifting to HTTP post method that's why I am trying to use this package. Here is code which I am using for this purpose. If I send request for it returns the page successfully.
   text_str varchar2(5000);
   text_sms varchar2(2000) := ' is a test english message';
   text_str := utl_http.request(text_sms);

Thanks and regards
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails


Expert Comment

ID: 24328956
Well, the UTL_HTTP package seems to be working for you.  I believe Kaamil is trying to tell you that the parameter value you're sending to them is not formed correctly.  Perhaps one or more of your variable values is blank?
LVL 40

Expert Comment

ID: 24332421
You should URL encode the string before sending. Otherwise, I think UTL_HTTP.REQUEST will do I am not sure what, such as remove the spaces. It is possible you having problems related to proper encoding.

select utl_url.escape(' is a test') from dual;

text_str := utl_http.request(utl_url.escape(' is a test'));


Author Comment

ID: 24342725
I figured out that any special character which is part of the SMS message cause this error.

Is this utl_url package available in 8i?

Thanks a lot for the help.
LVL 40

Accepted Solution

mrjoltcola earned 500 total points
ID: 24345999
No, it is 9i and up, you can write your own, though

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Introduction A previously published article on Experts Exchange ("Joins in Oracle", makes a statement about "Oracle proprietary" joins and mixes the join syntax with gen…
Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
This video shows setup options and the basic steps and syntax for duplicating (cloning) a database from one instance to another. Examples are given for duplicating to the same machine and to different machines
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now