0

在 Axis2 上调用 JAX-WS API 时,我需要自定义 SSL 握手。

我根本找不到有关如何执行此操作的参考。使用 Metro 我可以设置自定义 SSLSocketFactory,但它使用非标准 API。

如何访问 Axis 引擎,以便在发送肥皂请求之前重新配置它?

4

4 回答 4

1

您可能有一个扩展的存根类org.apache.axis2.client.Stub。您可以设置其传输属性:

YourStubClass stub = new YourStubClass();
stub.initStub(endpointUrl);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.CACHED_HTTP_CLIENT, soapHttpClient);

WhereendpointUrl是一个包含端点 URL 的字符串,并且soapHttpClient是 Apache 的 HTTP 客户端 ( org.apache.commons.httpclient.HttpClient) 的一个实例。

创建 HttpClient 对象时,您可以自定义 SSL 握手。

于 2009-08-21T17:05:00.497 回答
0

Axis2 是使用axis.xml 配置的。 是关于http传输的部分。

您可能还想查看壁垒模块以及如何配置它。

我希望这会有所帮助。关于这个主题的信息并不多。

于 2009-08-20T15:32:32.937 回答
0

我放弃了 Axis2 和 WebSphere SOAP。实现我自己的支持我需要的一切的 JAX-WS 花费的时间更少。太糟糕了。

于 2009-09-30T08:52:20.253 回答
0

您可以使用静态方法 setDefaultSSLSocketFactory 为 HttpsURLConnection 设置默认 SSLSocketFactory。这将成为 HttpsURLConnection 的所有新实例的套接字工厂。我们让它在 SE 应用程序中工作,我认为它也适用于 Axis。

于 2011-05-23T13:02:26.313 回答