标签: websphere-liberty

不支持项目方面WebSphere Web(共存)版本8.0

我的任务是在工作中使用Web门户应用程序.

我从eclipse获得了预先存在的项目文件夹副本.我无法让它运行.

我正在尝试设置本地服务器并在本地进行开发,然后将其移动到生产服务器.

对于我的服务器,我已经设置了WebSphere Application Server V8.5.5 Liberty Profile.我创建了一个"Hello World"项目,以确保它正常工作.它是.

当我尝试右键单击项目并选择Run As - > Run on Server ...时,我看到以下内容:

在服务器上运行

我不确定这是否有帮助,但这里有Project Facets: 项目方面

当前软件:

  • Eclipse,Java EE IDE,Kepler,4.3.2版
  • WebSphere Application Server V8.5.5 Liberty概要文件
  • Java编译器1.7(1.6,1.5,1.4,1.3)

java eclipse websphere jsp websphere-liberty

7
推荐指数
1
解决办法
5728
查看次数

New To Bluemix,新应用程序出现错误"主机已被占用"

我是Bluemix的新手,是按照以下步骤创建应用程序的一部分:

  • 使用您的Bluemix帐户登录Bluemix.
  • 打开目录菜单.
  • 在Runtimes部分中,单击Liberty for Java.
  • 在"应用"字段中,指定应用的名称[输入的名称]
  • 单击"创建"按钮

我收到以下错误:

BXNUI2032E:联系Cloud Foundry创建资源时发生错误.资源:路线.Cloud Foundry消息:"主持人被采取:vTest." 请参阅IBM Bluemix文档中的故障排除主题以检查服务状态,查看故障排除信息或获取有关获取帮助的信息.

提前致谢

websphere-liberty ibm-cloud

7
推荐指数
2
解决办法
2202
查看次数

为什么在WebSphere Liberty Profile启动时找不到清单类路径条目?

使用WebSphere Liberty Profile(版本2013.11.0.0 - 8.5.5.Next Alpha和扩展内容)启动我的应用程序时,会出现很多警告:

W SRVE9967W: The manifest class path dhbcore.jar can not be found in jar file wsjar:file:[blablabla] or its parent.
W SRVE9967W: The manifest class path jms.jar can not be found in jar file wsjar:file:[blablabla] or its parent.
W SRVE9967W: The manifest class path com.ibm.mq.jmqi.jar can not be found in jar file wsjar:file:[blablabla] or its parent.
W SRVE9967W: The manifest class path dhbcore.jar can not be found in jar file wsjar:file:[blablabla] or its parent.
W SRVE9967W: …
Run Code Online (Sandbox Code Playgroud)

manifest classpath websphere-liberty

6
推荐指数
1
解决办法
8077
查看次数

WebSphere Liberty Profile:未找到上下文根

我似乎无法在本地工作,即使相同的 WAR 在远程服务器上工作。当我在本地访问我的应用程序时,出现“找不到上下文根”错误。Liberty 配置文件版本为 8.5.5.5。

以下是相关文件:

服务器.xml

<?xml version="1.0" encoding="UTF-8"?>
<server description="tlc server">
  <!-- Enable features -->
  <featureManager>
    <feature>jsp-2.2</feature>
    <feature>ssl-1.0</feature>
    <feature>localConnector-1.0</feature>
    <feature>restConnector-1.0</feature>
    <feature>json-1.0</feature>
    <feature>jaxrs-1.1</feature>
    <feature>servlet-3.0</feature>
    <feature>jpa-2.0</feature>
    <feature>beanValidation-1.0</feature>
    <feature>jndi-1.0</feature>
    <feature>jdbc-4.0</feature>
    <feature>monitor-1.0</feature>
  </featureManager>
  <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443" virtualHost="default_host" />
  <jdbcDriver id="DerbyJDBCDriver">
    <library name="DerbyLib">
      <fileset dir="C:\tools\servers\wlp\lib" includes="derbyclient-10.6.1.0.jar" />
    </library>
  </jdbcDriver>
  <dataSource jndiName="jdbc/TLCDataSource" id="derbyDataSource" jdbcDriverRef="DerbyJDBCDriver">
    <properties.derby.client databaseName="TLC" password="APP" user="APP" />
  </dataSource>
  <applicationMonitor updateTrigger="mbean" />
  <application id="TLC_war" context-root="/TLC" location="C:\Users\nd26434\gitrepos\tlc\target\TLC-1.0.0-SNAPSHOT.war" name="TLC_war" type="war">
    <classloader delegation="parentLast">
      <privateLibrary>
        <fileset dir="C:\tools\servers\wlp\lib" includes="aspectjweaver-1.8.0.jar" />
      </privateLibrary>
    </classloader>
  </application>
</server>
Run Code Online (Sandbox Code Playgroud)

消息日志

[3/18/15 …
Run Code Online (Sandbox Code Playgroud)

websphere-liberty

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

Regiser JacksonJson提供者在Websphere自由档案中

我试图从EJB调用REST服务,希望利用Jackson的

@JsonIgnoreProperties(ignoreUnknown = true)
Run Code Online (Sandbox Code Playgroud)

以下是wlp v8.5.5.9中的技巧

Client client = ClientBuilder.newClient().register(JacksonJsonProvider.class);
Run Code Online (Sandbox Code Playgroud)

相同的代码NullPointerException在wlp v16.0.0.2中生成a

Caused by: java.lang.NullPointerException
    at org.apache.cxf.jaxrs.impl.tl.ThreadLocalProviders.getContextResolver(ThreadLocalProviders.java:50)
    at org.codehaus.jackson.jaxrs.JacksonJsonProvider.locateMapper(JacksonJsonProvider.java:634)
    at org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:413)
    at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1356)
    at org.apache.cxf.jaxrs.impl.ResponseImpl.doReadEntity(ResponseImpl.java:438)
    ... 98 more
Run Code Online (Sandbox Code Playgroud)

我在v8.5.5.9中找到了由相同问题引发的讨论,但我不确定它是如何帮助我的.正如我所说,我对v8.5.5.9中的代码没有任何麻烦

另一个讨论与Jackson v2.x有关.最初我使用了Jackson v1.9.13,但我试图切换到最新的Jeckson 2.8.0版本并应用提供的解决方案.相同的结果:应用程序在wlp 8.5.5.9中工作,并在v16.0.0.2中产生相同的错误.

有任何想法吗?

更新: 通过扩展JacksonJsonProvider类并显式提供对象映射器可以避免此问题

public class MyJacksonJsonProvider extends JacksonJsonProvider {

        public MyJacksonJsonProvider() {
            ObjectMapper objectMapper = new ObjectMapper();
            objectMapper.setVisibilityChecker(objectMapper.getVisibilityChecker().withFieldVisibility(JsonAutoDetect.Visibility.ANY));
            objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
            setMapper(objectMapper);
       }

}
Run Code Online (Sandbox Code Playgroud)

然后在客户端注册它

Client client = ClientBuilder.newClient().register(MyJacksonJsonProvider.class);
Run Code Online (Sandbox Code Playgroud)

但是,如果它是一个错误或一个功能,那将很高兴.

jax-rs jackson websphere-liberty

6
推荐指数
0
解决办法
937
查看次数

从Liberty中的应用程序加载@DataSourceDefinition的数据源

为了配合使用,@DataSourceDefinition我想从使用此@DataSourceDefinition注释的应用程序(或部署描述符中的等效数据源元素)加载DataSource类。

根据我在Java EE 7示例项目中添加的测试,该方法基本上适用于每台服务器。

例如,考虑web.xml中的此数据源定义:

<data-source>
    <name>java:app/MyApp/MyDS</name>
    <class-name>org.h2.jdbcx.JdbcDataSource</class-name>
    <url>jdbc:h2:mem:test</url>
</data-source>
Run Code Online (Sandbox Code Playgroud)

包含的jar org.h2.jdbcx.JdbcDataSource将驻留在WEB-INF / lib中。

在针对自动下载的服务器进行测试以及事先未知部署的.war名称的情况下(因为由Arquillian控制),在CI测试中这非常方便。

尽管几乎每个服务器都支持此功能,但是Liberty 16.0.2会为java:app/MyApp/MyDS或抛出以下异常java:global/MyDS

CWNEN0011E:注入引擎由于以下错误而无法处理元数据的绑定:java.sql.SQLNonTransientException:J2CA8022E:应用程序xyz23-zvf没有任何共享库,这些共享库为org.h2.jdbcx.JdbcDataSource提供了数据源java:global / MyDS。

IBM指令是指建立一个共享库,生活中的本地文件系统上,但对于几类数据源(如那些只具有内部意义的应用程序),以及用于提及CI测试这是不实际。

有什么方法可以像大多数其他Java EE服务器一样让Liberty从应用程序加载数据源吗?

java websphere datasource java-ee websphere-liberty

6
推荐指数
0
解决办法
336
查看次数

Liberty服务器上的LDAP java单点登录

我想使用Java在Websphere-Liberty服务器上实现单点登录.我想使用LDAP对用户进行身份验证.

我搜索了很多但找不到确切的例子.我已经检查了堆栈溢出的每个可用示例.但没有运气.

如果可以为它提供演示或示例代码,那将是很好的.

提前致谢.

更新:我能够在华夫饼干的帮助下实现相同的功能..但华夫饼不适用于Linux/Unix... 谁能帮帮我吗?

java ldap single-sign-on websphere-liberty open-liberty

6
推荐指数
1
解决办法
902
查看次数

在Bluemix上使用Liberty for Java的CloudFoundry/Springboot应用程序在启动时突然崩溃,几个月没有代码更改

我有一个javascript/html/css应用程序与Bluemix上的Springboot一起提供.在本地运行应用程序工作正常,代码在几个月内没有更改.当我尝试使用CF CLI推送应用程序时,出现以下错误:

   2017-11-13T12:18:29.89-0600 [CELL/0] OUT Successfully destroyed container
   2017-11-13T12:19:33.32-0600 [CELL/0] OUT Creating container
   2017-11-13T12:19:37.70-0600 [CELL/0] OUT Successfully created container
   2017-11-13T12:19:55.79-0600 [CELL/0] OUT Starting health monitoring of container
   2017-11-13T12:19:59.83-0600 [APP/PROC/WEB/0] OUT 18:19:59.812 [main] INFO app.Application -  App Started 
   2017-11-13T12:20:03.49-0600 [APP/PROC/WEB/0] OUT 2017-11-13 18:20:03,485 INFO  [main] app : app.Application : Starting Application on  with PID 13 (/home/vcap/app/BOOT-INF/classes started by vcap in /home/vcap/app)
   2017-11-13T12:20:03.49-0600 [APP/PROC/WEB/0] OUT 2017-11-13 18:20:03,487 INFO  [main] app : app.Application : No active profile set, falling back to default profiles: …
Run Code Online (Sandbox Code Playgroud)

java cloud-foundry websphere-liberty spring-boot ibm-cloud

6
推荐指数
1
解决办法
308
查看次数

Websphere Liberty上的JAX-RS异常处理

我需要一些帮助来理解Websphere Liberty(18.0.0.1)如何处理JAX-RS端点调用中抛出的异常.我正在使用Liberty功能jaxrs-2.0,因此应该由WLP提供实现.

现在,我的应用程序有一个POST HTTP端点接受JSON有效负载,我想为所有可能的错误客户端输入提供自定义错误消息.

这是一个以我预期的方式工作的案例:

  1. 客户端发送application/xml而不是application/json
  2. 有一个ClientErrorException由容器抛出
  3. 我可以使用自己的异常映射器(实现ExceptionMapper<WebApplicationException>处理此异常(实际上是为了处理所有Web应用程序异常,我很好)
  4. 这样我就可以格式化错误消息,用ID标记错误,无论需要什么.非常好

以下是不适合我的情况:

  1. 客户端发送application/json,但空体
  2. 在这种情况下的核心例外是java.io.EOFException: No content to map to Object due to end of input- 是的,这看起来很准确
  3. 现在我无法弄清楚 - 而不是将其包装EOFException成某种WebApplicationException(我可以轻松处理),WLP将异常问题包装成JaxRsRuntimeException

这里有几点:

  • 我不想创建一个mapper实现,ExceptionMapper<JaxRsRuntimeException>因为该异常不是JAX-RS 2.0规范的一部分,我必须提供导入到JaxRsRuntimeException并将应用程序与一些Liberty特定的库连接起来.
  • 一个可能的解决方案是让mapper实现泛型ExceptionMapper<RuntimeException>和字符串检查,如果它找到classname'JaxRsRuntimeException'的异常,然后处理它.但这对我来说似乎并不合适.

那么,WLP设计是不是在这种情况下不给我一个WebApplicationException?处理这种情况的优雅解决方案是什么?

谢谢


编辑:添加了部分源代码.

REST端点和资源方法:

@Path("/books")
public class BookEndpoint {

    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    public Response createBook(Book book, @Context UriInfo uriInfo) {
        bookDao.create(book);
        UriBuilder builder = uriInfo.getAbsolutePathBuilder();
        builder.path(Integer.toString(book.getId()));
        return Response.created(builder.build()).entity(book).build(); …
Run Code Online (Sandbox Code Playgroud)

java jax-rs websphere-liberty open-liberty

6
推荐指数
1
解决办法
636
查看次数

Spring Boot JSESSIONID安全标志未通过HTTPS设置

我们使用Liberty for Java构建了一个Cloud Foundry应用程序.在测试应用程序时,我们发现SSL cookie没有设置安全标志.

问题:当_VCAP_ID设置了安全标志时,JSESSIONID没有设置安全标志

我们使用Spring Boot来开发应用程序,根据文档我们只需要在属性文件中保护cookie标志:http://docs.spring.io/spring-boot/docs/current/reference/html/common -应用- properties.html

解决方案:我们最终通过以下文章自动修复了问题,在弹簧中将安全标志添加到JSESSIONID cookie

有没有人知道Cloud Foundry或Liberty是否存在与无法通过HTTPS同时在JSESSIONID和_VCAP_ID上设置SSL cookie安全标志相关的问题?

cookies jsessionid websphere-liberty sticky-session ibm-cloud

5
推荐指数
0
解决办法
1832
查看次数