当前位置:首页 » 密码管理 » 浏览器访问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 06:57:30 浏览:287
进栈算法 发布:2025-05-15 06:56:02 浏览:213
安卓和缓存 发布:2025-05-15 06:56:02 浏览:426
笔记本电脑台式服务器 发布:2025-05-15 06:40:41 浏览:108
4k无压缩 发布:2025-05-15 06:02:54 浏览:74
hp存储6350 发布:2025-05-15 05:40:41 浏览:233
怎么更改电脑默认缓存位置 发布:2025-05-15 05:39:01 浏览:877
安卓qq公孙离在哪个战区战力最低 发布:2025-05-15 05:38:58 浏览:493
androidffmpeg压缩 发布:2025-05-15 05:37:02 浏览:288
ftp简称是 发布:2025-05-15 05:37:02 浏览:121