我在wso2 esb 4.8.1中有简单的基本代理,我将输入消息发送到我的端点并显示结果。
XML => Endpoint => XML
我的端点只接收带有特定SOAPAction的SOAP(soap envelope,body)消息,因此我设置了
<property name="SOAPAction" value="MY VALUE" scope="transport"/>
发送之前,我知道这是正确的设置。 发送我的消息后,我收到此错误
SOAP-ENV:Client.PayloadSize
The SOAP payload exceeds the configured size limit of the server!
我不知道为什么,因为当我通过restClient发送此消息时,我会收到结果。
为了消除输入错误,我设置了PayloadFactory并设置了消息(我确定这条消息没问题),我得到了同样的错误。
我发送的代码:
<property name="Content-Type"
value="text/xml"
scope="axis2"
type="STRING"/>
<property name="SOAPAction" value="MY VALUE" scope="transport"/>
<send>
<endpoint>
<http method="POST"
uri-template="http:address"/>
</endpoint>
</send>
有什么想法吗?
更新06.10.2015
ESB日志显示此错误:
Received an internal server error : Internal Server Error For : MY_ADDRESS For Request : Axis2Request [Message ID : urn:uuid:2fa54584-6165-4abc-bf7e-b33679aa1ef9] [Status Completed : true] [Status SendingCompleted : true] {org.apache.synapse.transport.nhttp.ClientHandler}
To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:2fa54584-6165-4abc-bf7e-b33679aa1ef9, Direction: response, Envelope: <?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client.PayloadSize</faultcode><faultstring>The SOAP payload exceeds the configured size limit of the server!</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope></soapenv:Body></soapenv:Envelope> {org.apache.synapse.mediators.builtin.LogMediator}
我在这个网站上看过 http://www.w3schools.com/xml/xml_soap.asp 这是客户端问题,但正如我之前写的那样,当我执行CTR + C和CTR + V此有效负载消息并将其放入restClinet时,我得到了结果。 也许ESB添加一些奇怪的东西并发送它?
第二次更新06.10.2015
我打开了DEBUG模式并得到了这个:
DEBUG {org.apache.synapse.transport.http.wire} - << "POST MY_SERVICE HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "Content-Type: text/xml; charset=UTF-8[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "Accept-Encoding: gzip,deflate[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "SOAPAction: MY_URI[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "Transfer-Encoding: chunked[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "Host: MY-HOST[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "Connection: Keep-Alive[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "User-Agent: Synapse-HttpComponents-NIO[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "4d4[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">[\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << " <SOAP-ENV:Body>[\n]" {org.apache.synapse.transport.http.wire}
MY_MESSAGE HERE
DEBUG {org.apache.synapse.transport.http.wire} - << " </SOAP-ENV:Body>[\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "</SOAP-ENV:Envelope>[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "0[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - << "[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - >> "HTTP/1.1 500 Internal Server Error[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - >> "Content-Length: 342[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - >> "Content-Type: text/xml; charset="UTF-8"[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - >> "Server: Microsoft-IIS/7.5[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - >> "X-Powered-By: ASP.NET[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - >> "Date: Tue, 06 Oct 2015 11:42:30 GMT[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - >> "Connection: close[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - >> "[\r][\n]" {org.apache.synapse.transport.http.wire}
DEBUG {org.apache.synapse.transport.http.wire} - >> "<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client.PayloadSize</faultcode><faultstring>The SOAP payload exceeds the configured size limit of the server!</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>" {org.apache.synapse.transport.http.wire
}
我不知道为什么在我的消息之前有“4d4”,之后有“0”。之前和之后都有“[\ r] [\ n]”。这是错的吗?