servicemix-http provider truncates a large xml response -------------------------------------------------------
Key: SM-481 URL: https://issues.apache.org/activemq/browse/SM-481 Project: ServiceMix Type: Bug Components: servicemix-http Environment: windows xp professional. Java 1.5 Reporter: Pete Priority: Critical Fix For: incubation Attachments: soap_response.txt When using servicemix-http as a provider, our provider web service returns a very large xml response, this gets truncated somewhere in servicemix (I did notice when debugging it went down the stax xml route) We had the same problem when using SaajBinding, we fixed this locally by extending the SaajBinding and overridng the onMessageExchange in particular just after the call() we added response.saveChanges(); e.g. SOAPMessage response = connection.call(inMessage, soapEndpoint); response.saveChanges(); This I believe was a known issue using this particular SAAJ implementation, which is why saveChanges() was added to the api. see http://www.nabble.com/servicemix-http-provider-truncates-a-large-xml-response-tf1857975.html for forum post Our response xml is 673148 bytes. I have attached an example of the failing soap response. Note: you'll need to remove header stuff and save as xml. The response has a single xml element, where embedded (as a string) is another xml document - nasty I know. XML Config is <!-- Http based client recieve/send html request/response passes message to a router component--> <sm:activationSpec componentName="httpReceiver" service="my:httpBinding" endpoint="httpReceiver" destinationService="my:router"> <sm:component> <bean xmlns="http://xbean.org/schemas/spring/1.0" class="org.apache.servicemix.components.http.HttpConnector"> <property name="host" value="localhost" /> <property name="port" value="8912" /> <property name="marshaler"> <bean class="org.apache.servicemix.components.http.HttpMarshaler" /> </property> </bean> </sm:component> </sm:activationSpec> Then there is an eip router that routes to <sm:component> <http:component> <http:endpoints> <http:endpoint service="my:search" endpoint="search" role="provider" soap="true" soapAction="http://www.blah.com/blah" locationURI="http://www.blah.com:80/blah.asmx"/> </http:endpoints> </http:component> </sm:component> -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira