java httppost wsdl_Java使用HttpUrlConnection调用webService(wsdl)
首先需要下載工具https://pan.baidu.com/s/1XQ-VubxcPFoqwGm7wierHg
下載成功后解壓打開exe程序,在wsdl endpoint中輸入你wsdl的地址,點擊get,等待一小會后會跳到invoke標簽下的界面
點擊某個方法,例如上圖的login,可以看到右邊有userName和password兩個參數需要填入,點擊填寫完后點invoke,此時下面的output就把result顯示出來了,這時候點擊Request/Response標簽,可以看到request的屬性、request請求體及response返回內容,這些信息等等代碼里會用到,下面開始是Java調用方法。
/**
* soap調用webService
*/
public static String sendSoapPost(String url,String xml,String contentType,String soapAction){
HttpURLConnection conn = null;
OutputStream out = null;
String returnXml = "";
try{
conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestProperty("Content-Type",contentType);
if(null != soapAction){
conn.setRequestProperty("SOAPAction",soapAction);
}
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);
conn.setDoOutput(true); // 向服務器發送數據
conn.setDoInput(true); // 獲取服務端的響應
conn.connect();
out = conn.getOutputStream();
out.write(xml.getBytes("UTF-8"));
out.flush();
out.close();
int code = conn.getResponseCode();
String tempString = null;
StringBuffer sb = new StringBuffer();
BufferedReader bufferedReader = null;
if(code == conn.HTTP_OK){
bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
}else{
bufferedReader = new BufferedReader(new InputStreamReader(conn.getErrorStream(),"UTF-8"));
}
while((tempString = bufferedReader.readLine()) != null){
sb.append(tempString);
}
if(null != bufferedReader){
bufferedReader.close();
}
//響應報文
returnXml = sb.toString();
}catch (Exception e){
e.printStackTrace();
}
return returnXml;
}
這個方法四個參數,其中xml參數需要把剛剛得到的請求體復制過來后進行修改,對應你要調用的方法和參數等。url、contentType,soapAction則對應剛剛得到的request屬性里的屬性名一樣的值,調用方法運行就會得到響應結果了。
總結
以上是生活随笔為你收集整理的java httppost wsdl_Java使用HttpUrlConnection调用webService(wsdl)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LISP 冻结excel窗格_粗暴讲解,
- 下一篇: 原生js获取document_原生JS常