You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Pete (JIRA)" <ji...@apache.org> on 2006/07/03 15:29:17 UTC

[jira] Created: (SM-481) servicemix-http provider truncates a large xml response

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


[jira] Commented: (SM-481) servicemix-http provider truncates a large xml response

Posted by "Pete (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SM-481?page=comments#action_36529 ] 

Pete  commented on SM-481:
--------------------------

We are using the 3.0-snapshot-incubating  from the servicemix / apache snapshot repository - it is bundled up using the Maven2 SAR plugin for deployment into JBoss

> 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


[jira] Commented: (SM-481) servicemix-http provider truncates a large xml response

Posted by "Philip Dodds (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SM-481?page=comments#action_36524 ] 

Philip Dodds commented on SM-481:
---------------------------------

Added new test to org.apache.servicemix.http.HttpProviderTest.java which has a 640k message on an InOut with a provider.  The test passed.

Can you confirm you are running against the subversion HEAD?

> 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


[jira] Commented: (SM-481) servicemix-http provider truncates a large xml response

Posted by "Philip Dodds (JIRA)" <ji...@apache.org>.
    [ 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


[jira] Updated: (SM-481) servicemix-http provider truncates a large xml response

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-481?page=all ]

Guillaume Nodet updated SM-481:
-------------------------------

    Fix Version/s:     (was: 3.0.1)

> servicemix-http provider truncates a large xml response
> -------------------------------------------------------
>
>                 Key: SM-481
>                 URL: https://issues.apache.org/activemq/browse/SM-481
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-http
>         Environment: windows xp professional.  Java 1.5 
>            Reporter: Pete 
>            Priority: Critical
>         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

        

[jira] Updated: (SM-481) servicemix-http provider truncates a large xml response

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-481?page=all ]

Guillaume Nodet updated SM-481:
-------------------------------

    Fix Version/s: 3.0
                       (was: incubation)

> servicemix-http provider truncates a large xml response
> -------------------------------------------------------
>
>                 Key: SM-481
>                 URL: https://issues.apache.org/activemq/browse/SM-481
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-http
>         Environment: windows xp professional.  Java 1.5 
>            Reporter: Pete 
>            Priority: Critical
>             Fix For: 3.0
>
>         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