Example 3  Example 5

Chapter 5: Using Adaptive Server Enterprise Web Services

Example 4

This example invokes a Web method through a view to display stock information.

NoteThis example requires the ASE XML Management Option Package.

To use this Web service, you must create a table to hold symbols representing stocks:

1> create table stocksymbol(symbol varchar(100))
2> go

Insert data into the stocksymbol table:

1> insert stocksymbol values("SY")
2> insert stocksymbol values("PSFT")
3> insert stocksymbol values("ORCL")
4> insert stocksymbol values("MSFT")
5> insert stocksymbol values("SUNW")
6> go

Use the add option of sp_webservices to map Web methods to proxy tables:

1>sp_webservices "add" , "http://www.xignite.com/xquotes.asmx?WSDL" , ws
2>go

Fifteen Web methods are mapped to proxy tables. One of these Web methods is named GetQuotes.

Now create a view that invokes the GetQuotes Web method:

1> CREATE VIEW getstockvw as
SELECT 
   Symbol = xmlextract('//Quote/Symbol/text()',outxml    returns varchar(10)),
   Name = xmlextract('//Quote/Name/text()',outxml    returns varchar(100)),
   Date = xmlextract('//Quote/Date/text()',outxml    returns date),
   Time = xmlextract('//Quote/Time/text()',outxml    returns varchar(25)),
   Openval = xmlextract('//Quote/Open/text()',outxml    returns decimal(15,3)),
   High = xmlextract('//Quote/High/text()',outxml    returns decimal(15,3)),
   Low = xmlextract('//Quote/Low/text()',outxml returns    decimal(15,3)),
   Last = xmlextract('//Quote/Last/text()',outxml    returns decimal(15,3)),
   Volume = xmlextract('//Quote/Volume/text()',outxml    returns decimal(15,3)),
   PercentChange =    xmlextract('//Quote/PercentChange/text()',outxml    returns decimal(15,3))
FROM     GetQuotes ,stocksymbol
WHERE   _inxml  ='<GetQuotes         xmlns="http://www.xignite.com/services/">
        <Symbol>'+symbol+'</Symbol>
        </GetQuotes>'
2> go

Select from the getstockvw view to view output from the GetQuotes method:

1> select * from getstockvw where Symbol in ('SY','ORCL')
2> go

Symbol  Name           Date                   Time   Openval  High  Low  Last  Volume  PercentChange
------  -----          ----                    
----   -------  ----  ---  ----  -------  -----------
SY      SYBASE INC     Feb 11 2004 2:55PM ET  
22.22  22.53  22.03  22.53  344600.00   1.40
ORCL    ORACLE CORP     Feb 11 2004 3:00PM ET  
13.53  13.79  13.33  13.73  29931784.00  2.54 
(2 rows affected)




Copyright © 2004. Sybase Inc. All rights reserved. Example 5

View this book as PDF