Outsecuence에서 프롤로그 예외에서 WSO2 ESB 컨텐츠가 허용되지 않습니다.
-
21-12-2019 - |
문제
나는 SOAP을 수행하는 SOAP를 수행하는 SOAP 웹 서비스를 통해 프록시 서비스를 개발하고 있으며, 메시지는 평면 형식 (XML이 아닌)의 문자열로 문자열로 보내는,
와 같은 문자의 유동성으로 메시지가 전송됩니다. OIUW|ECHNOWE|RFHQWIUE|FBPQW|EFHAO|IEFH
.
나는 SOAP UI로 호출 하고이 응답을 잘 얻고, 이제는 "SOAP 형식"에서 그것을 받고 싶습니다.이 메시지를 SOAP : 본문으로 쌈, 나는 XSLT와 PAYLoadFactory 중재자로 시도했습니다.,하지만 (아무것도하지 마십시오) 나는 그들 중 하나를 사용하자마자 내가
를 얻는다.[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.
.
무엇이 잘못됩니까?이 예외없이 메시지 변환을 어떻게 얻을 수 있습니까?
고맙습니다!
갱신 :
에 의해 요청 된 내 프록시<?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 / plain"대신 "text / xml"에 콘텐츠 유형을 설정했음을 알았 으면, 나는 그것을 "텍스트 / 일반"으로 변경했고 모든 것이 지금 잘 작동하고 있습니다.
오류 메시지
"콘텐츠는 프롤로그에서 허용되지 않습니다."
은 실제로 의미
를 의미합니다" 예기치 않은 콘텐츠 유형"
다른 팁
로그 인쇄가 무엇인지 다음과 같이 다음과 같이하십시오.
<outSequence>
<log level="full">
<property name="MyTrace" value="--- RESPONSE ---"/>
</log>
<send/>
</outSequence>
. 제휴하지 않습니다 StackOverflow