You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Liav Ezer <li...@gmail.com> on 2009/01/27 17:30:35 UTC

Http-consumer BC is wrapping the exchange with tags

Hi,

I have a working set of components:
   1 Http end-point (role=consumer)
   1 Http end-point (role=provider)
   1 Camel SE

Since i want to plant logic to my consumed exchanged - i added a Marshaller
& replaced the current consumer with a new one.
(Refer to http://servicemix.apache.org/servicemix-http-new-endpoints.html)

Here is my new consumer's xbean:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:http="http://servicemix.apache.org/http/1.0" 
       xmlns:con="http://con" 
       xmlns:abc="http://abc">
  <http:consumer service="con:PublicForecastWeatherService"
                 endpoint="PublicForecastWeather"  
                
locationURI="http://localhost:8192/abc/services/internal/forecastWeather"
                 defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
                 targetService="abc:abcInternalService"
                 marshaler="#marshaler" /> 
      <bean id="marshaler" class="org.apache.servicemix.jbi.HTTPMarshaler"
/>
</beans>

My Problem:
I used a sniffer to intercept my client request to this consumer end-point &
here it is:
client request:
<?xml version='1.0' encoding='UTF-8' ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <getForcastPerLocation xmlns="http://service.app.esb.abc.liav.com">
            <location>NYC</location>
        </getForcastPerLocation>
    </soapenv:Body>
</soapenv:Envelope>

& i also intercepted the exchange from the new consumer to the ESB:
Consumer request
<?xml version='1.0' encoding='UTF-8' ?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
	<env:Body>
		<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
		                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
		                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
		    <soapenv:Body>
		        <getForcastPerLocation
xmlns="http://service.app.esb.abc.liav.com">
		            <location>NYC</location>
		        </getForcastPerLocation>
		    </soapenv:Body>
		</soapenv:Envelope>
	</env:Envelope>
</env:Body>

You can see that the new component wraps this soap request with additional
<env> Envelope & Body tags while the old consumer didn't (i checked it's
request as well)

My Questions:
1. Why does the exchange being wrapped like that using the new end-points?
2. If this is standard, how can i normelize my message to fit an old type
provider?
3. Do i need to convewrt my old provider to be from the new kind as well?

Thanks in advance,
Liav.


-- 
View this message in context: http://www.nabble.com/Http-consumer-BC-is-wrapping-the-exchange-with-%3Cenv%3E-tags-tp21688868p21688868.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Http-consumer BC is wrapping the exchange with tags

Posted by Liav Ezer <li...@gmail.com>.
Anyone..?


Liav Ezer wrote:
> 
> Hi,
> 
> I have a working set of components:
>    1 Http end-point (role=consumer)
>    1 Http end-point (role=provider)
>    1 Camel SE
> 
> Since i want to plant logic to my consumed exchanged - i added a
> Marshaller & therfore replaced the current consumer with a new one.
> (Refer to http://servicemix.apache.org/servicemix-http-new-endpoints.html
> for the new http end-points)
> 
> Here is my new consumer's xbean:
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns:http="http://servicemix.apache.org/http/1.0" 
>        xmlns:con="http://con" 
>        xmlns:abc="http://abc">
>   <http:consumer service="con:PublicForecastWeatherService"
>                  endpoint="PublicForecastWeather"  
>                 
> locationURI="http://localhost:8192/abc/services/internal/forecastWeather"
>                  defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
>                  targetService="abc:abcInternalService"
>                  marshaler="#marshaler" /> 
>       <bean id="marshaler" class="org.apache.servicemix.jbi.HTTPMarshaler"
> />
> </beans>
> 
> My Problem:
> I used a sniffer to intercept my client request to this consumer end-point
> & here it is:
> client request:
> <?xml version='1.0' encoding='UTF-8' ?>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>                   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>     <soapenv:Body>
>         <getForcastPerLocation
> xmlns="http://service.app.esb.abc.liav.com">
>             <location>NYC</location>
>         </getForcastPerLocation>
>     </soapenv:Body>
> </soapenv:Envelope>
> 
> & i also intercepted the exchange from the new consumer to the ESB:
> Consumer request
> <?xml version='1.0' encoding='UTF-8' ?>
> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
> 	<env:Body>
> 		<soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> 		                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> 		                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> 		    <soapenv:Body>
> 		        <getForcastPerLocation
> xmlns="http://service.app.esb.abc.liav.com">
> 		            <location>NYC</location>
> 		        </getForcastPerLocation>
> 		    </soapenv:Body>
> 		</soapenv:Envelope>
> 	</env:Envelope>
> </env:Body>
> 
> You can see that the new component wraps this soap request with additional
> <env> Envelope & Body tags while the old consumer didn't (i checked it's
> request as well)
> 
> My Questions:
> 1. Why does the exchange being wrapped like that using the new end-points?
> 2. If this is standard, how can i normelize my message to fit an old type
> provider?
> 3. Do i need to convert my old provider to be from the new kind as well?
> 4. Can you suggest a way to use the old http end-points with an atached
> Marshaller or other way to manipulate the exchange object on the consumer
> stage?
> 
> Thanks in advance,
> Liav.
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Http-consumer-BC-is-wrapping-the-exchange-with-%3Cenv%3E-tags-tp21688868p21711243.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.