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

📄 bookinformation.java

📁 java web services how to program
💻 JAVA
字号:
// BookInformation.java
// Book Information Web service provides book information.
package jws1casestudy.pricefinder;

// Java core packages
import java.rmi.*;
import java.net.*;

// Java XML packages
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;

// Axis packages
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;

// Deitel packages
import jws1casestudy.pricefinder.common.*;

public class BookInformation {

   // connection object
   private Call call;
   
   // create connection object to Web service
   public BookInformation() throws ServiceException 
   {
      
      // connect to Web service and get book info
      try {

         // specify service WSDL URL
         URL wsdlURL = new URL( "http://localhost:8004/" + 
            "bookinformation/services/bookinformation.wsdl" );
            
         // create service identifier
         QName serviceIdentifier = new QName(
            "http://www.themindelectric.com" + 
            "/wsdl/BookInformationImpl/", 
            "BookInformationImpl" );
         
         // create Service object
         Service service = new Service( wsdlURL,
            serviceIdentifier);
  
         // create method identifier
         QName getBookDetailsNamespace =
            new QName( null, "BookInformation" );
         
         // create Call that specifies service port and
         // method to call
         call = ( Call )service.createCall(
            getBookDetailsNamespace, "getBookDetails" );
 
         // create QName for BookDetails JavaBean
         QName bookDetailsIdentifier = new QName(
            "http://www.themindelectric.com" +
            "/package/jws1casestudy.pricefinder.common/", 
            "BookDetails" );

         // create serializer and deserializer instances
         BeanSerializerFactory serializerFactory =
            new BeanSerializerFactory( BookDetails.class,
               bookDetailsIdentifier );
         
         BeanDeserializerFactory deserializerFactory =
            new BeanDeserializerFactory( BookDetails.class,
               bookDetailsIdentifier );
         
         // register type mapping for BookDetails serializer
         // and deserializer
         call.registerTypeMapping( BookDetails.class, 
            bookDetailsIdentifier, serializerFactory, 
            deserializerFactory );        

      } // end try
      
      catch( MalformedURLException urlException ) {
         urlException.printStackTrace();
      } 
      
   } // end constructor
      
   // implementation for interface BookInformation 
   // method getBookDetails
   public BookDetails getBookDetails( String isbn )
      throws RemoteException
   {
      // declare response object
      BookDetails response = null;

      // invoke Web service
      try {
          
         // invoke method in Book Information Web service
         Object responseObj = call.invoke( 
            new Object[] { isbn } );

         // cast return object to BookDetails
         response = ( BookDetails ) responseObj;
            
      } // end try

      // handle exception in accessing Web service
      catch ( Exception exception ) {
         exception.printStackTrace();
      }

     return response;
      
   } // end method getBookDetails
 
} // end class BookInformation

⌨️ 快捷键说明

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