Hi, Thanks for your reply. I use an old http provider & i guess it was the origin for those methods. Therefore, i replaced it now with a new http provider as follows:
<beans xmlns:http="http://servicemix.apache.org/http/1.0" xmlns:prd="http://prd"> <http:provider service="prd:ForecastWeatherImpService" endpoint="prd:ForecastWeatherImpService" locationURI="http://localhost:8080/ForecasterService/services/ForecastWeatherImp" /> </beans> & i get the following error in the SMX log: fault: <?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> <soapenv:Fault> <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode> <faultstring>no SOAPAction header!</faultstring> <detail> <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">LIAVE02</ns2:hostname> </detail> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> I also valued the soapAction attribute in the wsdl to be: soapAction="no_params" with no change. Can you suggest on a solution? Can you also advise if i can use an old provider & a new consumer? Thanks. gnodet wrote: > > 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 > > -- View this message in context: http://www.nabble.com/Http-consumer-end-point-question-tp21747567p21767145.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
