當前位置:首頁 » 密碼管理 » 瀏覽器訪問webservice

瀏覽器訪問webservice

發布時間: 2022-10-04 03:45:40

1. 如何通過瀏覽器訪問web services

將 Web 服務部署到 Web 伺服器。有關更多信息,請參見 XML Web services 發布和部署。
訪問 Web 瀏覽器,並使用以下格式在地址欄中輸入 Web 服務的 URL:

http://servername/apppath/webservicename.asmx

路徑部分


伺服器名稱

在其上部署 Web 服務的伺服器的名稱。

應用程序路徑

虛擬目錄的名稱以及 Web 應用程序路徑的其餘部分。

Web 服務名稱.asmx

Web 服務 .asmx 文件的名稱。

例如,假設您已發布了一項名為 StockServices 的 Web 服務。發布時,此服務的基 URL 為 http://<伺服器名稱>/apppath/StockServices.asmx。通過在瀏覽器的地址欄中輸入此 HTTP-GET 請求,可以測試此服務:

http://<servername>/apppath/StockServices.asmx

作為對此請求的響應,伺服器將顯示 Web 服務的 HTML 說明頁。
Web 服務的 HTML 說明頁顯示特定 Web 服務支持的所有 Web 服務方法。鏈接到所需的 Web 服務方法並輸入必需的參數,以測試該方法並查看 XML 響應。
使用 HTTP-GET 在瀏覽器中直接測試 Web 服務方法
將 Web 服務部署到 Web 伺服器。有關更多信息,請參見 XML Web services 發布和部署。
訪問 Web 瀏覽器,並使用以下格式在地址欄中輸入 Web 服務方法的 URL:

http://servername/vdir/webservicename.asmx/Methodname?parameter=value

參數


伺服器名稱

在其上部署 Web 服務的伺服器的名稱。

應用程序路徑

虛擬目錄的名稱以及 Web 應用程序路徑的其餘部分。

Web 服務名稱.asmx

Web 服務 .asmx 文件的名稱。

方法名稱

Web 服務公開的公共方法的名稱。如果留為空白,則顯示 Web 服務的說明頁,其中會列出 .asmx 文件中提供的每個公共方法。(可選)

參數

方法所需要的任何參數的相應參數名稱和值。如果留為空白,則顯示 Web 服務的說明頁,其中會列出 .asmx 文件中提供的每個公共方法。(可選)

注意:

此語法中的 Web 服務方法名區分大小寫,但伺服器、項目和 Web 服務名稱不區分大小寫。

例如,假設前一過程中的 StockServices Web 服務包含一個名為 GetQuote 的 Web 服務方法,該 Web 服務方法接受以股票符號作為參數,並以雙精度浮點數的形式返回價格。在瀏覽器的地址欄中輸入以下 HTTP-GET 請求,以測試此方法:
http://<伺服器名稱>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
伺服器發送包含 XML 文檔的響應,將在瀏覽器中顯示該文檔。對於 GetQuote 示例,XML 具有您請求的股票的當前價格。結果可能類似於:
<?xml version="1.0" ?>
<double>74.5</double>

2. 如何通過HTTPS方式訪問webservice

通過HTTPS加密方式訪問web service具體方法如下:
【准備工作】
(1)檢查JDK的環境變數是否正確。本文使用JDK 1.6
(2)准備web伺服器,這里選用TOMCAT 6.0
(3)准備web service服務端和客戶端。
【生成證書】
這里用到的文件,這里存放在D:/SSL/文件夾內,其中D:/SSL/server/內的文件是要交給伺服器用的,D:/SSL/client/內的文件是要交給客戶端用的。
1生成服務端證書
開始-運行-CMD-在dos窗口執行下執行命令:
keytool -genkey -v -aliastomcat -keyalg RSA -keystore D:/SSL/server/tomcat.keystore -dname"CN=127.0.0.1,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN" -validity 3650-storepass zljzlj -keypass zljzlj
說明:
keytool 是JDK提供的證書生成工具,所有參數的用法參見keytool –help
-genkey 創建新證書
-v 詳細信息
-alias tomcat 以」tomcat」作為該證書的別名。這里可以根據需要修改
-keyalg RSA 指定演算法
-keystoreD:/SSL/server/tomcat.keystore 保存路徑及文件名
-dname"CN=127.0.0.1,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN" 證書發行者身份,這里的CN要與發布後的訪問域名一致。但由於這里是自簽證書,如果在瀏覽器訪問,仍然會有警告提示。真正場景中建議申請CA機構(wosign)簽發的SSL證書更安全。
-validity 3650證書有效期,單位為天
-storepass zljzlj 證書的存取密碼
-keypass zljzlj 證書的私鑰
2 生成客戶端證書
執行命令:
keytool ‐genkey ‐v ‐aliasclient ‐keyalg RSA ‐storetype PKCS12 ‐keystore D:/SSL/client/client.p12 ‐dname"CN=client,OU=zlj,O=zlj,L=bj,ST=bj,C=CN" ‐validity 3650 ‐storepassclient ‐keypass client
說明:
參數說明同上。這里的-dname 證書發行者身份可以和前面不同,到目前為止,這2個證書可以沒有任何關系。下面要做的工作才是建立2者之間的信任關系。
3 導出客戶端證書
執行命令:
keytool ‐export ‐aliasclient ‐keystore D:/SSL/client/client.p12 ‐storetype PKCS12 ‐storepass client‐rfc ‐file D:/SSL/client/client.cer
說明:
-export 執行導出
-file 導出文件的文件路徑
4 把客戶端證書加入服務端證書信任列表
執行命令:
keytool ‐import ‐aliasclient ‐v ‐file D:/SSL/client/client.cer ‐keystoreD:/SSL/server/tomcat.keystore ‐storepass zljzl
說明:
參數說明同前。這里提供的密碼是服務端證書的存取密碼。
5 導出服務端證書
執行命令:
keytool -export -aliastomcat -keystore D:/SSL/server/tomcat.keystore -storepass zljzlj -rfc -fileD:/SSL/server/tomcat.cer
說明:
把服務端證書導出。這里提供的密碼也是服務端證書的密碼。
6 生成客戶端信任列表
執行命令:
keytool -import -fileD:/SSL/server/tomcat.cer -storepass zljzlj -keystoreD:/SSL/client/client.truststore -alias tomcat –noprompt
說明:
讓客戶端信任服務端證書
【 配置服務端為只允許HTTPS連接】
1 配置Tomcat 目錄下的/conf/server.xml
Xml代碼:
<Connectorport="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"clientAuth="true"
sslProtocol="TLS"keystoreFile="D:/SSL/server/tomcat.keystore"
keystorePass="zljzlj"truststoreFile="D:/SSL/server/tomcat.keystore"
truststorePass="zljzlj" />
說明:
在server.xml裡面這段內容本來是被注釋掉的,如果想使用https的默認埠443,請修改這里的port參數。其中的clientAuth="true" 指定了雙向證書認證。

3. 使用瀏覽器怎麼調用java Web Service的介面

Java通過WSDL文件來調用webservice:

注意,以下的代碼並沒有經過真正的測試,只是說明這些情況,不同版本的Axis相差很大,大家最好以apache網站上的例子為准,這里僅僅用於說明其基本用法。
1,直接AXIS調用遠程的web service
這種方法比較適合那些高手,他們能直接看懂XML格式的WSDL文件,我自己是看不懂的,尤其我不是專門搞這行的,即使一段時間看懂,後來也就忘記了。直接調用模式如下:
import java.util.Date;
import java.text.DateFormat;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import java.lang.Integer;
import javax.xml.rpc.ParameterMode;

public class caClient {

public static void main(String[] args) {

try {
String endpoint = "";
//直接引用遠程的wsdl文件
//以下都是套路
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endpoint);
call.setOperationName("addUser");//WSDL裡面描述的介面名稱
call.addParameter("userName", org.apache.axis.encoding.XMLType.XSD_DATE,
javax.xml.rpc.ParameterMode.IN);//介面的參數
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//設置返回類型

String temp = "測試人員";
String result = (String)call.invoke(new Object[]{temp});
//給方法傳遞參數,並且調用方法
System.out.println("result is "+result);
}
catch (Exception e) {
System.err.println(e.toString());
}
}
}
2,直接SOAP調用遠程的webservice
這種模式我從來沒有見過,也沒有試過,但是網路上有人貼出來,我也轉過來
import org.apache.soap.util.xml.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;

import java.io.*;
import java.net.*;
import java.util.Vector;

public class caService{
public static String getService(String user) {
URL url = null;
try {
url=new URL("");
} catch (MalformedURLException mue) {
return mue.getMessage();
}
// This is the main SOAP object
Call soapCall = new Call();
// Use SOAP encoding
soapCall.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
// This is the remote object we're asking for the price
soapCall.setTargetObjectURI("urn:xmethods-caSynrochnized");
// This is the name of the method on the above object
soapCall.setMethodName("getUser");
// We need to send the ISBN number as an input parameter to the method
Vector soapParams = new Vector();

// name, type, value, encoding style
Parameter isbnParam = new Parameter("userName", String.class, user, null);
soapParams.addElement(isbnParam);
soapCall.setParams(soapParams);
try {
// Invoke the remote method on the object
Response soapResponse = soapCall.invoke(url,"");
// Check to see if there is an error, return "N/A"
if (soapResponse.generatedFault()) {
Fault fault = soapResponse.getFault();
String f = fault.getFaultString();
return f;
} else {
// read result
Parameter soapResult = soapResponse.getReturnValue ();
// get a string from the result
return soapResult.getValue().toString();
}
} catch (SOAPException se) {
return se.getMessage();
}
}
}

4. webservice為什麼不能直接通過http請求訪問!

開啟webservice http協議Get方法。就是讓你的webservice服務支持url訪問
具體參見http協議,可以在網上下載http協議RFC2616

5. 如何通過瀏覽器訪問web services

將 Web 服務部署到 Web 伺服器。有關更多信息,請參見 XML Web services 發布和部署。
訪問 Web 瀏覽器,並使用以下格式在地址欄中輸入 Web 服務的 URL:

http://servername/apppath/webservicename.asmx

路徑部分


伺服器名稱

在其上部署 Web 服務的伺服器的名稱。

應用程序路徑

虛擬目錄的名稱以及 Web 應用程序路徑的其餘部分。

Web 服務名稱.asmx

Web 服務 .asmx 文件的名稱。

例如,假設您已發布了一項名為 StockServices 的 Web 服務。發布時,此服務的基 URL 為 http://<伺服器名稱>/apppath/StockServices.asmx。通過在瀏覽器的地址欄中輸入此 HTTP-GET 請求,可以測試此服務:

http://<servername>/apppath/StockServices.asmx

作為對此請求的響應,伺服器將顯示 Web 服務的 HTML 說明頁。
Web 服務的 HTML 說明頁顯示特定 Web 服務支持的所有 Web 服務方法。鏈接到所需的 Web 服務方法並輸入必需的參數,以測試該方法並查看 XML 響應。
使用 HTTP-GET 在瀏覽器中直接測試 Web 服務方法
將 Web 服務部署到 Web 伺服器。有關更多信息,請參見 XML Web services 發布和部署。
訪問 Web 瀏覽器,並使用以下格式在地址欄中輸入 Web 服務方法的 URL:

http://servername/vdir/webservicename.asmx/Methodname?parameter=value

參數


伺服器名稱

在其上部署 Web 服務的伺服器的名稱。

應用程序路徑

虛擬目錄的名稱以及 Web 應用程序路徑的其餘部分。

Web 服務名稱.asmx

Web 服務 .asmx 文件的名稱。

方法名稱

Web 服務公開的公共方法的名稱。如果留為空白,則顯示 Web 服務的說明頁,其中會列出 .asmx 文件中提供的每個公共方法。(可選)

參數

方法所需要的任何參數的相應參數名稱和值。如果留為空白,則顯示 Web 服務的說明頁,其中會列出 .asmx 文件中提供的每個公共方法。(可選)

注意:

此語法中的 Web 服務方法名區分大小寫,但伺服器、項目和 Web 服務名稱不區分大小寫。

例如,假設前一過程中的 StockServices Web 服務包含一個名為 GetQuote 的 Web 服務方法,該 Web 服務方法接受以股票符號作為參數,並以雙精度浮點數的形式返回價格。在瀏覽器的地址欄中輸入以下 HTTP-GET 請求,以測試此方法:
http://<伺服器名稱>/apppath/StockServices.asmx/GetStockQuote?tickerName=MSFT
伺服器發送包含 XML 文檔的響應,將在瀏覽器中顯示該文檔。對於 GetQuote 示例,XML 具有您請求的股票的當前價格。結果可能類似於:
<?xml version="1.0" ?>
<double>74.5</double><double>74.5</double>

6. 如何通過瀏覽器發送webservice請求

方法/步驟 在進行webservice客戶端開發時,首先需要獲取到服務端的webservice服務地址,根據服務地址以及通訊協議創建對應的客戶端請求。如果對方提供的是一個服務地址,可以通過瀏覽器將復制粘貼進去。從頁面上可以看出這是一個基於axis框架生成的一個webservice服務端。 在服務端地址後面加上「?wsdl」(注意是英文的問號),在頁面中就可以看到服務端公布出來的各種服務、命名空間等其他信息。通過element可以看出,服務端公布出來兩個方法:sayHello和sayNo。後面帶有Response的說明是服務端返回的信息。 根據服務端提供的地址,在soapUI工具上創建webservice客戶端請求。打開soapUI軟體,在軟體的左上角點擊file文件,在彈出頁面中有三種方式,一般新增的使用第一種new soapUI project新建一個soapUI項目。 點擊新建soapUI項目之後,在彈出框中,需要輸入服務端的地址(注意地址後面要加上"?wsdl"英文符號),Project Name項目名稱可以有漢字,能夠自己區分是哪個服務端的項目即可。其他的值選擇默認即可,不需要勾選其他選項,點擊Ok即可創建好項目。 服務端方法公布展示。通過服務端的地址,創建一個soap項目之後,soapUI就自動解析服務端提供的方法介面。從示例中可以看出這個服務對外提供了兩個服務介面sayHello和sayNo。 點開其中的Request 1可以看到這個請求的報文信息以及這個請求需要的參數和參數類型。消息的報文頭信息和命名空間已經通過soapUI工具自動生成,在發送報文的時候只需要填寫必要的入參即可。 模擬客戶端發送請求。在客戶端輸入需要的參數之後,點擊左上角的「發送」按鈕就可以模擬客戶端請求發送。發送完成後,在右側就可以看到服務端返回的信息,這就是整個消息發送請求和返回的全流程。 wsdl文件方式的處理。對於有些服務端提供的不是類似上面的地址伺服器,而是一些wsdl文件的方式。打開wsdl文件可以看到和在瀏覽器中打開服務端地址展示的內容相同,只是提供的方式不同而已。文件的格式可以是xml或者是wsdl的格式。 通過wsdl文件內容創建project。點擊File文件下面的「creates a new soapUI project「。通過選擇一個文件的方式,就可以根據wsdl報文內容的方式創建客戶端。 點擊右側的Browse瀏覽按鈕,找到wsdl文件文件,這個文件的後綴可以是wsdl的方式也可以是xml的方式,然後點擊打開即可將文件導入到soapUI中,和服務地址類似,輸入項目的名稱,其他默認,點擊OK即可創建成功。 MyService是通過服務地址的方式創建,MyService2222是通過wsdl文件內容的方式創建的。通過比對可以看出,這兩種方式創建的客戶端是一致的。同樣解析出sayHello和sayNo服務。 END 注意事項 服務端地址後面添加的「?wsdl」必須要求是英文的問號 通過文件(後綴wsdl或者xml)的方式創建的時候,要保障文件頭沒有多餘的空格空行。

7. webservice 能通過地址欄訪問嗎

直接在瀏覽器地址欄訪問webservice的方法:

記得參數值要做url編碼轉換,尤其是包含漢字和其他符號字元的時候,一定要進行UrlEncode編碼。

8. 怎麼在eclipse中訪問webservice

在eclipse創建webservice的方法:

1、在Eclipse的菜單欄中,Window --> Preferences --> Web Service -->Axis2Perferences,在Axis2runtime location中選擇Axis2解壓縮包的位置,設置好後,點"OK"即行。

9. 如何訪問HTTPS的WebService

如果閑麻煩,直接淘寶Gworg 幫你處理。
web service在企業應用中常常被用作不同系統之間的介面方式。但是如果沒有任何安全機制的話,顯然是難以委以重任的。比較直接的web service加密方式就是使用HTTPS方式(SSL證書加密)加密連接,並且只允許持有信任證書的客戶端連接,即SSL雙向認證。這樣就保證了連接來源的可信度以及數據在傳輸過程中沒有被竊取或篡改。通過HTTPS加密方式訪問web service具體方法如下:
【准備工作】
(1)檢查JDK的環境變數是否正確。本文使用JDK 1.6
(2)准備web伺服器,這里選用TOMCAT 6.0
(3)准備web service服務端和客戶端。
【生成證書】
這里用到的文件,這里存放在D:/SSL/文件夾內,其中D:/SSL/server/內的文件是要交給伺服器用的,D:/SSL/client/內的文件是要交給客戶端用的。
1生成服務端證書
開始-運行-CMD-在dos窗口執行下執行命令:
keytool -genkey -v -aliastomcat -keyalg RSA -keystore D:/SSL/server/tomcat.keystore -dname"CN=127.0.0.1,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN" -validity 3650-storepass zljzlj -keypass zljzlj
說明:
keytool 是JDK提供的證書生成工具,所有參數的用法參見keytool –help
-genkey 創建新證書
-v 詳細信息
-alias tomcat 以」tomcat」作為該證書的別名。這里可以根據需要修改
-keyalg RSA 指定演算法
-keystoreD:/SSL/server/tomcat.keystore 保存路徑及文件名
-dname"CN=127.0.0.1,OU=zlj,O=zlj,L=Peking,ST=Peking,C=CN" 證書發行者身份,這里的CN要與發布後的訪問域名一致。但由於這里是自簽證書,如果在瀏覽器訪問,仍然會有警告提示。真正場景中建議申請CA機構(wosign)簽發的SSL證書更安全。
-validity 3650證書有效期,單位為天
-storepass zljzlj 證書的存取密碼
-keypass zljzlj 證書的私鑰
2 生成客戶端證書
執行命令:
keytool ‐genkey ‐v ‐aliasclient ‐keyalg RSA ‐storetype PKCS12 ‐keystore D:/SSL/client/client.p12 ‐dname"CN=client,OU=zlj,O=zlj,L=bj,ST=bj,C=CN" ‐validity 3650 ‐storepassclient ‐keypass client
說明:
參數說明同上。這里的-dname 證書發行者身份可以和前面不同,到目前為止,這2個證書可以沒有任何關系。下面要做的工作才是建立2者之間的信任關系。
3 導出客戶端證書
執行命令:
keytool ‐export ‐aliasclient ‐keystore D:/SSL/client/client.p12 ‐storetype PKCS12 ‐storepass client‐rfc ‐file D:/SSL/client/client.cer
說明:
-export 執行導出
-file 導出文件的文件路徑
4 把客戶端證書加入服務端證書信任列表
執行命令:
keytool ‐import ‐aliasclient ‐v ‐file D:/SSL/client/client.cer ‐keystoreD:/SSL/server/tomcat.keystore ‐storepass zljzl
說明:
參數說明同前。這里提供的密碼是服務端證書的存取密碼。
5 導出服務端證書
執行命令:
keytool -export -aliastomcat -keystore D:/SSL/server/tomcat.keystore -storepass zljzlj -rfc -fileD:/SSL/server/tomcat.cer
說明:
把服務端證書導出。這里提供的密碼也是服務端證書的密碼。
6 生成客戶端信任列表
執行命令:
keytool -import -fileD:/SSL/server/tomcat.cer -storepass zljzlj -keystoreD:/SSL/client/client.truststore -alias tomcat –noprompt
說明:
讓客戶端信任服務端證書
【 配置服務端為只允許HTTPS連接】
1 配置Tomcat 目錄下的/conf/server.xml
Xml代碼:
<Connectorport="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"clientAuth="true"
sslProtocol="TLS"keystoreFile="D:/SSL/server/tomcat.keystore"
keystorePass="zljzlj"truststoreFile="D:/SSL/server/tomcat.keystore"
truststorePass="zljzlj" />
說明:
在server.xml裡面這段內容本來是被注釋掉的,如果想使用https的默認埠443,請修改這里的port參數。其中的clientAuth="true" 指定了雙向證書認證。
2 配置服務端項目web.xml
在<welcome-file-list>之後增加Xml代碼:
<!-- 強制SSL配置,即普通的請求也會重定向為SSL請求 -->
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/service/*</url-pattern><!--全站使用SSL <url-pattern>/*</url-pattern>-->
</web-resource-collection>
<user-data-constraint>
<description>SSL required</description>
<!-- CONFIDENTIAL: 要保證伺服器和客戶端之間傳輸的數據不能夠被修改,且不能被第三方查看到 -->
<!-- INTEGRAL: 要保證伺服器和client之間傳輸的數據不能夠被修改 -->
<!-- NONE: 指示容器必須能夠在任一的連接上提供數據。(即用HTTP或HTTPS,由客戶端來決定)-->
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
說明:
這里限制了WEB service服務地址的訪問必須為https連接。<url-pattern>要根據你的web service服務地址配置。
【修改客戶端代碼】
在執行訪問之前,增加Java代碼:
System.setProperty("javax.net.ssl.trustStore","D:/SSL/client/client.truststore");
System.setProperty("javax.net.ssl.trustStorePassword","zljzlj");
System.setProperty("javax.net.ssl.keyStoreType","PKCS12");
System.setProperty("javax.net.ssl.keyStore","D:/SSL/client/client.p12");
System.setProperty("javax.net.ssl.keyStorePassword","client");
StringendPoint="https://127.0.0.1:8443/easbCut/services/ApplyFormService";
...
通過設置參數來指定客戶端連接時所使用的客戶端證書,這里還可以採用修改JVM啟動參數的的方式來執行,但出於不影響其他功能的考慮,這里採用System.setProperty的方式來設置這些參數,在使用結束後,可以還原這些參數配置。做為客戶端的開發者,可以把拿到的證書文件後,只執行步驟3。

熱點內容
主播網站源碼 發布:2025-05-15 02:50:56 瀏覽:167
中文編程語言有哪些 發布:2025-05-15 02:48:59 瀏覽:535
配置中心應急流程有哪些 發布:2025-05-15 02:37:31 瀏覽:669
php宏定義 發布:2025-05-15 02:32:54 瀏覽:270
咸魚支付密碼哪裡改 發布:2025-05-15 02:32:53 瀏覽:520
存儲機箱 發布:2025-05-15 02:31:31 瀏覽:836
編程很累嗎 發布:2025-05-15 02:29:25 瀏覽:552
疫情期間訪問國外網路 發布:2025-05-15 02:24:24 瀏覽:247
我的世界網易版游戲伺服器 發布:2025-05-15 02:23:46 瀏覽:221
全球編程網站 發布:2025-05-15 02:22:55 瀏覽:334