急!!!!!!myeclipse基于JAX-WS创建webservice httpclient4 https 在填写WSDL URL时输入https协议的url如何做?

用MyEclipse自动生成Web Service Client的问题~~
[问题点数:100分,结帖人joygoody]
用MyEclipse自动生成Web Service Client的问题~~
[问题点数:100分,结帖人joygoody]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2007年7月 Java大版内专家分月排行榜第三
2007年7月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。当前访客身份:游客 [
每天进步一点点。。。
:跟着一个流程走下来,好心酸的说,到最后却运行不...
:怎么我的MyEclipse10和你的不一样啊,吐血!...
:请问需要导入的jar包有哪些? 我都导入后 查看w...
:真正常用的就那么几个
今日访问:2
昨日访问:53
本周访问:166
本月访问:1012
所有访问:21461
用MyEclipse10开发基于JAX-WS的Web Service实例
发表于2年前( 16:34)&&
阅读(5466)&|&评论()
0人收藏此文章,
一、打开MyEclipse,新建一个Web Service项目。 & &
二、输入项目名Demo
点Finish新建项目。
三、新建一个java类
public class Demo {
public String sayHello(String name) { return name + &, hello!&; } }
四、点src,打开右键,选择New-&Other
五、在MyEclipse下Web Services下选择Web Service &
六、点Next,选择Create web service from Java class
七、点Next,选择刚才输入的类 &
八、点击Finish
九、添加架包
注:如果不加这两个架包,tomcat启动时会报错误
然后将项目发布到Tomcat,启动Tomcat,访问
结果如下:
Web Service制作完成。
九、制作客户端,打开向导,选择Web Service Client
十、点Next
十一、点Next,选择WSDL URL,然后输入,Java package输入client
十二、点Next
十三、点Finish
生成客户端调用代码
十四、建立客户端
import client.DemoD import client.DemoS
public class Test {
* @param args
*/ public static void main(String[] args) {
// TODO Auto-generated method stub
DemoService server = new DemoService();
DemoDelegate dd = server.getDemoPort();
String result = dd.sayHello(&Lions&);
System.out.println(result);
十五、运行Test
以下是运行结果
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读帮助企业打造成功软件!
热门搜索:
开发JAX-WS Web Services for WebSphere(下)
开发JAX-WS Web Services for WebSphere(下)
| 作者: |
09:14:20| 阅读 0次
概述:MyEclipse春季特惠,全场8.5折!
在开发JAX-WS Web Services for WebSphere(上)一文中,小编为大家介绍了如何创建一个Web服务项目、如何创建一个服务类和Web服务,以及部署项目等内容。接下来小编将为大家介绍另外两节内容,希望能够帮助到大家。
5. 连接到Web服务来进行测试
(1)通过点击相应图标加载Web服务浏览器。
(2)在Web服务资源管理器工具栏上单击相应图标,然后点击单击WSDL Main链接来打开Open WSDL页面。
打开WSDL页面
(3)在WSDL URL字段中输入 http://localhost:9080/WebServiceProject/CalculatorService?WSDL,然后点击Go。
URL被分解成以下组件:
http://localhost:9080—服务器在本地主机上运行,Web项目的端口被绑定为默认的9080端口。为了证实这一点,当服务器部署一个新的Web项目时,您可以在控制台视图中看到端口已经绑定到部署它的端口上了。
/WebServiceProject—在默认情况下,Web上下文根目录用于部署与Web项目匹配的项目名称,因为我们没有为这个项目定制Web上下文根目录,它与项目名称相同。
/CalculatorService—当生成JAX-WS Web服务时,它被绑定到CalculatorService WSDL上。
?WSDL—这是一个普遍的查询字符串参数,当添加到Web服务末尾时,Web服务会返回全部WSDL给调用者。在这种情况下,WSDL被返回到Web服务资源管理器工具上,它加载并显示公开操作的Web服务。
Web服务资源管理器加载从这个Web服务中分解的所有操作。
公开的Web服务操作
(4)在导航中单击Add操作使用浏览器来测试它。Invoke a WSDL Operation页面会出现在浏览器中。该页面显示您正在测试的端点(运算器),同时每个参数的操作还需要一个字段来输入测试值。
(5)在a和b字段中输入值10和20,然后单击Go。
测试添加操作
在这种情况下,从Web服务的状态会显示30的响应。
6. 为Web服务创建一个客户端
Web服务客户端允许您直接与Web服务及其分解操作进行交互,而无需编写所有的编组或连接代码。
在MyEclipse中,当您生成一个Web服务时,您将在同一时间得到生成Web服务客户端的选项。您可以在任何时间使用此功能,但是在本教程中,我们认为更典型的情况时需要对一个已部署的Web服务创建一个Web服务客户端,而不是为正在生成的服务。
在本节中,您在一个单独的Java项目中生成一个Web服务客户端,因为Web服务已经部署并挂钩到它上面了。在本教程中,这使得Web服务和Web服务客户端创建之间的界限非常清楚地分开。
(1)单击下拉箭头,选择Java项目。
(2)在项目名称字段中输入WebServiceClientProject,然后单击完成。
(3)选择Use a Project Specific JRE选项,然后从下拉列表中选择您的WebSphere应用服务器。这包括用于构建和运行这个Java项目JRE和用于应用程序服务器相匹配的部署运行时。
新的Java项目窗口
(4)单击下拉箭头,然后选择New Web Service Client。
(5)从项目的下拉菜单中选择您的Web服务客户端,选择AJAX-WS (WebSphere)框架项,并选择WebSphere服务器作为目标服务器。这提供了MyEclipse调用来创建JAX-RPC客户端的Web服务代服务。然后单击下一步。
创建一个新的Web服务客户端
(6)请务必选择WSDL URL选项,在WSDL URL字段中输入http://localhost:9080/WebServiceProject/CalculatorService/WEB-INF/wsdl/CalculatorService.wsdl。URL被扩展来定位CalculatorService.wsdl文件。
为客户端指定WSDL URL
(7)单击下一步。MyEclipse加载Web服务验证的WSDL,让您知道WSDL可能存在的问题。
注意:如果使用验证发生任何错误,请确保Web服务部署和应用服务器托管正在运行。如果您想生成客户端的第三方Web服务,并且在验证过程中出错,将其带到了Web服务的作者请注意,如果可能的话,这样就能够纠正错误。
(8)单击完成所有MyEclipse生成的客户端都为您服务。
已经生成客户端后,一个新的包出现在您的src目录中,同时还有一些新的类可以同Web服务一起工作。
在SRC文件夹中生成的类
随着新资源的生成,您可以使用运算器的CalculatorDelegate类访问引用到Web服务,然后执行您的公开操作(加,减,乘,除)。
举个例子说,您要计算以下4个运算:
6.1 使用Web服务操作
在这个示例中,添加从Web服务中使用操作来确保这些计算的代码。首先,您需要在他的主函数中创建一个新的类。
(1)在WebServiceClientProject的src文件夹中右键单击com.myeclipseide.ws,并选择New> Class。
(2)将它命名为WebServiceClient,选择Public static void main复选框,然后单击完成。
新的Java类包含的主要函数
当您创建类之后,您需要将提供上述四个数学计算的主要实现方法同Web服务一起执行这些计算,然后输出到控制台结果的代码如下:
public static void main(String[] args) {
/* Create the service instance */
CalculatorService service = new CalculatorService();
CalculatorDelegate delegate = service.getCalculatorPort();
/* Using the web service, perform the 4 calculations */
System.out.println("1. 3+7=" + delegate.add(3, 7));
System.out.println("2. 12-2=" + delegate.subtract(12, 2));
System.out.println("3. 9*9=" + delegate.multiply(9, 9));
System.out.println("4. 40/2=" + delegate.divide(40, 2));
(3)上面显示的代码替换为public static void main,并单击保存。
在新的Java类中主要函数代码
(4)通过右键单击运行WebServiceClient类,然后选择Run As (or Debug As)>Java Application。
为一个Java应用程序运行类
该客户端运行代码后,使用它生成的定位器类访问Web服务,然后再控制台中会出现下面的输出:
从Web服务客户端的控制台输出
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:慧都控件网 []
本文地址:
<input type="hidden" id="url" value="" />当前位置: >
> Myeclipse8.5下基于JAX-WS开发WebService
Myeclipse8.5下基于JAX-WS开发WebService
Myeclipse8.5上基于JAX-WS开发WebService
1、JAX-WS介绍& JAX-WS规范是一组XML web services的JAVA API。2、开发步骤& 基于JAX-WS的WebService开发步骤如下:& 2.1新建一个Web Service Project工程。选择File-&New-&Web Service Project,取名为WebServicePro(JAX-WS支持只在javaEE5或更高版本中可行),如下图:&&& & 2.2创建服务类。服务类就是一个普通java类,负责提供我们想要发布的执行方法。在这里我们写一个简单的SayHello类,如下:&&& package com.mywebservice.&&& public class SayHello&&& {&&&&&&& public String sayHello(String name)&&&&&&& {&&&&&&&&&&& return "Hello "&&&&&&& }&&& }&& 2.3 创建一个Web Service。选择File-&New-&others-&Myeclipse-&WebService-&webService,点击之后,在Strategy中选择Bottom-up scenario,如下图:&
在最后一个屏幕,需要选择提供WebService方法的javaBean,在这里就是已经建立好的SayHello类,如下图:
填好之后,选择Generate WSDL in project并点击完成。Myeclipse会自动生成SayHelloDelegate代理类。 到此web service已经建立好了,我们开始部署并测试。3、部署和测试&& 这里我们使用已经部署好的JBOSS5.0.1。在server面板中右击,选择configure,部署自己的JBOSS(注意选择jdk要跟项目中的相同),如下图:&
现在要导入JAX-WS的jar包。在项目名称上右击-&properties-&Add Library-&Myeclipse Libraries-&后面的两个,如下图: && 3.1 部署
在部署好的JBOSS服务器上右击选择Add Deployment,如下图:&& & 3.2 测试& 运行JBOSS服务器,在浏览器中输入:http://localhost:8080/WebServicePro/SayHelloPort wsdl测试。4、创建Webservice Client & 已经部署好Webservice。那我们新建一个Webservice client,来调用Webservice。 新建一个java project,名为ClientofWebServicePro。 创建一个&SPAN style="FONT-FAMILY: Tahoma0
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-用MyEclipse创建jax-ws
创建jax-ws service:输入项目名称,framework选择JAX-WS,项目建好了之后你就会发现其实webservice项目就是一个普通的web项目。 新建业务处理类:业务处理类要满足以下条件: && 1、这个类必须是public类 && 2、这些类不能是final的或者abstract &#61557; 3、这个类必须有一个公共的默认构造函数 &#61557; 4、这个类绝对不能有finalize()方法 && 5、实现方法必须非static 新建webservice service选中项目点击右键new-&new webservice,如果找不到这个选项点击other查找下。 选择对应的project,framework还是选择jax-ws,strategy选择下面的create web service from java bean。这个strategy指的是webservice的生成策略,有2中方式,基于java bean 和基于wsdl文件的。对应着webservice的2种设计原则,一种是code first,另外一种是wsdl first。 点击next进入下一步。 选择对应的业务处理类,soap style/use 选择默认的,MTOM Support 是实现webservice 之间的文件传输。如果要生成wsdl文件就勾选 generate wsdl in project。下面的三个选项可以设置webservice 的命名空间,服务名以及服务端口 点击finish 系统会自动生成webservice 代理类和相应的wsdl文件。为了最大程度的平台中立性,WSDL 使用 XML Schema 语法来定义数据类型。这些数据类型用来定义web service方法的参数和返回指。也就是对应的xsd文件。然后需要添加对应library然后整个系统的结构为: 然后将程序放到tomcat服务器,即可运行,例如:http://127.0.0.1:8088/jaxwsService/HelloWordPort?wsdl 如果能访问到对应wsdl文件就表示这个webservice发布成功。 可以看下wsdl文档内容: Java代码 &?xml&version=&1.0&&encoding=&UTF-8&?& &&&!--&Generated&by&JAX-WS&RI&at&http://jax-ws.dev.java.net.&RI's&version&is&JAX-WS&RI&2.1.3-hudson-390-.&--& &&&definitions&xmlns=&http://schemas.xmlsoap.org/wsdl/&&xmlns:soap=&http://schemas.xmlsoap.org/wsdl/soap/&&xmlns:tns=&/&&xmlns:wsu=&http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd&&xmlns:xsd=&http://www.w3.org/2001/XMLSchema&&name=&HelloWordService&&targetNamespace=&/&& &&&&&types& &&&&&&&xsd:schema& &&&&&&&&&xsd:import&namespace=&/&&schemaLocation=&HelloWordService_schema1.xsd&/& &&&&&&&/xsd:schema& &&&&&/types& &&&&&message&name=&add&& &&&&&&&part&element=&tns:add&&name=&parameters&/& &&&&&/message& &&&&&message&name=&addResponse&& &&&&&&&part&element=&tns:addResponse&&name=&parameters&/& &&&&&/message& &&&&&message&name=&hello&& &&&&&&&part&element=&tns:hello&&name=&parameters&/& &&&&&/message& &&&&&message&name=&helloResponse&& &&&&&&&part&element=&tns:helloResponse&&name=&parameters&/& &&&&&/message& &&&&&portType&name=&HelloWordDelegate&& &&&&&&&operation&name=&add&& &&&&&&&&&input&message=&tns:add&/& &&&&&&&&&output&message=&tns:addResponse&/& &&&&&&&/operation& &&&&&&&operation&name=&hello&& &&&&&&&&&input&message=&tns:hello&/& &&&&&&&&&output&message=&tns:helloResponse&/& &&&&&&&/operation& &&&&&/portType& &&&&&binding&name=&HelloWordPortBinding&&type=&tns:HelloWordDelegate&& &&&&&&&soap:binding&style=&document&&transport=&http://schemas.xmlsoap.org/soap/http&/& &&&&&&&operation&name=&add&& &&&&&&&&&soap:operation&soapAction=&&/& &&&&&&&&&input& &&&&&&&&&&&soap:body&use=&literal&/& &&&&&&&&&/input& &&&&&&&&&output& &&&&&&&&&&&soap:body&use=&literal&/& &&&&&&&&&/output& &&&&&&&/operation& &&&&&&&operation&name=&hello&& &&&&&&&&&soap:operation&soapAction=&&/& &&&&&&&&&input& &&&&&&&&&&&soap:body&use=&literal&/& &&&&&&&&&/input& &&&&&&&&&output& &&&&&&&&&&&soap:body&use=&literal&/& &&&&&&&&&/output& &&&&&&&/operation& &&&&&/binding& &&&&&service&name=&HelloWordService&& &&&&&&&port&binding=&tns:HelloWordPortBinding&&name=&HelloWordPort&& &&&&&&&&&soap:address&location=&http://localhost:8080/jaxwsService/HelloWordService&/& &&&&&&&/port& &&&&&/service& &&&/definitions&&&&?xml version=&1.0& encoding=&UTF-8&?&&!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.3-hudson-390-. --&&definitions xmlns=&http://schemas.xmlsoap.org/wsdl/& xmlns:soap=&http://schemas.xmlsoap.org/wsdl/soap/& xmlns:tns=&/& xmlns:wsu=&http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd& xmlns:xsd=&http://www.w3.org/2001/XMLSchema& name=&HelloWordService& targetNamespace=&/&&
&xsd:schema&
&xsd:import namespace=&/& schemaLocation=&HelloWordService_schema1.xsd&/&
&/xsd:schema&
&message name=&add&&
&part element=&tns:add& name=&parameters&/&
&/message&
&message name=&addResponse&&
&part element=&tns:addResponse& name=&parameters&/&
&/message&
&message name=&hello&&
&part element=&tns:hello& name=&parameters&/&
&/message&
&message name=&helloResponse&&
&part element=&tns:helloResponse& name=&parameters&/&
&/message&
&portType name=&HelloWordDelegate&&
&operation name=&add&&
&input message=&tns:add&/&
&output message=&tns:addResponse&/&
&/operation&
&operation name=&hello&&
&input message=&tns:hello&/&
&output message=&tns:helloResponse&/&
&/operation&
&/portType&
&binding name=&HelloWordPortBinding& type=&tns:HelloWordDelegate&&
&soap:binding style=&document& transport=&http://schemas.xmlsoap.org/soap/http&/&
&operation name=&add&&
&soap:operation soapAction=&&/&
&soap:body use=&literal&/&
&soap:body use=&literal&/&
&/operation&
&operation name=&hello&&
&soap:operation soapAction=&&/&
&soap:body use=&literal&/&
&soap:body use=&literal&/&
&/operation&
&/binding&
&service name=&HelloWordService&&
&port binding=&tns:HelloWordPortBinding& name=&HelloWordPort&&
&soap:address location=&http://localhost:8080/jaxwsService/HelloWordService&/&
&/service&&/definitions&对照着简介一章所介绍wsdl文档结构看下。 第一部分是 &types&元素,主要定义webservice的数据类型,它实际是引用了另外一个xsd文件,xsd文件内容如下: Java代码 &?xml&version=&1.0&&encoding=&UTF-8&?& &&&xs:schema&xmlns:xs=&http://www.w3.org/2001/XMLSchema&&xmlns:tns=&/&&targetNamespace=&/&&version=&1.0&& &&&&&&&xs:element&name=&add&&type=&tns:add&/& &&&&&&&xs:element&name=&addResponse&&type=&tns:addResponse&/& &&&&&&&xs:element&name=&hello&&type=&tns:hello&/& &&&&&&&xs:element&name=&helloResponse&&type=&tns:helloResponse&/& &&&&&&&xs:complexType&name=&hello&& &&&&&&&xs:sequence& &&&&&&&&&xs:element&minOccurs=&0&&name=&arg0&&type=&xs:string&/& &&&&&&&/xs:sequence& &&&&&/xs:complexType& &&&&&&&xs:complexType&name=&helloResponse&& &&&&&&&xs:sequence& &&&&&&&&&xs:element&minOccurs=&0&&name=&return&&type=&xs:string&/& &&&&&&&/xs:sequence& &&&&&/xs:complexType& &&&&&&&xs:complexType&name=&add&& &&&&&&&xs:sequence& &&&&&&&&&xs:element&name=&arg0&&type=&xs:int&/& &&&&&&&&&xs:element&name=&arg1&&type=&xs:int&/& &&&&&&&/xs:sequence& &&&&&/xs:complexType& &&&&&&&xs:complexType&name=&addResponse&& &&&&&&&xs:sequence& &&&&&&&&&xs:element&name=&return&&type=&xs:int&/& &&&&&&&/xs:sequence& &&&&&/xs:complexType& &&&/xs:schema&&&&?xml version=&1.0& encoding=&UTF-8&?&&xs:schema xmlns:xs=&http://www.w3.org/2001/XMLSchema& xmlns:tns=&/& targetNamespace=&/& version=&1.0&&
&xs:element name=&add& type=&tns:add&/&
&xs:element name=&addResponse& type=&tns:addResponse&/&
&xs:element name=&hello& type=&tns:hello&/&
&xs:element name=&helloResponse& type=&tns:helloResponse&/&
&xs:complexType name=&hello&&
&xs:sequence&
&xs:element minOccurs=&0& name=&arg0& type=&xs:string&/&
&/xs:sequence&
&/xs:complexType&
&xs:complexType name=&helloResponse&&
&xs:sequence&
&xs:element minOccurs=&0& name=&return& type=&xs:string&/&
&/xs:sequence&
&/xs:complexType&
&xs:complexType name=&add&&
&xs:sequence&
&xs:element name=&arg0& type=&xs:int&/&
&xs:element name=&arg1& type=&xs:int&/&
&/xs:sequence&
&/xs:complexType&
&xs:complexType name=&addResponse&&
&xs:sequence&
&xs:element name=&return& type=&xs:int&/&
&/xs:sequence&
&/xs:complexType&&/xs:schema&如果细心的朋友大家就会发现在new webservice那一步时,有个soap style/use 选项你可以看到myeclipse 6.5中默认的就是上面所说的 document/wrapped样式,而xsd里面也主要是使用xs:complexType节点来描述数据类型。 然后在接着看wsdl中的&message& 元素你可以看到message元素定义之后主要是使用在&portType& 元素中。 而&portType& 元素则可以告诉大家这个webservice有几个方法。方法名叫什么有没有返回值等等。&binding& 元素则是为每个端口定义消息格式和协议细节。你可以找到style=&document&以及对应use=&literal&等字样。这就规定了该webservice使用哪种编码样式来进行SOAP的编码。 下面来建一个webservice 客户端来模拟调用下。也是用myeclipse 6.5来进行开发。 新建jax-ws& client新建个普通的java project,并建好对应包。点击右键选择 new web service client,选择对应项目,选择jax-ws然后点击next. 选择wsdl URL,然后将wsdl地址复制上去,选择生成client类放入哪个包.点击next 下个界面是进行wsdl的验证。如果没有报错直接点击next。添加对应所需要的library,点击finish。client 项目至此新建完成,项目结构为: 新建client 调用类: 至此大功告成,整个示例就完成了。但是咱们也别歇着,回头看看jax-ws的实现原理。 1)webservice 服务器端发布一个webservice项目,这时候会为这个webservice项目分配一个servlet,大家可以看下webservice服务器端项目下web.xml,然后根据不同的webservice分配不同的&url-pattern&,大家可以看下&url-pattern&里面的值其实就是webservice 对应的port. 2)然后webservice clinet会生成代理类,然后利用代理类发送SOAP消息去请求webservice 服务器端的servlet,而servlet会根据不同的port去请求不同的webservice。 流程图如下: 可能有些同学还会问下这个问题。就是说你服务器端和客户端都用的是jax-ws,所以根据wsdl在myeclipse中就能自动生成客户端代码,但是如果服务器端用的是其他框架就不能自动生成客户端代码怎么办?别着急。既然有自动生成就有手动生成的。而手动生成是不管服务器端是使用框架的。 wsgen wsgen是在JDK的bin目录下的一个exe文件(Windows版),该命令的主要功能是用来生成合适的JAX-WS。它读取Web Service的终端类文件,同时生成所有用于发布Web Service所依赖的源代码文件和经过编译过的二进制类文件。这里要特别说明的是,通常在Web Service Bean中用到的异常类会另外生成一个描述Bean,如果Web Service Bean中的方法有申明抛出异常,这一步是必需的,否则服务器无法绑定该对像。此外,wsgen还能辅助生成WSDL和相关的xsd文件。wsgen从资源文件生成一个完整的操作列表并验证web service是否合法,可以完整发布。 命令参数说明: &#61557; -cp 定义classpath &#61557; -r 生成 bean的wsdl文件的存放目录 &#61557; -s 生成发布Web Service的源代码文件的存放目录(如果方法有抛出异常,则会生成该异常的描述类源文件) &#61557; -d 生成发布Web Service的编译过的二进制类文件的存放目录(该异常的描述类的class文件) 命令范例:wsgen -cp ./bin -r ./wsdl -s ./src -d ./bin -wsdl org.jsoso.jws.server.Example wsimport wsimport也是在JDK的bin目录下的一个exe文件(Windows版),主要功能是根据服务端发布的wsdl文件生成客户端存根及框架,负责与Web Service 服务器通信,并在将其封装成实例,客户端可以直接使用,就像使用本地实例一样。对Java而言,wsimport帮助程序员生存调用web service所需要的客户端类文件.java和.class。要提醒指出的是,wsimport可以用于非Java的服务器端,如:服务器端也许是C#编写的web service,通过wsimport则生成Java的客户端实现。 命令参数说明: &#61557; -d 生成客户端执行类的class文件的存放目录 &#61557; -s 生成客户端执行类的源文件的存放目录 &#61557; -p 定义生成类的包名 命令范例:wsimport -d ./bin -s ./src -p org.jsoso.jws.client.ref &
晨风 阅读( 537)

我要回帖

更多关于 httpclient访问https 的文章

 

随机推荐