首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >prolog中的WSO2意外EOF

prolog中的WSO2意外EOF
EN

Stack Overflow用户
提问于 2014-05-08 18:53:31
回答 2查看 6.3K关注 0票数 2

我有一个代理,它在WSO2 ESB4.6.0中调用另一个本地代理。基本上,定义是:

代码语言:javascript
复制
<proxy name="Proxy1" >
    <target>
        <inSequence>
            <xslt/>
            <header name="Action" value="issueActivity" />
            <send>
                <endpoint>
                    <address uri="http://localhost:8280/services/Proxy2" format="soap11"/>
                </endpoint>
            </send>
        </inSequence>
        <outSequence>
            <filter xpath="not(get-property('FAULT'))">
                <xslt/>
            </filter>
            <send />
        </outSequence>
    </target>
</proxy>

<proxy name="Proxy2">
    <target>
        <inSequence>
            <xslt />
            <property name="DISABLE_CHUNKING" value="true" scope="axis2"/>
            <send>
                <endpoint key="Inbound" />
            </send>
        </inSequence>
        <outSequence>
            <filter xpath="get-property('FAULT')">
                <then>
                    <sequence key="DefaultErrorSequence" />
                    <header name="To" action="remove" />
                </then>
                <else>
                    <property name="Content-Encoding" scope="transport" action="remove"/> 
                    <xslt/>
                </else>
            </filter>
            <send />
        </outSequence>
    </target>
</proxy>

在几乎所有的调用中,流都很好地工作,但是当Proxy1试图调用Proxy2时,这个错误会周期性地出现在日志中。

代码语言:javascript
复制
TID: [0]  [ESB]  TID: [0] [ESB] [2014-05-08 12:03:35,431]  WARN {org.apache.synapse.transport.passthru.TargetHandler} -  Receiving response while the handler is in an inconsistent state REQUEST_HEAD
TID: [0]  [ESB]  TID: [0] [ESB] [2014-05-08 12:03:35,432] ERROR {org.apache.synapse.transport.passthru.util.RelayUtils} -  Error while building Passthrough stream
org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
 at [row,col {unknown-source}]: [1,0]
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
    at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:204)
    at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:154)
    [...]

在日志中错误的末尾:

代码语言:javascript
复制
TID: [0]  [ESB]  TID: [0] [ESB] [2014-05-08 12:04:35,435]  WARN {org.apache.synapse.transport.passthru.TargetHandler} -  Connection time out while in state: REQUEST_DONE 
TID: [0]  [ESB]  TID: [0] [ESB] [2014-05-08 12:04:35,436]  WARN {org.apache.synapse.FaultHandler} -  ERROR_CODE : 101507
TID: [0]  [ESB]  TID: [0] [ESB] [2014-05-08 12:04:35,436]  WARN {org.apache.synapse.FaultHandler} -  ERROR_MESSAGE : Error in Sender
TID: [0]  [ESB]  TID: [0] [ESB] [2014-05-08 12:04:35,437]  WARN {org.apache.synapse.FaultHandler} -  ERROR_DETAIL : Error in Sender 
TID: [0]  [ESB]  TID: [0] [ESB] [2014-05-08 12:04:35,437]  WARN {org.apache.synapse.FaultHandler} -  ERROR_EXCEPTION : null

根据WSO2文档,错误101507表示Connection canceled

问题是这个错误的原因是什么?是客户端还是服务器的问题?

更新

显然,错误的原因与以下问题中描述的相同:WSO2 ESB unknown error code 102511

EN

Stack Overflow用户

发布于 2014-05-24 05:18:46

总结到目前为止的所有评论,我认为第一个成果是,当取代Proxy1->Proxy2体系结构时,将Proxy2更改为序列并使用序列中介器调用它们,而不是使用发送中介器调用它们时,问题就解决了。这是正确的,但是由于我们需要有Proxy1->Proxy2架构,我认为将Proxy1的"outSequence“定义为Proxy1的"inSequence”中的接收序列,并使用带有Proxy2端点的发送中介将其发送到Proxy2将是解决方案。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23550237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档