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 }