FileDocCategorySizeDatePackage
DocBookServiceClient.javaAPI DocExample1733Tue Dec 17 20:43:38 GMT 2002ora.jwsnut.chapter6.client

DocBookServiceClient.java

package ora.jwsnut.chapter6.client;

// SAAJ imports
import javax.xml.soap.SOAPElement;

// Service imports
import ora.jwsnut.chapter6.docbookservice.BookInfo;
import ora.jwsnut.chapter6.docbookservice.DocBookQuery;
import ora.jwsnut.chapter6.docbookservice.DocBookService_Impl;

public class DocBookServiceClient {
    
    public static void main(String[] args) {
        
        try {
            // Get a reference to the stub.
            DocBookService_Impl service = new DocBookService_Impl();
            DocBookQuery bookQuery = (DocBookQuery)service.getDocBookQueryPort();

            // Get info for each book.
            int count = bookQuery.getBookCount();
            for (int i = 0; i < count; i++) {
                String title = bookQuery.getBookTitle(i);
                BookInfo info = bookQuery.getBookInfo(title);
                if (info != null) {
                    System.out.print("Title: " + title + ", author: " + info.getAuthor() +
                                         ", price: " + info.getPrice() + " USD. Stock: ");
                    SOAPElement element = bookQuery.getStockInfo(title);
                    if (element != null) {
                        int stock = Integer.parseInt(element.getValue());
                        System.out.println(stock);
                    } else {
                        System.out.println("unknown");
                    }
                }
            }
            System.exit(0);
        } catch (Throwable t) {
            System.out.println("CLASS: " + t.getClass().getName() + "\n\n");
            System.out.println(t.getMessage());
            t.printStackTrace(System.out);
        }
    }      
}