Not sure to understand. SoapMarshaler and SoapWriter and not used with the new endpoints, they are only used with the old <http:endpoint/> one.
On Fri, Jan 30, 2009 at 14:53, Liav Ezer <[email protected]> wrote: > > Hi, > > I want to use the NEW http consumer endpoint (<http:consumer../>) in order > to attach a marshaller. > > My problem is that i see that the exchange is identified as a soap request, > hence it is wraped in "<env:" envelope & body tags in addition to it's > actual wrapper which is via soapenv: tags. > > This causes an exception. > > I debugged it & found out that if i convert the following boolean to false > everything is working without this <env> wrapper. > > public class SoapMarshaler { > ... > protected boolean soap = true; > ... > public boolean isSoap() { > return soap; > } > } > > This is called from SoapWriter class: > > if (marshaler.isSoap()) { > writeSoapEnvelope(writer); > } > > & indeed writeSoapEnvelope does the following wrapper: > > public void writeSoapEnvelope(XMLStreamWriter writer) throws Exception { > QName envelope = getEnvelopeName(); > String soapUri = envelope.getNamespaceURI(); > String soapPrefix = envelope.getPrefix(); > writer.setPrefix(soapPrefix, soapUri); > writer.writeStartElement(soapPrefix, SoapMarshaler.ENVELOPE, > soapUri); > > My question is: > > How do i control the exchange from the new http consumer so it won't be > recognized as soap or will not be wrapped as described? I know the http > soap-consumer endpoint wrapps the exchange with jbi & you can control it via > the useJbiWrapper attribute in the xbean. Is there a solotion for this also? > > Here is my xbean: > <?xml version="1.0" encoding="UTF-8"?> > <beans xmlns:http="http://servicemix.apache.org/http/1.0" > xmlns:con="http://service.app.esb.abc.liav.com" > xmlns:abc="http://abc"> > <http:consumer service="con:PublicForecastWeatherService" > endpoint="PublicForecastWeather" > > locationURI="http://localhost:8192/abc/services/internal/forecastWeather?in-out" > 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> > > Thanks in advance, > > Liav. > -- > View this message in context: > http://www.nabble.com/Http-consumer-end-point-question-tp21747567p21747567.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com
