在外部的Prolog异常中不允许WSO2 ESB内容
-
21-12-2019 - |
题
我正在使用SOAP WebService开发一个代理服务,该服务执行SOAP以休息转换,将消息发送到响应以平面格式(不是XML)的字符串响应的servlet,只需一个字符(如
) OIUW|ECHNOWE|RFHQWIUE|FBPQW|EFHAO|IEFH
.
我正在用soap ui调用它,我得到这个回复很好,现在我想以“soap格式”收到它,将消息包装到肥皂:正文中,我尝试了一个xslt和带薪载荷调解员,但一旦我使用其中任何一个(甚至没有什么)我得到了
[2014-07-31 09:30:41,847] ERROR - RelayUtils Error while building Passthrough stream
org.apache.axiom.om.OMException: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.
.
我怎么做错了?如果没有此异常,我如何在没有此异常的情况下实现消息转换?
谢谢!
更新:我的代理如ratha
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="SCL3"
transports="http"
startOnLoad="true"
trace="disable">
<description/>
<target>
<inSequence>
<log level="custom">
<property name="MyTrace" value="--- REQUEST ---"/>
</log>
<log level="full"/>
<property name="REST_URL_POSTFIX"
value="x4?msg=x4|0003|0000000021|0|0|0400002081020224849"
scope="axis2"
type="STRING"/>
<property name="HTTP_METHOD" value="GET" scope="axis2" type="STRING"/>
<property name="SOAPAction" scope="default" action="remove"/>
<header name="Action" scope="default" action="remove"/>
<send>
<endpoint>
<address uri="http://localhost:8087/X4" format="pox"/>
</endpoint>
</send>
</inSequence>
<outSequence>
<log level="custom">
<property name="MyTrace" value="--- RESPONSE ---"/>
</log>
<property name="ContentType"
value="application/soap+xml"
scope="transport"
type="STRING"/>
<property name="messageType"
value="application/soap+xml"
scope="transport"
type="STRING"/>
<payloadFactory media-type="xml">
<format>
<a xmlns="">$1</a>
</format>
<args>
<arg value="my value"/>
</args>
</payloadFactory>
<send/>
</outSequence>
</target>
<publishWSDL uri="file:/C:/wso2/wso2esb-4.8.1/repository/workspaces/myproject/SCL3.wsdl"/>
</proxy>
. 解决方案
我已经看到我的servlet将内容类型设置为“text / xml”而不是“text / plain”,我将它更改为“text / plain”,一切正常正常工作。
因此我推断出错误消息
“prolog中不允许内容”
实际上意味着
“意外内容类型”
其他提示
当您遵循次序的配置时,您的日志打印是什么?
<outSequence>
<log level="full">
<property name="MyTrace" value="--- RESPONSE ---"/>
</log>
<send/>
</outSequence>
. 不隶属于 StackOverflow