Web Services 阅读XMLStreamReader时出错:初构中有意外的字符“N”(代码78);必须是'〈'

sqyvllje  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(916)

当我点击一个SOAP服务时,我得到了WstxUnexpectedCharException。我的代码正在生成请求,该请求看起来很好,当我在SOAP UI中使用同一个请求时,它给出了正确的响应。

org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader: Unexpected character 'N' (code 78) in prolog; expected '<'
 at [row,col {unknown-source}]: [1,1]
    at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:293) ~[cxf-rt-bindings-soap-3.1.11.jar:3.1.11]
    at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:70) ~[cxf-rt-bindings-soap-3.1.11.jar:3.1.11]
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) [cxf-core-3.1.11.jar:3.1.11]
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:801) [cxf-core-3.1.11.jar:3.1.11]
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1680) [cxf-rt-transports-http-3.1.11.jar:3.1.11]
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1559) [cxf-rt-transports-http-3.1.11.jar:3.1.11]
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1356) [cxf-rt-transports-http-3.1.11.jar:3.1.11]
    at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) [cxf-core-3.1.11.jar:3.1.11]
    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:653) [cxf-rt-transports-http-3.1.11.jar:3.1.11]
    at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) [cxf-core-3.1.11.jar:3.1.11]
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) [cxf-core-3.1.11.jar:3.1.11]
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514) [cxf-core-3.1.11.jar:3.1.11]
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423) [cxf-core-3.1.11.jar:3.1.11]
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324) [cxf-core-3.1.11.jar:3.1.11]
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277) [cxf-core-3.1.11.jar:3.1.11]
    at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) [cxf-rt-frontend-simple-3.1.11.jar:3.1.11]
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139) [cxf-rt-frontend-jaxws-3.1.11.jar:3.1.11]
slwdgvem

slwdgvem1#

在我的例子中,错误是由于我将SOAP端点更改为putsreq.com之类的服务器,该服务器回显传入的请求。
由于它对我的xml的响应是Hello Word而不是有效的XML,Apache CXF抱怨错误:
Error reading XMLStreamReader: Unexpected character 'H' (code 72) in prolog; expected '<'

相关问题