java找不到媒体类型为application/xml+fhir的JAXBContextFinder
我正在编写一个REST服务来使用来自HL7FHIR客户端的XML。HL7 FHIR标准规定内容类型必须为:application/xml+FHIR
以下是代码片段:
@Path("/DecisionSupportServiceModule")
public class DSSModuleResource {
private String namingProviderURL = null;
private static final String OUTPUT_PARAMETERS1 = "outputParameters1";
private final String CONSUMER_ID = "CONSUMER_ID";
public DSSModuleResource() {
namingProviderURL = FHIRMiscHelper.getNamingProviderURL();
}
@POST()
@Path("/{id}/$evaluate")
@Consumes("application/xml+fhir")
@Produces("application/xml+fhir")
public GuidanceResponse evaluate(@PathParam("id") String km_name,
Parameters parameters) {
当我向服务发送请求时,我收到以下错误:
14:50:39,309 WARN [org.jboss.resteasy.core.SynchronousDispatcher] Failed executing POST /DecisionSupportServiceModule/CDCImmunizations/$evaluate: org.jboss.resteasy.plugins.providers.jaxb.JAXBUnmarshalException: Could not find JAXBContextFinder for media type: application/xml+fhir
但是,当我将代码更改为使用Content-Type=application/xml
时,一切都按预期工作
为了尝试解决这个问题,我实现了一个定制的MessageBodyReader/Writer来对客户机来回发送JAX-B消息进行封送/解封。当使用“application/xml+fhir”时,也会出现同样的错误。所以我被卡住了。以前有人见过这个问题吗?如果有,有解决办法吗?谢谢你的帮助
我的环境如下:
- JBoss-6.1.0。决赛
- RESTEasy 2.2.1。GA
- Java版本:1.6.0_38,太阳微系统公司
共 (0) 个答案