JavaのSMSインタフェース

1つの パブリック クラスSendMessageUtil {
 2      // 短信发送相关数据
3      プライベート 静的文字列strUserName = "" ;
4      プライベート 静的な文字列strPassword = "" ;
5      パブリック 静的 DynamicClientFactory DCF = NULL ;
6      パブリック 静的 org.apache.cxf.endpoint.Clientクライアント= nullを7      静的{
 8          DCF = DynamicClientFactory.newInstance()。
9          クライアント= dcf.createClient( "" )。
10     }
 11      
12      
13      プライベート 静的 int型ポスト(文字列パス、文字列JSON)がスロー例外{
 14          のHttpClientクライアント= 新規のHttpClientを();
15          PostMethod postMethod = 新しいPostMethod(パス)。
16          postMethod.setRequestHeader( "Content-Typeの"、 "アプリケーション/ jsonの" );
17          バイト [] requestBytes = json.getBytes( "UTF-8"); // 将参数转为二进制流
18          InputStream InputStreamは= 新しいれるByteArrayInputStream(requestBytes、0 、requestBytes.length)。
19         RequestEntity = RequestEntity 新しい新しいInputStreamRequestEntity(のinputStream、
 20は                  requestBytes.length、 "ファイルアプリケーション/ JSON;のcharset = UTF-8"); // リクエストボディ
21は         postMethod.setRequestEntity(RequestEntity);
 22である         int型 STATE = client.executeMethod(PostMethod);
 23のIS          リターンステート;
 24      }
 25  
26がある     / ** 
27       *非同期送信SMS
 28       * 
 29       * @param strPhoneNos、電話番号、複数採用し、離れて。
30       * @paramのメッセージの内容strMsgを送りました。
31      * @author 012169 2013年9月12日下午二時32分04秒
 32       * / 
33      公共 静的 ボイドSENDMSG(文字列strPhoneNos、列strMsg){
 34          ClientCallbackコールバック= 新しいClientCallback()。
35          INT intReply = 0 36  
37          のtry {
 38  
39              client.invoke(コールバック、 "SENDMSG"、新しいオブジェクト[] {strPhoneNos、strMsg、strUserName、strPassword})。
40              オブジェクト[] replys = callback.get()。
41              のために(オブジェクトO:replys){
 42                 = intReply NumUtils.objectConvertToInt(O);
 43である             }
 44である             // intReply、0:ユーザ名が存在しない、-1:間違ったパスワード、02:条数は今月の上限を介してメッセージを送信する:0 <0の送信が失敗>送信成功
45          } キャッチ(例外E){
 46が              log.error( "送信エラー:" + e.getMessage()+ " ; 戻り値:" strPhoneNos + + + intReply strMsg);
 47          }
 48      }
 49  
50      / ** 
51       *同期送信メッセージ
 52は、      * 
 53である      * @param strPhoneNos、電話番号は、複数採用し、離れ。
54       * @paramのメッセージの内容strMsgを送りました。
55      * @author 012169 2013年9月12日下午二時32分04秒
 56       * / 
57      公共 静的 ボイドsendMsgBySynchronously(文字列strPhoneNos、列strMsg){
 58          オブジェクト[] replys = NULL ;
59          INT intReply = 0 60  
61          のtry {
 62              replys = client.invoke( "SENDMSG"、新しいオブジェクト[] {strPhoneNos、strMsg、strUserName、strPassword})。
63  
64              のために(オブジェクトO:replys){
 65                  intReply = NumUtils.objectConvertToInt(O)
66             }
 67  
68              // intReply、0:ユーザー名は、存在しない-1:間違ったパスワード02:テキストメッセージの数は、<0:送信に失敗しました>、今月の上限を超えストリップを送っ0:正常に送信され
69  
70          } キャッチ(例外E ){
 71は              log.error( "送信エラー:" + e.getMessage()+ " ; 戻り値:" strPhoneNos + + + intReply strMsg);
 72          }
 73である 
74      }
 75 }

 

おすすめ

転載: www.cnblogs.com/zeevy/p/12556707.html