www.pudn.com > yidong.rar > QueryISMG.java
package sample;
/* --------------------------------------------------------------------------
Name: QueryISMG.cpp
Title: CMPP API of ISMG for CMPP 1.1
Package: Send query request to ISMG sample code for Asiainfo CMPP 1.1 API
Written: 2000/12/20 Asiainfo
Revised:
Synopsis:
Editor: TAB=4
-----------------------------------------------------------------------------*/
import aiismg.jcmppapi30.CMPPAPI;
import aiismg.jcmppapi30.CMPPQueryResp;
import java.io.*;
public final class QueryISMG {
public static void main( String argv[] )
{
int nOutput = 1;
String sResultFile = null;
byte[] sServiceID = new byte[10], sDate = new byte[8];
int nType = 0, n;
CMPPQueryResp theQueryResp = new CMPPQueryResp();
CMPPAPI pCMPPAPI = new CMPPAPI();
// get argument
int nLen;
for(n=0; n 8 ) {
if(nOutput == 1) {
System.out.println( "Date format is YYYYMMDD!" );
}
System.exit(1);
}
System.arraycopy( argv[n].getBytes(), 0, sDate, 0, argv[n].length() );
} else if(argv[n].compareTo( "-t") == 0) {
n++;
nType = Integer.parseInt(argv[n]);
} else if(argv[n].compareTo( "-s") == 0) {
n++;
if( argv[n].length() > 10 ) {
if(nOutput == 1) {
System.out.println( "ServiceID too long. The length must less than 10!" );
}
System.exit(1);
}
System.arraycopy( argv[n].getBytes(), 0, sServiceID, 0, argv[n].length() );
} else if(argv[n].compareTo( "-f") == 0) {
n++;
sResultFile = argv[n];
} else {
if(nOutput == 1) {
Usage();
}
System.exit(1);
}
}
if( sResultFile == null) {
if(nOutput == 1) {
System.out.println("No result file!");
}
System.exit(1);
}
if( sDate == null) {
if(nOutput == 1) {
System.out.println("No query date!");
}
System.exit(1);
}
if(nType == 1 && sServiceID == null) {
if(nOutput == 1) {
System.out.println("No serviceid!");
}
System.exit(1);
}
// initiate API
if(pCMPPAPI.InitCMPPAPI( "../config/javacmppc.ini" ) != 0) {
if(nOutput == 1) {
System.out.println("Fail to call InitCMPPAPI!");
}
System.exit(1);
}
if(pCMPPAPI.CMPPQuery(sDate, nType, sServiceID, theQueryResp) != 0) {
if(nOutput == 1) {
System.out.println("Fail to call CMPPQuery!");
}
System.exit(1);
}
// write query result into file
try{
FileOutputStream pFile = new FileOutputStream( sResultFile );
pFile.write( (Integer.toString(theQueryResp.nMT_TLMsg)).getBytes());
pFile.write( '\n' );
pFile.write( (Integer.toString(theQueryResp.nMT_TLusr)).getBytes());
pFile.write( '\n' );
pFile.write( (Integer.toString(theQueryResp.nMT_Scs)).getBytes());
pFile.write( '\n' );
pFile.write( (Integer.toString(theQueryResp.nMT_WT)).getBytes());
pFile.write( '\n' );
pFile.write( (Integer.toString(theQueryResp.nMT_FL)).getBytes());
pFile.write( '\n' );
pFile.write( (Integer.toString(theQueryResp.nMO_Scs)).getBytes());
pFile.write( '\n' );
pFile.write( (Integer.toString(theQueryResp.nMO_WT)).getBytes());
pFile.write( '\n' );
pFile.write( (Integer.toString(theQueryResp.nMO_FL)).getBytes());
pFile.write( '\n' );
pFile.close();
} catch( SecurityException excpt ) {
if( nOutput == 1 )
System.err.println( "Fail to create file " + sResultFile );
System.exit(1);
} catch( FileNotFoundException nfcpt ) {
if( nOutput == 1 )
System.err.println( "No such file:" + sResultFile );
System.exit(1);
} catch( IOException excpt ) {
if( nOutput == 1 )
System.err.println( "Fail to write file " + sResultFile );
System.exit(1);
}
System.exit(0);
}
public static void Usage( )
{
System.out.println("Usage: QueryISGM [-n] <-d date> <-t type> <-s serviceid> <-f result_file>" );
System.out.println(" -n: no message output");
System.out.println(" -d: qeury date, format=yyyymmdd.");
System.out.println(" -t: qeury type, 0=total, 1=serviceid.");
System.out.println(" -s: serviceid.");
System.out.println(" -f: result file name.");
System.out.println("e.g.: QueryISGM -d 20001220 -t 1 -s 00001 -f query.txt" );
}
}