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.

Reply via email to