Java Web服务调用返回“;未设置故障字符串,可能还有故障代码";

Java Web服务调用返回“;未设置故障字符串,可能还有故障代码";,java,web-services,soap-client,Java,Web Services,Soap Client,我有一个调用Web服务的java应用程序(a) 1) 然后我有另一个应用程序(B)使用Ajar。 呼叫成功并返回所需的数据 2) 然后我有一个web应用程序,它也使用Ajar。 在这种情况下,当从应用程序调用web服务方法时,会引发异常 因为执行webservice调用的类在这两种情况下都是相同的,所以我不确定问题出在哪里。 Web服务位于https服务器上。但我使用凭据进行身份验证 我想也许应该在web应用程序中设置一些内容,但我不知道是什么 例外情况是: 09:21:48.009 [http

我有一个调用Web服务的java应用程序(a

1) 然后我有另一个应用程序(B)使用Ajar。 呼叫成功并返回所需的数据

2) 然后我有一个web应用程序,它也使用Ajar。 在这种情况下,当从应用程序调用web服务方法时,会引发异常

因为执行webservice调用的类在这两种情况下都是相同的,所以我不确定问题出在哪里。 Web服务位于https服务器上。但我使用凭据进行身份验证

我想也许应该在web应用程序中设置一些内容,但我不知道是什么

例外情况是:

09:21:48.009 [http-nio-8084-exec-33] WARN  o.a.cxf.phase.PhaseInterceptorChain - Interceptor for {http://www.myserver.com/ci}ci2#{http://www.myserver.com/ci}GetCertPath has thrown exception, unwinding now
java.lang.UnsupportedOperationException: null
    at java.util.AbstractMap.put(AbstractMap.java:209) ~[na:1.8.0_92]
    at org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.setSoapAction(SoapPreProtocolOutInterceptor.java:122) ~[cxf-rt-bindings-soap-2.7.16.jar:2.7.16]
javax.xml.ws.soap.SOAPFaultException: Fault string, and possibly fault code, not set
    at org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.handleMessage(SoapPreProtocolOutInterceptor.java:63) ~[cxf-rt-bindings-soap-2.7.16.jar:2.7.16]
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:158)
    at org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.handleMessage(SoapPreProtocolOutInterceptor.java:47) ~[cxf-rt-bindings-soap-2.7.16.jar:2.7.16]
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272) ~[cxf-api-2.7.16.jar:2.7.16]
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:572) [cxf-api-2.7.16.jar:2.7.16]
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:481) [cxf-api-2.7.16.jar:2.7.16]
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382) [cxf-api-2.7.16.jar:2.7.16]
    at com.sun.proxy.$Proxy318.getCertPath(Unknown Source)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335) [cxf-api-2.7.16.jar:2.7.16]
..... more lines here :) .....
    at java.util.AbstractMap.put(AbstractMap.java:209)
    at org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.setSoapAction(SoapPreProtocolOutInterceptor.java:122)
    at org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.handleMessage(SoapPreProtocolOutInterceptor.java:63)
Fault string, and possibly fault code, not set
    at org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor.handleMessage(SoapPreProtocolOutInterceptor.java:47)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:572)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:481)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)
    at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:136)
    ... 59 more
有什么想法吗

多谢各位

编辑:
它必须设置任何标题吗?在案例1中连接时,没有任何特定的设置,它正在工作。

好的,因此我发现了问题。请求应该包含内容类型。奇怪的是,它在第一个案例中没有抛出异常

我添加了
内容类型:application/soap+xml;charset=utf-8
,web应用程序也在工作


我发现j
avax.xml.ws.soap.SOAPFaultException:Fault string,可能还有Fault code,not set
主要与缺少的内容类型有关。

在我的例子中,这是由于占位符中的一个简单的格式错误的URL造成的。http:/xxx.yyu(注意单个/)

在JDK6中运行CXF不是很清楚,但在JDK8中运行更明确