Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jersey客户端和CXF混合(多部分问题)_Java_Spring_Rest_Jersey_Cxf - Fatal编程技术网

Java Jersey客户端和CXF混合(多部分问题)

Java Jersey客户端和CXF混合(多部分问题),java,spring,rest,jersey,cxf,Java,Spring,Rest,Jersey,Cxf,我有一个混合了CXF和jersey客户端的遗留应用程序。 当我使用Jersey客户端但CXF接管时。 Response response = client .target("http://example.com") .register(MultiPartFeature.class) //error when run this line .request(MediaType.APPLICATION_JS

我有一个混合了CXF和jersey客户端的遗留应用程序。 当我使用Jersey客户端但CXF接管时。

 Response response = client
            .target("http://example.com") 
            .register(MultiPartFeature.class) //error when run this line
            .request(MediaType.APPLICATION_JSON )accept type
            .put(Entity.entity(request, mediaType), Response.class); 
使用jersey客户端从jersey服务器检索多部分时,此操作由cxf处理并抛出错误:

java.lang.RuntimeException: java.lang.InstantiationException: org.glassfish.jersey.media.multipart.internal.FormDataParamValueFactoryProvider
21:09:51,574 INFO  [stdout] (default task-31)   at org.apache.cxf.jaxrs.impl.ConfigurationImpl.createProvider(ConfigurationImpl.java:208) ~[cxf-rt-frontend-jaxrs-3.1.5.jar:3.1.5]
21:09:51,574 INFO  [stdout] (default task-31)   at org.apache.cxf.jaxrs.impl.ConfigurationImpl.register(ConfigurationImpl.java:176) ~[cxf-rt-frontend-jaxrs-3.1.5.jar:3.1.5]
21:09:51,574 INFO  [stdout] (default task-31)   at org.apache.cxf.jaxrs.impl.ConfigurableImpl.register(ConfigurableImpl.java:91) ~[cxf-rt-frontend-jaxrs-3.1.5.jar:3.1.5]
21:09:51,574 INFO  [stdout] (default task-31)   at org.apache.cxf.jaxrs.impl.ConfigurableImpl.doRegister(ConfigurableImpl.java:117) ~[cxf-rt-frontend-jaxrs-3.1.5.jar:3.1.5]
21:09:51,574 INFO  [stdout] (default task-31)   at org.apache.cxf.jaxrs.impl.ConfigurableImpl.register(ConfigurableImpl.java:108) ~[cxf-rt-frontend-jaxrs-3.1.5.jar:3.1.5]
有一个问题

使用
JerseyClientBuilder
而不是
ClientBuilder
。后者将默认使用CXF客户端。不要使用
JerseyClientBuilder.newClient()
。它继承自
ClientBuilder
(它扩展了
JerseyClientBuilder
),因此它具有前面提到的默认使用CXF的行为。使用
JerseyClientBuilder.createClient()
或实例化该生成器,对其调用一些方法,然后调用
build()
。您可以查看。

使用Jersey ClientBuilder而不是ClientBuilder。后者将默认使用CXF客户端。我尝试使用JerseyClientBuilder,但再次失败。出现了相同的错误@PaulSamsothaCan您是否可以用您正在使用的代码更新您的帖子?
Response-Response=JerseyClientBuilder.newClient().target(“http://example.comregister(JacksonFeature.class).register(MultiPartFeature.class)/**与uppose.request(MediaType.APPLICATION_JSON)相同的错误//添加请求头accept type.put(Entity.Entity(request,mediaType),Response.class)//建立Http-Put方法
@PaulSamsotha因相同的错误而失败。请不要使用
newClient()
。这是从
ClientBuilder
继承的,它具有我所指的默认行为。使用
JerseyClientBuilder.createClient()
或实例化该生成器,对其调用一些方法,然后调用`build()。你可以看看Hello Paul,你是怎么做到的?链接断开(未找到页面)@codesave我更新了它谢谢你@Paul,你也能检查一下这个吗?关于泽西岛: