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 具有空响应的Spring集成WS-Gateway_Java_Spring_Web Services_Soap_Spring Integration - Fatal编程技术网

Java 具有空响应的Spring集成WS-Gateway

Java 具有空响应的Spring集成WS-Gateway,java,spring,web-services,soap,spring-integration,Java,Spring,Web Services,Soap,Spring Integration,我正在使用具有以下属性的“ws:outbound gateway” ignore-empty-responses="false" reply-channel="processReplyChannel" 我也试过了 ignore-empty-responses="FALSE" reply-channel="processReplyChannel" 事实上,WS-Reply是空的,如下所示 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.

我正在使用具有以下属性的“ws:outbound gateway”

ignore-empty-responses="false" reply-channel="processReplyChannel"
我也试过了

ignore-empty-responses="FALSE" reply-channel="processReplyChannel"
事实上,WS-Reply是空的,如下所示

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body />
</soap:Envelope>

我的问题是通道有一个ServiceActivator,它将在出现非soap错误回复消息时执行某些操作。但是,似乎有些东西遗漏了,因为ws-processing从未到达“processReplyChannel”,有人知道如何在没有响应主体的情况下处理成功的ws-call吗

使用示例配置更新

<int:chain input-channel="inputChainChannel"   id="chainId">
        <int:transformer id="firsttransformer"
            ref="firsttransformer" ></int:transformer>
        <int:transformer ref="beanTramsformer" method="someMethod"></int:transformer>
        <int:transformer id="sencondMarshallingTransfomer" ref="sencondMarshallingTransfomer"></int:transformer>
        <int:object-to-string-transformer></int:object-to-string-transformer>
        <ws:header-enricher>
            <ws:soap-action value="theSoapAction" />
        </ws:header-enricher>
        <ws:outbound-gateway 
            uri="${wsEndpoint}"
            interceptor="anInterceptor" ignore-empty-responses="false" reply-channel="processReplyChannel">
            <ws:request-handler-advice-chain>
                    <ref bean="retryAdvice" />
            </ws:request-handler-advice-chain>  
        </ws:outbound-gateway>  
    </int:chain>


关于,

这看起来像一个bug;我打开了一个你可以看的窗口。

这看起来像一只虫子;我打开了一个可供您查看的库。

这可能是由于某个基础库发生了更改;在调试器中,我看到空主体返回null,而不是空
字符串。正在调查…这可能是由于某个基础库发生了更改;在调试器中,我看到空主体返回null,而不是空
字符串。调查…嗨,加里,问题似乎有点复杂。。我做了另一个测试,更改端点以返回消息(事实上WS将返回发送的相同消息!),但没有调用回复通道。现在我不知道“回复频道”是否可以在链内使用。当我把回复通道移到输出通道(链式输出通道)时,一切都很好,这是正确的;您不能在链中放置
回复频道
;回复将转到链中的下一个元素,或者如果网关是最后一个元素,则返回链的
输出通道。。我做了另一个测试,更改端点以返回消息(事实上WS将返回发送的相同消息!),但没有调用回复通道。现在我不知道“回复频道”是否可以在链内使用。当我把回复通道移到输出通道(链式输出通道)时,一切都很好,这是正确的;您不能在链中放置
回复频道
;应答转到链中的下一个元素,或者如果网关是最后一个元素,则转到链的
输出通道。