[ https://issues.apache.org/activemq/browse/SM-481?page=comments#action_36533 ]
Philip Dodds commented on SM-481: --------------------------------- Can you try a build from the subversion HEAD - http://www.servicemix.org/site/building.html? > 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