![]() ![]() |
![]() |
File: [Pegasus] / pegasus-JavaCIMClient / cimclient / tests / IndTests / sendIndication.java
(download)
Revision: 1.2, Thu Feb 12 18:12:28 2004 UTC (20 years, 4 months ago) by kumpf Branch: MAIN CVS Tags: pegasus25BeforeLicenseUpdate, SLPPERFINST-root, SLPPERFINST-branch, RELEASE_2_4_FC_CANDIDATE_1, RELEASE_2_4_1-BETA3, RELEASE_2_4_1-BETA2, RELEASE_2_4_1-BETA1, RELEASE_2_4_1, RELEASE_2_4_0-RC3, RELEASE_2_4_0-RC2, RELEASE_2_4_0, RELEASE_2_4-root, RELEASE_2_4-branch, PEP217_PRE_BRANCH, PEP217_POST_BRANCH, PEP217_BRANCH, PEP214ROOT, PEP214BRANCH, PEP214-root, PEP214-branch, PEP213_SIZE_OPTIMIZATIONS, PEP-214B-root, PEG25_IBM_5_16_05, MONITOR_CONSOLIDATION_2_5_BRANCH, IBM_241_April1405, HPUX_TEST, CQL_2_5_BRANCH, CHUNKTESTDONE_PEP140, BUG2493_BINREP-root, BUG2493_BINREP-branch Changes since 1.1: +23 -11 lines HP-BAPU: PEP125 Enhancements to Pegasus Java Client and Java Listener |
// sendIndication.java // // The contents of this file are subject to the SNIA Public License Version 1.0 // (the "License"); you may not use this file except in compliance with the // License. You may obtain a copy of the License at // // http://www.snia.org/resources/openSource.html // // Software distributed under the License is distributed on an "AS IS" basis, // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the // License for the specific language governing rights and limitations // under the License. // // The Initial Developers of the Original Code // Bapu Patil ( bapu_patil@hp.com) // Hewlett-Packard Company. // // Contributor(s): // // /** sendIndication.java This is a test program to send more than one Indication to CIM Listener. Program uses Java Sockets to do the communication. Usage: Examples: java sendIndication -h myHost -p ListenerPort \ -u guest -w guest -f exportReq.xml SSL example: java \ -Djavax.net.ssl.trustStore=cimindCL.trust \ -Djavax.net.ssl.keyStore=cimindCL.key \ -Djavax.net.ssl.keyStorePassword=cimindCLkeypass \ sendIndication -h sequoia -p 8189 -u guest -w guest \ -f exportReq.xml -s */ import java.io.*; import java.net.*; import java.security.*; //import sun.misc.*; import javax.net.ssl.*; import java.net.HttpURLConnection.*; import org.snia.wbemcmd.xml.Base64Encoder; public class sendIndication { public static void main(String[] args) throws Exception { String inputString = ""; String input; String hostname=null; int portNumber=8189; String username; String passwd; String xmlfile=null; String hostURL; boolean isSSL=false; if (args.length < 2) { System.out.print(" java sendIndication "); System.out.println(" -h <hostname> -p <port> -u <user> -w <passwd> -f <xmlfile> [-s]" ); System.exit(1); } int i=0; while ( i <args.length ) { if ( args[i].equals("-h") ) { i++; hostname=args[i]; } else if ( args[i].equals("-p") ) { i++; portNumber=Integer.parseInt(args[i]); } else if ( args[i].equals("-u") ) { i++; username=args[i]; } else if ( args[i].equals("-w") ) { i++; passwd=args[i]; } else if ( args[i].equals("-f") ) { i++; xmlfile=args[i]; } else if ( args[i].equals("-s") ) { isSSL = true; } i++; } if ( isSSL == true ) { //get SSL provider System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); //System.setProperty("java.protocol.handler.pkgs", "javax.net.ssl"); Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); hostURL="https://"+hostname+":"+portNumber+"/cimom/listener1"; } else { hostURL="http://"+hostname+":"+portNumber+"/cimom//listener1"; } Base64Encoder b64e=new Base64Encoder("guest:guest"); String encoded=b64e.processString(); System.out.println(encoded); System.out.println("hostname " + hostURL); System.out.println("Sending the following request *********************"); BufferedReader in = new BufferedReader(new FileReader(xmlfile)); while((input = in.readLine()) != null) { inputString = inputString + input; System.out.println(input); } in.close(); int ch; int bufSize; int maxBufSize=8192; byte[] inputBuf=new byte[maxBufSize]; SSLSocket sslSocket = null; Socket plainSocket = null; BufferedWriter wr=null; InputStream ins=null; try { // Create a socket to the host InetAddress addr = InetAddress.getByName(hostname); if ( isSSL == true ) { Security.addProvider( new com.sun.net.ssl.internal.ssl.Provider()); SSLSocketFactory sslFact = (SSLSocketFactory)SSLSocketFactory.getDefault(); sslSocket = (SSLSocket)sslFact.createSocket(addr, portNumber); // Output wr = new BufferedWriter( new OutputStreamWriter(sslSocket.getOutputStream(), "UTF8")); // Input Stream reader ins = sslSocket.getInputStream(); } else { plainSocket = new Socket(addr, portNumber); // Output wr = new BufferedWriter( new OutputStreamWriter(plainSocket.getOutputStream(), "UTF8")); // Input Stream reader ins = plainSocket.getInputStream(); } } catch (Exception e) { System.out.println("Exception" + e); } try { // Send header String path = "/cimom/listener1"; wr.write("POST "+path+" HTTP/1.1\r\n"); wr.write("Content-type: application/xml; charset=\"utf-8\" \r\n"); wr.write("Content-Length: "+inputString.length() + "\r\n"); wr.write( "CIMProtocolVersion: 1.0 \r\n"); wr.write( "CIMExport: MethodRequest \r\n"); wr.write( "CIMExportMethod: ExportIndication\r\n"); wr.write( "CIMObject: root/SampleProvider:RT_TestIndication \r\n"); wr.write("\r\n"); // Send input data wr.write(inputString); wr.flush(); // Get response System.out.println("Response from the listener *******************"); bufSize=ins.read(inputBuf,0,maxBufSize); if (bufSize<0) { System.out.println("Failed to read"); } else { // System.out.println("Buffer size" + bufSize); String inputStr = new String(inputBuf); System.out.println(inputStr); } //ins.close(); //wr.close(); if ( isSSL == true ) sslSocket.close(); else plainSocket.close(); } catch (Exception e) { e.printStackTrace(); } } }
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |