⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 booktitlesservlet.java

📁 java web services how to program
💻 JAVA
字号:
// Fig. 11.4: BookTitlesServlet.java.// Class BookTitlesServlet exposes the Book Titles Web service.package com.deitel.jws1.jaxm.servlet;// Java core packagesimport java.sql.*;// Java extension packagesimport javax.servlet.*;import javax.xml.messaging.*;import javax.xml.soap.*;// Deitel packagesimport com.deitel.jws1.services.BookTitlesImpl;public class BookTitlesServlet extends JAXMServlet    implements ReqRespListener {   // factory used to create SOAPMessages   private MessageFactory messageFactory;   // reference to object that provides Web service   private BookTitlesImpl service;   // initialize BookTitlesServlet   public void init( ServletConfig config )       throws ServletException   {      super.init( config );      // instantiate Web-service object and obtain MessageFactory      try {         service = new BookTitlesImpl();         messageFactory = MessageFactory.newInstance();      }      // handle exception in creating MessageFactory      catch ( SOAPException soapException ) {         soapException.printStackTrace();      }   } // end method init   // container invokes this method upon receiving SOAP message   public SOAPMessage onMessage( SOAPMessage soapMessage )   {      // invoke Web service and return results as SOAP message      try {         String bookTitles[] = null;         // invoke Book Titles Web service to obtain titles         if ( service != null )            bookTitles = service.getBookTitles();         // store results as SOAP message and return to client         if ( bookTitles != null ) {            // create empty SOAP message            SOAPMessage message = messageFactory.createMessage();            // obtain references to envelope and body of message            SOAPPart soapPart = message.getSOAPPart();            SOAPEnvelope soapEnvelope = soapPart.getEnvelope();            SOAPBody soapBody = soapEnvelope.getBody();            // create titles element to store book titles            SOAPBodyElement titlesElement =                soapBody.addBodyElement(                   soapEnvelope.createName( "titles" ) );            // store number of book titles as attribute            titlesElement.addAttribute(                soapEnvelope.createName( "bookCount" ),                  Integer.toString( bookTitles.length ) );            // store each book title in title element            for ( int i = 0; i < bookTitles.length; i++ )               titlesElement.addChildElement(                   soapEnvelope.createName(                      "title" ) ).addTextNode( bookTitles[ i ] );            return message;         }         else            return null;      }      // handle exception if unable to create SOAP message      catch ( SOAPException soapException ) {         return null;      }   } // end method onMessage} // end class BookTitlesServlet

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -