この問題は、JAX-RS 構成に関連しています。
単一のクラス用に JAX-RS を構成しました。構成はうまくいきました。
@Path(/bean1/)
@Produces("application/xml")
public class class1 {
@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
@Path(/m1)
public String method1(JAXBElement<String> request) {
}
@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
@Path(/m2)
public String method2(JAXBElement<String> request) {
}
}
以下は jaxrs:server タグです
<jaxrs:server id="bean1" address="/">
<jaxrs:serviceBeans>
<ref bean="class1" />
</jaxrs:serviceBeans>
<jaxrs:extensionMappings>
<entry key="xml" value="application/xml" />
</jaxrs:extensionMappings>
</jaxrs:server>
URL「/bean1/m1」でApache Jerseyクライアントを介して呼び出すことができました
ここで、JAX-RS を使用して別のクラスを構成したいと考えました。したがって、次のように構成を追加しました
@Path(/bean2/)
@Produces("application/xml")
public class class2 {
@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
@Path(/m3)
public String method3(JAXBElement<String> request) {
}
}
別の jaxrs:server タグを追加し、アドレスを指定しました。効果的な構成は
<jaxrs:server id="bean1" address="/bean1">
<jaxrs:serviceBeans>
<ref bean="class1" />
</jaxrs:serviceBeans>
<jaxrs:extensionMappings>
<entry key="xml" value="application/xml" />
</jaxrs:extensionMappings>
</jaxrs:server>
<jaxrs:server id="bean2" address="/bean2">
<jaxrs:serviceBeans>
<ref bean="class2" />
</jaxrs:serviceBeans>
<jaxrs:extensionMappings>
<entry key="xml" value="application/xml" />
</jaxrs:extensionMappings>
</jaxrs:server>
URL「/bean1/m1」でWebサービスを再度呼び出そうとしました。
ただし、No root resource matching request path /m1 has been found というエラーを受け取りました。
助けを求めています。