[英]Getting issue after redeployment of apache-cxf web service in tomee server
我使用apache-cxf和johnzon provider创建了用于JSON编组和解组的Web服务,并且还在open-ejb-jar文件中配置了provider-service。 一旦在tomee服务器中部署了应用程序,就可以访问我的api,但是在取消部署并再次部署应用程序之后。 我无法使用http:// localhost:8080 / demo / school-services / student / 1访问我的api
我正在错误以下。
<ns1:XMLFault xmlns:ns1="http://cxf.apache.org/bindings/xformat"><ns1:faultstring xmlns:ns1="http://cxf.apache.org/bindings/xformat">java.lang.NoClassDefFoundError: org/apache/johnzon/mapper/ac`enter code here`cess/FieldAndMethodAccessMode$CompositeReader</ns1:faultstring></ns1:XMLFault>
以下是我的配置文件openejb-jar.xml文件
<openejb-jar>
<pojo-deployment class-name="jaxrs-application">
<properties>
# optional but requires to skip scanned providers if set to true
cxf.jaxrs.skip-provider-scanning = true
cxf.jaxrs.providers = johnzon,org.apache.openejb.server.cxf.rs.EJBAccessExceptionMapper
</properties>
</pojo-deployment>
</openejb-jar>
resources.xml file
<resources>
<Service id="johnzon" class-name="org.apache.johnzon.jaxrs.ConfigurableJohnzonProvider">
# 1M
maxSize = 1048576
bufferSize = 1048576
# Additional types to ignore
ignores = org.apache.cxf.jaxrs.ext.multipart.MultipartBody
</Service>
</resources>
请找到附件的演示应用程序git repo: https : //github.com/dharmendrasahu08/spring_boot_application/tree/master/demo请帮助我解决此问题。 谢谢,D Sahu
似乎是json转换器问题-您的代码正在使用Apache Johnzon将Java对象转换为Json,该对象位于容器中而不是部署存档中。 如果使用maven添加依赖项,则可以尝试更改json提供程序以使用jettison或jackson-jaxb添加库:
org.codehaus.jettison:jettison:x.y.z
或尝试强制从Web应用程序加载它,请在conf / system.properties中添加:
openejb.forced-load=org.apache.cxf.jaxrs.provider.json.JSONProvider
尝试更改openejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.openejb.org/openejb-jar/1.1">
<pojo-deployment class-name="jaxrs-application">
<properties>
cxf.jaxrs.providers = org.apache.cxf.jaxrs.provider.json.JSONProvider
</properties>
</pojo-deployment>
</openejb-jar>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.