FileDocCategorySizeDatePackage
findBusiness.javaAPI DocExample2888Tue Oct 09 11:03:40 BST 2001com.ecerami.uddi

findBusiness.java

/*
 * Copyright (c) 2001 Ethan Cerami.  All rights reserved.
 * This code is from the book XML Web Services Essentials.
 * It is provided AS-IS, WITHOUT ANY WARRANTY either expressed or implied.
 * You may study, use, and modify it for any non-commercial purpose.
 * You may distribute it non-commercially as long as you retain this notice.
*/
package com.ecerami.uddi;

import java.util.*;
import com.ibm.uddi.UDDIException;
import com.ibm.uddi.client.UDDIProxy;
import com.ibm.uddi.response.*;
import java.net.MalformedURLException;
import org.apache.soap.SOAPException;

/**
 * Sample UDDI Program:  searches for all companies that
 * match the first command line argument.
 * Example usage:  java findBusiness XMethods
 */
public class findBusiness {

  /**
   *  Main method
  */
  public static void main (String args[]) {
    findBusiness inquiry = new findBusiness();

    try {
      //  Search for Specified Business Name
      String businessName = args[0];
      System.out.println ("Searching for Businesses:  "+businessName);
      Vector businessInfoVector = inquiry.findBusinessByName (businessName);

      // Print name and business key for each matching business
      for (int i=0; i<businessInfoVector.size(); i++) {
          BusinessInfo businessInfo =
            (BusinessInfo) businessInfoVector.elementAt(i);
          String name = businessInfo.getNameString();
          String businessKey = businessInfo.getBusinessKey();
          System.out.println (name+":  "+businessKey);
      }
    } catch (MalformedURLException e) {
      e.printStackTrace();
    } catch (SOAPException e) {
      e.printStackTrace();
    } catch (UDDIException e) {
      //  Extract UDDI Disposition Report
      DispositionReport dr = e.getDispositionReport();
      if (dr!=null) {
        System.out.println("UDDIException faultCode:" +
          e.getFaultCode() +
          "\n errno:"    + dr.getErrno() +
          "\n errCode:"  + dr.getErrCode() +
          "\n errInfoText:" + dr.getErrInfoText());
      }
      e.printStackTrace();
    }
  }

  /**
   *  Find Business by Name
   *  @param businessName Business Name Target
   *  @return Vector of BusinessInfo objects
  */
  public Vector findBusinessByName (String businessName)
    throws MalformedURLException, SOAPException, UDDIException {
    //  Create UDDI Proxy Object
    UDDIProxy proxy = new UDDIProxy();

    //  Point to Microsoft Inquiry URL
    proxy.setInquiryURL("http://uddi.microsoft.com/inquire");

    //  Find Matching Businesses
    BusinessList businessList = proxy.find_business(businessName, null, 0);

    //  Process UDDI Response
    BusinessInfos businessInfos = businessList.getBusinessInfos();
    Vector businessInfoVector = businessInfos.getBusinessInfoVector();
    return businessInfoVector;
   }
}