Liberty Repository[8.5.5.6 或更高版本]

配置 JAX-RS 2.0 客户机

对于 Java API for XML RESTful Web Services 2.0,可配置客户机以访问 REST 端点。JAX-RS 2.0 引入了新的标准化客户机 API 以便您可对远程 RESTful Web Service 发出 HTTP 请求。

关于此任务

要使用客户机 API 访问 Web 资源,需要客户机实例。缺省客户机实例可通过对 ClientBuilder 调用 newClientbuild 获取。

过程

  1. server.xml 文件中启用 jaxrsClient-2.0 或 jaxrs-2.0 功能部件。
    <featureManager>
        <feature>jaxrs-2.0</feature>// If you only need the JAX-RS 2.0 client feature, you can enable jaxrsClient-2.0 instead of  jaxrs-2.0 
    </featureManager>
  2. 创建 JAX-RS 2.0 客户机并向服务器发送请求:
    javax.ws.rs.client.ClientBuilder cb = ClientBuilder.newBuilder();
    
    javax.ws.rs.client.Client c = cb.build();
    String res = null;
    
    try {          
    	res = c.target("<Resource_URL>")
                 .path("<PATH>")
                 .request()
                 .get(String.class);
    	} catch (Exception e) {
          	res = "[Error]:" + e.toString();
          		} finally {
                c.close();        
          }   
    有关异步 JAX-RS 2.0 客户机的更多信息,您可参阅异步处理

下一步做什么

  • 使用 com.ibm.ws.jaxrs.client.timeout 客户机属性以设置超时值。
    javax.ws.rs.client.ClientBuilder cb = ClientBuilder.newBuilder();
            cb.property("com.ibm.ws.jaxrs.client.timeout", "1000"); 
            Client c = cb.build();
    提示: 超时属性的值为毫秒,类型必须为长整型或整型。如果值类型无效,那么将显示以下消息:
    CWWKW0700E: 您在 JAX-RS 客户端上的属性 com.ibm.ws.jaxrs.client.timeout 中指定的超时值 {0} 无效。此值设置为缺省值 30000。{3}  
  • 使用以下客户机属性以获取客户机代理支持:
    ClientBuilder cb = ClientBuilder.newBuilder();
    cb.property("com.ibm.ws.jaxrs.client.proxy.host", "hostname");
    cb.property("com.ibm.ws.jaxrs.client.proxy.port", "8888";);
    cb.property("com.ibm.ws.jaxrs.client.proxy.type", "HTTP");
    
    Client c = cb.build();  
    • com.ibm.ws.jaxrs.client.proxy.host
    • com.ibm.ws.jaxrs.client.proxy.port
      提示: 代理服务器端口值的类型必须为整型。缺省值为 80。如果值类型无效,那么将显示以下消息:
      CWWKW0701E: 您在 JAX-RS 客户端上的属性 com.ibm.ws.jaxrs.client.proxy.port 中指定的代理服务器端口值 {0} 无效。此值设置为缺省值 80。{3}
    • com.ibm.ws.jaxrs.client.proxy.type
      提示: 代理服务器类型值必须为 HTTP 或 SOCKS。缺省值为 HTTP。如果代理服务器类型无效,那么将显示以下消息:
      CWWKW0702E: 您在 JAX-RS 客户端上的属性 com.ibm.ws.jaxrs.client.proxy.type 中指定的代理服务器类型值 {0} 无效。此值设置为缺省值 HTTP。{3}
  • 使用 com.ibm.ws.jaxrs.client.ltpa.handler 客户机属性以设置 SSO cookie 并将值设置为 true。
    ClientBuilder cb = ClientBuilder.newBuilder();
            Client c = cb.build();
            c.property("com.ibm.ws.jaxrs.client.ltpa.handler", "true");
    如果要在 JAX-RS 2.0 中使用安全套接字层 (SSL) 功能,那么您需要启用 ssl-1.0 或 appSecurity-2.0 功能部件。对于 LTPA 令牌功能,appSecurity-2.0 功能部件是必需的。
    注: ssl-1.0 功能部件是 appSecurity-2.0 功能部件的子功能部件。如果您启用 jaxrsClient-2.0 功能部件和 ssl-1.0 功能部件,那么系统会自动启用 appSecurity-2.0 功能部件。
  • 使用 com.ibm.ws.jaxrs.client.ssl.config 客户机属性设置 server.xml 的 SSL 引用标识。
    ClientBuilder cb = ClientBuilder.newBuilder();
            cb.property("com.ibm.ws.jaxrs.client.ssl.config", "mySSLRefId"); 
            Client c = cb.build();
    注: server.xml 中的配置如下所示:
    <ssl id="mySSLRefId" keyStoreRef="clientKeyStore" trustStoreRef="clientTrustStore" />

用于指示主题类型的图标 任务主题

信息中心的条款和条件 | 反馈


时间戳记图标 最近一次更新时间: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_jaxrs2.0_clientconfig
文件名:twlp_jaxrs2.0_clientconfig.html