導航:首頁 > 編程語言 > java調用介面的方式

java調用介面的方式

發布時間:2024-07-18 09:27:06

1. 如何使用java調用url介面

原貼地址http://yuanlijia1.iteye.com/blog/1088088


一、在java中調用url,並打開一個新的窗口

Java代碼

Stringurl="http://10.58.2.131:8088/spesBiz/test1.jsp";
Stringcmd="cmd.exe/cstart"+url;

try{
Processproc=Runtime.getRuntime().exec(cmd);
proc.waitFor();
}
catch(Exceptione)
{
e.printStackTrace();
}


二、在java中調用url,後台調用。並取得返回值

Java代碼

URLU=newURL("http://10.58.2.131:8088/spesBiz/test1.jsp");
URLConnectionconnection=U.openConnection();
connection.connect();

BufferedReaderin=newBufferedReader(newInputStreamReader(connection.getInputStream()));
Stringline;
while((line=in.readLine())!=null)
{
result+=line;
}
in.close();

2. 怎麼用java調用微信支付介面

java調用微信支付介面方法:x0d=newRequestHandler(super.getRequest(),super.getResponse());x0dx0ax0dx0a//獲取token//兩小時內有效,兩小時後重新獲取x0dx0ax0dx0aToken=requestHandler.GetToken();x0dx0ax0dx0a//更新token到應用中x0dx0ax0dx0arequestHandler.getTokenReal();x0dx0ax0dx0aSystem.out.println("微信支付獲取token=======================:"+Token);x0dx0ax0dx0ax0dx0ax0dx0a//requestHandler初始化x0dx0ax0dx0arequestHandler.init();x0dx0ax0dx0arequestHandler.init(appid,appsecret,appkey,partnerkey,key);x0dx0ax0dx0ax0dx0ax0dx0a//--------------------------------本地系統生成訂單-------------------------------------x0dx0ax0dx0a//設置package訂單參數x0dx0ax0dx0aSortedMappackageParams=newTreeMap();x0dx0ax0dx0apackageParams.put("bank_type","WX");//支付類型x0dx0ax0dx0apackageParams.put("body","xxxx");//商品描述x0dx0ax0dx0apackageParams.put("fee_type","1");//銀行幣種x0dx0ax0dx0apackageParams.put("input_charset","UTF-8");//字元集x0dx0ax0dx0apackageParams.put("notify_url","http://xxxx.com/xxxx/wxcallback");//通知地址這里的通知地址使用外網地址測試,注意80埠是否打開。x0dx0ax0dx0apackageParams.put("out_trade_no",no);//商戶訂單號x0dx0ax0dx0apackageParams.put("partner",partenerid);//設置商戶號x0dx0ax0dx0apackageParams.put("spbill_create_ip",super.getRequest().getRemoteHost());//訂單生成的機器IP,指用戶瀏覽器端IPx0dx0ax0dx0apackageParams.put("total_fee",String.valueOf(rstotal));//商品總金額,以分為單位x0dx0ax0dx0ax0dx0ax0dx0a//設置支付參數x0dx0ax0dx0aSortedMapsignParams=newTreeMap();x0dx0ax0dx0asignParams.put("appid",appid);x0dx0ax0dx0asignParams.put("noncestr",noncestr);x0dx0ax0dx0asignParams.put("traceid",PropertiesUtils.getOrderNO());x0dx0ax0dx0asignParams.put("timestamp",timestamp);x0dx0ax0dx0asignParams.put("package",packageValue);x0dx0ax0dx0asignParams.put("appkey",this.appkey);x0dx0ax0dx0ax0dx0ax0dx0a//生成支付簽名,要採用URLENCODER的原始值進行SHA1演算法!x0dx0ax0dx0aStringsign="";x0dx0ax0dx0atry{x0dx0ax0dx0asign=Sha1Util.createSHA1Sign(signParams);x0dx0ax0dx0a}catch(Exceptione){x0dx0ax0dx0ae.printStackTrace();x0dx0ax0dx0a}x0dx0ax0dx0ax0dx0ax0dx0a//增加非參與簽名的額外參數x0dx0ax0dx0asignParams.put("sign_method","sha1");x0dx0ax0dx0asignParams.put("app_signature",sign);//api支付拼包結束------------------------------------x0dx0ax0dx0ax0dx0ax0dx0a//獲取=requestHandler.sendPrepay(signParams);x0dx0ax0dx0aSystem.out.println("prepayid:"+prepayid);x0dx0ax0dx0a//--------------------------------生成完成---------------------------------------------x0dx0ax0dx0ax0dx0ax0dx0a//生成預付快訂單完成,返回給android,ios掉起微信所需要的參數。x0dx0ax0dx0aSortedMappayParams=newTreeMap();x0dx0ax0dx0apayParams.put("appid",appid);x0dx0ax0dx0apayParams.put("noncestr",noncestr);x0dx0ax0dx0apayParams.put("package","Sign=WXPay");x0dx0ax0dx0apayParams.put("partnerid",partenerid);x0dx0ax0dx0apayParams.put("prepayid",prepayid);x0dx0ax0dx0apayParams.put("appkey",this.appkey);x0dx0ax0dx0a//這里除1000是因為參數長度限制。x0dx0ax0dx0ainttime=(int)(System.currentTimeMillis()/1000);x0dx0ax0dx0apayParams.put("timestamp",String.valueOf(time));.out.println("timestamp:"+time);x0dx0ax0dx0ax0dx0ax0dx0a//簽名x0dx0ax0dx0aStringpaysign="";x0dx0ax0dx0atry{x0dx0ax0dx0apaysign=Sha1Util.createSHA1Sign(payParams);x0dx0ax0dx0a}catch(Exceptione){x0dx0ax0dx0ae.printStackTrace();x0dx0ax0dx0a}x0dx0ax0dx0apayParams.put("sign",paysign);x0dx0ax0dx0ax0dx0ax0dx0a//拼json數據返回給客戶端=newBasicDBObject();x0dx0ax0dx0abackObject.put("appid",appid);x0dx0ax0dx0abackObject.put("noncestr",payParams.get("noncestr"));x0dx0ax0dx0abackObject.put("package","Sign=WXPay");x0dx0ax0dx0abackObject.put("partnerid",payParams.get("partnerid"));x0dx0ax0dx0abackObject.put("prepayid",payParams.get("prepayid"));x0dx0ax0dx0abackObject.put("appkey",this.appkey);x0dx0ax0dx0abackObject.put("timestamp",payParams.get("timestamp"));x0dx0ax0dx0abackObject.put("sign",payParams.get("sign"));=dataObject.toString();x0dx0ax0dx0aSystem.out.println("backstr:"+backstr);;x0dx0ax0dx0ax0dx0ax0dx0a====================到此為止,預付款訂單已生成,並且已返回客戶端====================x0dx0ax0dx0ax0dx0ax0dx0a//坐等微信伺服器通知,通知的地址就是生成預付款訂單的notify_=newResponseHandler(request,response);x0dx0ax0dx0aresHandler.setKey(partnerkey);x0dx0ax0dx0a//創建請求對象x0dx0ax0dx0a//RequestHandlerqueryReq=newRequestHandler(request,response);x0dx0ax0dx0a//queryReq.init();x0dx0ax0dx0aif(resHandler.isTenpaySign()==true){x0dx0ax0dx0a//商戶訂單號x0dx0ax0dx0aStringout_trade_no=resHandler.getParameter("out_trade_no");x0dx0ax0dx0aSystem.out.println("out_trade_no:"+out_trade_no);x0dx0ax0dx0a//財付通訂單號x0dx0ax0dx0aStringtransaction_id=resHandler.getParameter("transaction_id");x0dx0ax0dx0aSystem.out.println("transaction_id:"+transaction_id);x0dx0ax0dx0a//金額,以分為單位x0dx0ax0dx0aStringtotal_fee=resHandler.getParameter("total_fee");x0dx0ax0dx0a//如果有使用折扣券,discount有值,total_fee+discount=原請求的total_feex0dx0ax0dx0aStringdiscount=resHandler.getParameter("discount");x0dx0ax0dx0a//支付結果x0dx0ax0dx0aStringtrade_state=resHandler.getParameter("trade_state");x0dx0ax0dx0ax0dx0ax0dx0a//判斷簽名及結果x0dx0ax0dx0aif("0".equals(trade_state)){x0dx0ax0dx0a//------------------------------x0dx0ax0dx0a//即時到賬處理業務開始x0dx0ax0dx0a//------------------------------.out.println("----------------業務邏輯執行-----------------");x0dx0ax0dx0ax0dx0ax0dx0a//——請根據您的業務邏輯來編寫程序(以上代碼僅作參考)——x0dx0ax0dx0aSystem.out.println("----------------業務邏輯執行完畢-----------------");x0dx0ax0dx0aSystem.out.println("success");//請不要修改或刪除.out.println("即時到賬支付成功");x0dx0ax0dx0a//給財付通系統發送成功信息,財付通系統收到此結果後不再進行後續通知x0dx0ax0dx0aresHandler.sendToCFT("success");x0dx0ax0dx0ax0dx0ax0dx0a//給微信伺服器返回success否則30分鍾通知8次x0dx0ax0dx0areturn"success";x0dx0ax0dx0a}else{x0dx0ax0dx0aSystem.out.println("通知簽名驗證失敗");x0dx0ax0dx0aresHandler.sendToCFT("fail");x0dx0ax0dx0aresponse.setCharacterEncoding("utf-8");x0dx0ax0dx0a}x0dx0ax0dx0a}else{x0dx0ax0dx0aSystem.out.println("fail-Md5failed");

3. java如何調用webservice介面

Java調用WebService可以直接使用Apache提供的axis.jar自己編寫代碼,或者利用Eclipse自動生成WebService Client代碼,利用其中的Proxy類進行調用。理論上是一樣的,只不過用Eclipse自動生成代碼省事些。
1、編寫代碼方式:
package com.yun.test;
import java.rmi.RemoteException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.message.PrefixedQName;
import org.apache.axis.message.SOAPHeaderElement;
import com.cezanne.golden.user.Exception;
import com.cezanne.golden.user.UserManagerServiceProxy;
import javax.xml.namespace.QName;
import java.net.MalformedURLException;
import javax.xml.rpc.ServiceException;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPException;

public class testWebService {
public static String getResult() throws ServiceException, MalformedURLException, RemoteException, SOAPException
{
//標識Web Service的具體路徑
String endpoint = "WebService服務地址";
// 創建 Service實例
Service service = new Service();
// 通過Service實例創建Call的實例
Call call = (Call) service.createCall();
//將Web Service的服務路徑加入到call實例之中.
call.setTargetEndpointAddress( new java.net.URL(endpoint) );//為Call設置服務的位置
// 由於需要認證,故需要設置調用的SOAP頭信息。
Name headerName = new PrefixedQName( new QName("發布的wsdl里的targetNamespace里的url", "string_itemName") );
org.apache.axis.message.SOAPHeaderElement header = new SOAPHeaderElement(headerName);
header.addTextNode( "blablabla" );
call.addHeader(header);

// SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement("發布的wsdl里的targetNamespace里的url", "SoapHeader");
// soapHeaderElement.setNamespaceURI("發布的wsdl里的targetNamespace里的url");
// try
// {
// soapHeaderElement.addChildElement("string_itemName").setValue("blablabla");
// }
// catch (SOAPException e)
// {
// e.printStackTrace();
// }
// call.addHeader(soapHeaderElement);
//調用Web Service的方法
org.apache.axis.description.OperationDesc oper;
org.apache.axis.description.ParameterDesc param;
oper = new org.apache.axis.description.OperationDesc();
oper.setName("opName");
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg0"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg1"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg2"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
param.setOmittable(true);
oper.addParameter(param);
oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
oper.setReturnClass(java.lang.String.class);
oper.setReturnQName(new javax.xml.namespace.QName("", "return"));
oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
oper.setUse(org.apache.axis.constants.Use.LITERAL);
oper.addFault(new org.apache.axis.description.FaultDesc(
new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "Exception"),
"Exception",
new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "Exception"),
true
));
call.setOperation( oper );
call.setOperationName(new javax.xml.namespace.QName("發布的wsdl里的targetNamespace里的url", "opName"));
//調用Web Service,傳入參數
String res = ( String ) call.invoke( new Object[]("arg0","arg1"));
System.out.println("===============");
return res;
}
/**
* @param args
*/
public static void main(String[] args) {
try {
System.out.println(getResult());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
} catch (SOAPException e) {
e.printStackTrace();
}
}
}

2、利用Eclipse自動生成WebService client代碼就容易多了:(由於還不會發圖片,就用語言描述了,大家酬和看吧。。。)
首先,new project,選擇other,在輸入框中輸入Web Service Client,選中搜索後的結果,點擊Next,在Service definition中輸入 WebService的發布地址,點擊Finish
這樣,WebService Client代碼已經生成好了。
接下來寫一個Test類,在main函數中輸入如下代碼:

String endpoint = "伺服器的WebService的地址";
YourWebServiceNameProxy umsp = new YourWebServiceNameProxy (endpoint);
try {
String resultStr = umsp.opMethod("arg0","arg1");
System.out.println(resultStr);
} catch (Exception e) {
System.out.println("異常");
e.printStackTrace();
} catch (RemoteException e) {
System.out.println("RemoteException異常");
e.printStackTrace();
}
如果還有疑問的話還有視頻,如果對你有幫助請採納!

4. JAVA怎麼調用介面

String sendPost(String jsonStr, String path)x0dx0a throws IOException {x0dx0a byte[] data = jsonStr.getBytes();x0dx0a java.net.URL url = new java.net.URL(path);x0dx0a java.net.HttpURLConnection conn = x0dx0a (java.net.HttpURLConnection) url.openConnection();x0dx0a conn.setRequestMethod("POST");x0dx0a conn.setConnectTimeout(5 * 1000);// 設置連接超時時間為5秒 x0dx0a conn.setReadTimeout(20 * 1000);// 設置讀取超時時間為20秒 x0dx0a // 使用 URL 連接進行輸出,則將 DoOutput標志設置為 truex0dx0a conn.setDoOutput(true);x0dx0a x0dx0a conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");x0dx0a //conn.setRequestProperty("Content-Encoding","gzip");x0dx0a conn.setRequestProperty("Content-Length", String.valueOf(data.length));x0dx0a OutputStream outStream = conn.getOutputStream();// 返回寫入到此連接的輸出流x0dx0a outStream.write(data);x0dx0a outStream.close();//關閉流x0dx0a String msg = "";// 保存調用http服務後的響應信息x0dx0a // 如果請求響應頌旅碼是200,則表示成功x0dx0a if (conn.getResponseCode() == 200) {x0dx0a // HTTP服務端返回的編碼坦櫻陪是UTF-8,故必須設置為UTF-8,保持編碼統一,否則會出現中文亂碼x0dx0a BufferedReader in = new BufferedReader(new InputStreamReader(x0dx0a (InputStream) conn.getInputStream(), "UTF-8"));x0dx0a msg = in.readLine();x0dx0a in.close();x0dx0a }x0dx0a conn.disconnect();// 斷開連接讓蠢x0dx0a return msg;x0dx0a }

閱讀全文

與java調用介面的方式相關的資料

熱點內容
英語分類單詞pdf 瀏覽:184
打開微信時提醒微信已加密 瀏覽:346
svm演算法的論文好寫嗎 瀏覽:838
數學大辭典pdf 瀏覽:179
屏幕上滑兩次退出app怎麼取消 瀏覽:802
聯想伺服器如何開機 瀏覽:437
進入cmd後都有哪些命令 瀏覽:813
pythonmysql資料庫連接池 瀏覽:376
真三國無雙命令 瀏覽:664
警察故事在哪個app可以看 瀏覽:975
單片機8155 瀏覽:399
php音樂播放器代碼 瀏覽:753
java獲取資源文件 瀏覽:447
聯想筆記本怎麼設置私密文件夾 瀏覽:920
phpsql參數化 瀏覽:674
androiduserhandle 瀏覽:665
嬌軀命令小說 瀏覽:180
編譯android10源代碼 瀏覽:568
解壓促進睡眠音樂 瀏覽:460
分時六彩神龍指標源碼 瀏覽:222