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

📄 testclient.java

📁 UDDI for weblgoci In the main function, there is a list of functions calls that are commented. Each
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
// Sample for using the UDDI API
// Including tests for testing out the inquiry and publish API

/*
1. In the main function, set the URL of the remote registry to use for inquiry and publish services.

2. In the main function, there is a list of functions calls that are commented. Each of those function calls tests a functionality of the UDDI api. To run a test, simply uncomment one of the function calls, and then compile this file and run it.

3. In the definition of each of the functions mentioned in the list, there are two phase. 
In the first phase, we create a structure that is required as an input to the functionality
we want to test, eg. FindBusiness for findBusiness function. This FindBusiness structure
refers to the find_business in the UDDI api schema. So we set all the attributes and
parameters used.

4. In the next phase, we call the function we want to test and pass in the structure that
we created in the previous phase.

eg.
           
            Create FindBusiness structure:
            FindBusiness fb = new FindBusiness();
            
            Set all the attributes/argument required:
            fb.setFindQualifiers(null);
            fb.setName(name);

            Call the function
            BusinessList rBusinessList = i.findBusiness(fb);
*/

import weblogic.uddi.client.service.Inquiry;
import weblogic.uddi.client.service.Publish;

import weblogic.uddi.client.structures.exception.UDDIException;
import weblogic.uddi.client.structures.exception.XML_SoapException;

import weblogic.uddi.client.structures.datatypes.AccessPoint;
import weblogic.uddi.client.structures.datatypes.Address;
import weblogic.uddi.client.structures.datatypes.AddressLine;
import weblogic.uddi.client.structures.datatypes.AuthInfo;
import weblogic.uddi.client.structures.datatypes.BindingKey;
import weblogic.uddi.client.structures.datatypes.BindingTemplate;
import weblogic.uddi.client.structures.datatypes.BindingTemplates;
import weblogic.uddi.client.structures.datatypes.BusinessEntity;
import weblogic.uddi.client.structures.datatypes.BusinessKey;
import weblogic.uddi.client.structures.datatypes.BusinessService;
import weblogic.uddi.client.structures.datatypes.BusinessServices;
import weblogic.uddi.client.structures.datatypes.CategoryBag;
import weblogic.uddi.client.structures.datatypes.Contact;
import weblogic.uddi.client.structures.datatypes.Contacts;
import weblogic.uddi.client.structures.datatypes.Description;
import weblogic.uddi.client.structures.datatypes.DiscoveryURL;
import weblogic.uddi.client.structures.datatypes.DiscoveryURLs;
import weblogic.uddi.client.structures.datatypes.Email;
import weblogic.uddi.client.structures.datatypes.FindQualifier;
import weblogic.uddi.client.structures.datatypes.FindQualifiers;
import weblogic.uddi.client.structures.datatypes.HostingRedirector;
import weblogic.uddi.client.structures.datatypes.IdentifierBag;
import weblogic.uddi.client.structures.datatypes.InstanceDetails;
import weblogic.uddi.client.structures.datatypes.InstanceParms;
import weblogic.uddi.client.structures.datatypes.KeyValue;
import weblogic.uddi.client.structures.datatypes.KeyedReference;
import weblogic.uddi.client.structures.datatypes.Name;
import weblogic.uddi.client.structures.datatypes.OverviewDoc;
import weblogic.uddi.client.structures.datatypes.OverviewURL;
import weblogic.uddi.client.structures.datatypes.Phone;
import weblogic.uddi.client.structures.datatypes.ServiceKey;
import weblogic.uddi.client.structures.datatypes.TModel;
import weblogic.uddi.client.structures.datatypes.TModelBag;
import weblogic.uddi.client.structures.datatypes.TModelInstanceDetails;
import weblogic.uddi.client.structures.datatypes.TModelInstanceInfo;
import weblogic.uddi.client.structures.datatypes.TModelKey;
import weblogic.uddi.client.structures.datatypes.UploadRegister;
import weblogic.uddi.client.structures.datatypes.BusinessInfo;
import weblogic.uddi.client.structures.datatypes.BusinessInfos;
import weblogic.uddi.client.structures.datatypes.ErrInfo;
import weblogic.uddi.client.structures.datatypes.Result;
import weblogic.uddi.client.structures.datatypes.ServiceInfo;
import weblogic.uddi.client.structures.datatypes.ServiceInfos;
import weblogic.uddi.client.structures.datatypes.TModelInfo;
import weblogic.uddi.client.structures.datatypes.TModelInfos;

import weblogic.uddi.client.structures.request.DeleteBinding;
import weblogic.uddi.client.structures.request.DeleteBusiness;
import weblogic.uddi.client.structures.request.DeleteService;
import weblogic.uddi.client.structures.request.DeleteTModel;
import weblogic.uddi.client.structures.request.DiscardAuthToken;
import weblogic.uddi.client.structures.request.FindBinding;
import weblogic.uddi.client.structures.request.FindBusiness;
import weblogic.uddi.client.structures.request.FindService;
import weblogic.uddi.client.structures.request.FindTModel;
import weblogic.uddi.client.structures.request.GetAuthToken;
import weblogic.uddi.client.structures.request.GetBindingDetail;
import weblogic.uddi.client.structures.request.GetBusinessDetail;
import weblogic.uddi.client.structures.request.GetBusinessDetailExt;
import weblogic.uddi.client.structures.request.GetRegisteredInfo;
import weblogic.uddi.client.structures.request.GetServiceDetail;
import weblogic.uddi.client.structures.request.GetTModelDetail;
import weblogic.uddi.client.structures.request.SaveBinding;
import weblogic.uddi.client.structures.request.SaveBusiness;
import weblogic.uddi.client.structures.request.SaveService;
import weblogic.uddi.client.structures.request.SaveTModel;
import weblogic.uddi.client.structures.request.ValidateCategorization;

import weblogic.uddi.client.structures.response.AuthToken;
import weblogic.uddi.client.structures.response.BindingDetail;
import weblogic.uddi.client.structures.response.BusinessDetail;
import weblogic.uddi.client.structures.response.BusinessDetailExt;
import weblogic.uddi.client.structures.response.BusinessList;
import weblogic.uddi.client.structures.response.DispositionReport;
import weblogic.uddi.client.structures.response.RegisteredInfo;
import weblogic.uddi.client.structures.response.ServiceDetail;
import weblogic.uddi.client.structures.response.ServiceList;
import weblogic.uddi.client.structures.response.TModelDetail;
import weblogic.uddi.client.structures.response.TModelList;

import java.util.Vector;

public class TestClient
{ 
   public TestClient()
   { 
      i = new Inquiry();
      p = new Publish();
   }
   
	public static void main(String[] args)
	{
      System.out.println("\nTesting client.......\n");
      
      TestClient t = new TestClient();
      
      System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
      java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
      
      // Set the URL of the remote registry to use for inquiry services.
      
      //----------------------
      //i.setURL("http://hobart:9001/uddi/uddilistener");
      //i.setURL("http://www-3.ibm.com/services/uddi/testregistry/inquiryapi");
      i.setURL("http://www-3.ibm.com/services/uddi/inquiryapi");
      //i.setURL("http://test.uddi.microsoft.com/inquire");
      //i.setURL("http://uddi.microsoft.com/inquire");
      
      // Set the URL of the remote registry to use for publish services.
      
      //----------------------
      //p.setURL("http://hobart:9001/uddi/uddilistener");
      //p.setURL("https://www-3.ibm.com/services/uddi/testregistry/protect/publishapi");
      p.setURL("https://www-3.ibm.com/services/uddi/protect/publishapi");
      //p.setURL("https://test.uddi.microsoft.com/publish");
      //p.setURL("https://uddi.microsoft.com/publish");

      // Choose the inquiry function to test and uncomment it. Then compile this file and run again
      
      // (ibm o) = (ibm official registry)
      
      //Inquiry Function                    // Status

      //t.testFindBinding();                

      t.testFindBusinessByName();         
      //t.testFindBusinessByIdenBag();      
      //t.testFindBusinessByCat();          
      //t.testFindBusinessBytModelBag();    
      //t.testFindBusinessByDisURL();       

      //t.testFindServiceByName();          
      //t.testFindServiceByCat();           
      //t.testFindServiceByTModelBag();     

      //t.testFindTModelByName();           
      //t.testFindTModelByIDBag();          
      //t.testFindTModelbyCATBag();         

      //t.testGetBindingDetail();           
      //t.testGetBusinessDetail();          
      //t.testGetBusinessDetailEx();        // Not Supported (ibm o) Fatal Error 10500 (ms o)
      //t.testGetServiceDetail();           
      //t.testGetTModelDetail();            


      // Choose the publish function to test and uncomment it. Then compile this file and run again
      // Note: when testing these functions, simply uncommenting may not work, as
      // saving, updating, deleting my result in changes to the key values, like businessKeys,
      // serviceKeys. So the existing hard-coded values may have expired. Start with saving new
      // structures, getting the new keys, and using those for deleting them and
      // adding sub-structures, like services in businesses.
      //
      // At all times if you do not know the business keys and services keys and other okeys
      
      //Publish Function                    // Status

      //t.testDelBinding();                 
      //t.testDelBusiness();                
      //t.testDelService();                 
      //t.testDelTModel();                  

      //t.testGetRegisteredInfo();          
      
      //t.testValidateCatByBusinessEntity();
      //t.testValidateCatByBusinessServ();  
      //t.testValidateCatByTModel();        

      //t.testSaveBinding();                
      //t.testSaveBusiness();               
      //t.testSaveBusinessUploadRegister(); // Not Supported (ibm and ms)
      //t.testSaveService();                
      //t.testSaveTModel();                 
      //t.testSaveTModelUploadRegister();   // Not Supported (ibm and ms)
      
      //----------------------
   }

   private static Inquiry i;
   private static Publish p;
      
   private AuthInfo testLogin() throws Exception
   {
      
      // Used only for IBM test registry:
      
      GetAuthToken gat = new GetAuthToken();     

      // First IBM account:
      gat.setUserID("ensemsys-test");            
      gat.setCred("321qazxc");                  
      
      // Second IBM account:
      //gat.setUserID("zzzzzz");           
      //gat.setCred("sw21qa");                  

      // Microsoft account:
      //gat.setUserID("jason.o@ensemble-systems.com");           
      //gat.setCred("msdnmsdn");                  
      
      AuthToken   at = p.getAuthToken(gat);  
      
      //return the authorization information after successful login
      AuthInfo ai = at.getAuthInfo();
      return ai;
   }

   private void testLogout(AuthInfo ai) throws Exception
   {
      //remove the current authorization information
      DiscardAuthToken dat = new DiscardAuthToken();
      dat.setAuthInfo(ai);
      p.discardAuthToken(dat);
   }
   
   private void testDelBusiness()
   {
      try
      {
         // log in
         System.out.print("Logging in ..... ");
         AuthInfo ai = testLogin();
         System.out.println("Done : "+ ai.getValue());

         // create a vector business keys
         Vector vbkeys = new Vector();
         //vbkeys.add(new BusinessKey("53EC54F0-38DE-11D5-9E50-002035229C64"));
         vbkeys.add(new BusinessKey("1DBE84DC-96CC-47E6-A62B-6C743B4E5DD9"));
         
         System.out.print("Deleting Business .....");
         // create a delete business structure
         DeleteBusiness db = new DeleteBusiness();
         // set all the arguments and attributes of the message
         // follow the uddi.org specification for details.
         db.setAuthInfo(ai);
         db.setBusinessKeyVector(vbkeys);
         // pass the structure to the publish function
         DispositionReport drpts = p.deleteBusiness(db);
         System.out.println("Done.");
         
         // log out
         System.out.print("Logging out ..... ");
         testLogout(ai);
         System.out.println("Done.");
      }
      catch(UDDIException ue)
      {
         System.out.println("");
         System.out.println("**** UDDIEXception ***");
         System.out.println("Fault Actor : " + ue.getFaultActor());
         System.out.println("Fault Error : " + ue.getFaultCode());
         DispositionReport dr = ue.getDispositionReport();
         Vector res = dr.getResultVector();
         Result r = (Result)res.elementAt(0);
         ErrInfo ei = r.getErrInfo();
         System.out.println("ErrInfo : "+ ei.getValue());
      }
      catch (XML_SoapException exp){
         System.out.println("XML_SoapException");
         System.out.println(exp.getMessage());
         exp.printStackTrace();
      }
      catch(Exception e)
      {
         System.out.println("Exception");
         e.printStackTrace();
      }
   }	

   private void testSaveBusiness()
   {
      try
      {
         // log in
         System.out.print("Logging in ..... ");
         AuthInfo ai = testLogin();
         System.out.println("Done : "+ ai.getValue());

         BusinessEntity be = new BusinessEntity();
         //be.setBusinessKey("A63F7B30-2B94-11D5-BFAF-AB3B31212312");
         //be.setBusinessKey("53EC54F0-38DE-11D5-9E50-002035229C64");
         be.setBusinessKey("1DBE84DC-96CC-47E6-A62B-6C743B4E5DD9");
         be.setName("MyNewTestingCompanyMsdnMsdn");
         be.addDescription("My New Test Description");

⌨️ 快捷键说明

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