无法找到媒体类型的JAXBContextFinder:application / xml + fhir

时间:2016-03-17 19:27:16

标签: java jboss jaxb jax-rs resteasy

我正在编写一个REST服务来从HL7 FHIR客户端使用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]执行POST / DecisionSupportServiceModule / CDCImmunizations / $ evaluate失败:org.jboss.resteasy.plugins.providers.jaxb.JAXBUnmarshalException:无法执行找到媒体类型的JAXBContextFinder:application / xml + fhir

但是当我更改代码以使用Content-Type=application/xml时,一切都按预期工作。

为了尝试解决这个问题,我实现了一个自定义的MessageBodyReader / Writer,以便为客户端来回传送mapherhal / unmarshal JAX-B消息。使用“application / xml + fhir”时,这也会失败并出现相同的错误。所以我被卡住了。有没有人见过这个问题,如果有的话有解决方案?谢谢你的帮助。

我的环境如下:

  1. JBoss-6.1.0.Final
  2. RESTEasy 2.2.1.GA
  3. Java版本:1.6.0_38,Sun Microsystems Inc.

0 个答案:

没有答案