有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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”时,也会出现同样的错误。所以我被卡住了。以前有人见过这个问题吗?如果有,有解决办法吗?谢谢你的帮助

我的环境如下:

  1. JBoss-6.1.0。决赛
  2. RESTEasy 2.2.1。GA
  3. Java版本:1.6.0_38,太阳微系统公司

共 (0) 个答案