gpt4 book ai didi

java - 从应用程序外部配置 JAX-WS @WebServiceRef 客户端

转载 作者:太空宇宙 更新时间:2023-11-04 11:48:31 26 4
gpt4 key购买 nike

我想要从应用程序外部配置托管 JAX-WS 客户端(使用 @WebServiceRef 注入(inject)),最好使用 WebLogic 管理控制台。

例如,设置将在 HTTP 请求中发送的用户名和密码,以便在执行 Web 服务调用时在服务器上进行身份验证。

需要明确的是,手动执行需要我来实现它,而使用容器提供的功能只需要配置。

我可以使用 SAP NetWeaver 来完成此操作,是否可以使用 WebLogic 来完成此操作?

@Stateless
public class HolidayClientImpl {

// I want this dependency to be already configured, instead of doing it myself.
@WebServiceRef
private MyRemoteService myRemoteService;

}

最佳答案

经过大量搜索后,我没有发现 WebLogic 中提供此功能。它不存在,至少在版本 10.3.6 和 12 中也是如此。

这意味着您必须实现客户端配置,如下所示:

MyPort port = service.getHTTPPort();
Map<String, Object> requestContext = ((BindingProvider) port).getRequestContext();

// URL
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://www.remoteservice.com/service");

// Timeouts
requestContext.put(BindingProviderProperties.CONNECT_TIMEOUT, 5000);
requestContext.put(BindingProviderProperties.REQUEST_TIMEOUT, 30000);

// Authentication
requestContext.put(BindingProvider.USERNAME_PROPERTY, "user");
requestContext.put(BindingProvider.PASSWORD_PROPERTY, "password");

关于java - 从应用程序外部配置 JAX-WS @WebServiceRef 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42074716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com