小编txd*_*dev的帖子

CXF JAX-RS客户端代理不维护cookie

我正在使用CXF为JAX-RS REST服务构建客户端代码.遗憾的是,此REST服务依赖于cookie来验证每个请求并维护其他关键会话状态.访问用户的帐户信息涉及两个请求:一个用于登录,另一个用于获取帐户信息.在第一个请求中检索的会话cookie必须与第二个请求一起发送.

这是我的代码.

// Login (POST /sessions)
Response response = proxy.login(userCredentials);
assertEquals(200, response.getStatus());

// Get user's account info (GET /user)
response = proxy.getUser();
User user = response.readEntity(User.class);
Run Code Online (Sandbox Code Playgroud)

第二个请求未通过身份验证,因为它不包含先前登录操作返回的必需会话cookie.

我相信有一种方法可以配置WebClient来维护跨请求的cookie.我搜索了高低,但我似乎无法找出如何.我希望有人可以给我一个例子.提前致谢!

java rest cxf jax-rs

5
推荐指数
1
解决办法
2302
查看次数

Android按钮图像使用ActionBar或ActionBarSherlock的主题进行拉伸

我刚刚将ActionBar集成到我的Android应用程序中(实际上,我最终使用ActionBarSherlock来实现其向后兼容性).

要在活动上显示ActionBar,您必须使用一组特定的主题:Theme.Holo.*用于ActionBar或Theme.Sherlock.*用于ActionBarSherlock

每当我修改AndroidManifest.xml以使现有活动的样式使用上述ActionBar主题之一时,我发现活动上每个Button的背景图像都会失真.具体而言,图像在比实际包含的图像更多的像素上垂直拉伸.只有当我使用layout_height ="fill_parent"时,我才会期待这种行为,但我不是.此外,其他主题(与ActionBar相关的主题除外)似乎不会发生这种情况.

我试过发布截图,但我还没有足够高的声誉.我道歉.

这是我的一个Button声明受到主题的不利影响:

<Button
    android:textStyle="bold"
    android:typeface="sans"
    android:layout_height="wrap_content"
    android:id="@+id/btnAddtoBag" android:layout_width="wrap_content"
    android:background="@drawable/add_to_bag_selector">
</Button>
Run Code Online (Sandbox Code Playgroud)

由于它引用了一个选择器,我还将包含选择器的XML,其中引用了实际的png文件:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
          android:drawable="@drawable/selected_add_to_bag" /> <!-- pressed -->
    <item android:state_focused="true"
          android:drawable="@drawable/selected_add_to_bag" /> <!-- focussed -->
    <item android:drawable="@drawable/default_add_to_bag" /> <!-- default -->
</selector>
Run Code Online (Sandbox Code Playgroud)

最后,当发生这种情况时,我正在应用于我的主题的样式:

<style name="Theme.CustomActionBar" parent="Theme.Sherlock.Light.DarkActionBar.ForceOverflow">
    <item name="actionBarStyle">@style/ActionBar</item>
</style>

<style name="ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="android:displayOptions">showHome|useLogo</item>
    <item name="displayOptions">showHome|useLogo</item>     
</style>   
Run Code Online (Sandbox Code Playgroud)

android actionbarsherlock android-actionbar

4
推荐指数
1
解决办法
1688
查看次数