Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.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 SOAP 1.2消息发送到仅限SOAP 1.1的端点时无效_Java_Spring_Spring Batch - Fatal编程技术网

Java SOAP 1.2消息发送到仅限SOAP 1.1的端点时无效

Java SOAP 1.2消息发送到仅限SOAP 1.1的端点时无效,java,spring,spring-batch,Java,Spring,Spring Batch,我犯了个错误,从spring批处理应用程序调用spring cxf webservice时。仅当从批处理调用时才会发生此错误。从普通soap UI调用时,其工作正常。一旦从批处理调用某些记录,就会处理这些记录。少数记录发生错误。检查了批处理和webservice的soap版本及其一样 org.apache.cxf.binding.soap.SoapFault: A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoin

我犯了个错误,从spring批处理应用程序调用spring cxf webservice时。仅当从批处理调用时才会发生此错误。从普通soap UI调用时,其工作正常。一旦从批处理调用某些记录,就会处理这些记录。少数记录发生错误。检查了批处理和webservice的soap版本及其一样

org.apache.cxf.binding.soap.SoapFault: A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoint.
                at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:144)
                at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
                at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
                at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:799)
                at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1627)
                at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1494)
                at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1402)
                at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
                at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:649)
                at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
                at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
                at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:533)
                at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
                at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
                at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
                at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:88)
                at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
批量配置

<jaxws:client id="mainClient"
              serviceClass="com.batch.service.MainSoap"
              address="${url}" />


只要添加Soap绑定,就可以识别根本原因的任何帮助或方法都将不胜感激

<jaxws:endpoint id="mainClient" serviceClass="com.batch.service.MainSoap"
  address="${url}">

  <jaxws:binding>
    <soap:soapBinding version="1.2" mtomEnabled="true" />
  </jaxws:binding>
</jaxws:endpoint>

将此注释添加到您的服务界面上,我已尝试使用它

@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
将生成类DeliveryService:

 @WebService(targetNamespace = "http://...", name = "ServiceInterface")
 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)

 public interface ServiceInterface {
 @WebResult(name = "response", targetNamespace = "http:///", partName = "response")

我只是在使用CXF框架时遇到了同样的问题。这是由于端点的错误配置造成的:wsdlLocation没有指向wsdl文件。。。 定义wsdl位置有多种方法:可以在端点初始化期间提供(端点构造函数将可选的wsdlLocation作为参数),也可以为wsdl2java任务提供一个“wsdlLocation”参数(如果从wsdls生成类)


指向错误的wsdlLocation可能是此异常的原因…

您可以共享配置的特定部分吗?@SerkanArıkuşu编辑了批配置问题。您没有向我们展示将主客户端Jax WS客户端对象挂接到Spring批处理中的配置/代码。需要哪些配置?指定在我的情况下,绑定没有帮助。如何在没有spring的情况下使绑定soap 1.2?Spring以某种方式根据
进行操作,我需要在没有Spring的情况下也这样做(仅限cxf)