Have you tried using the soap provider endpoint ? It will automatically set the right value for the soap action based on the wsdl.
<http:soap-provider ... /> On Sat, Jan 31, 2009 at 20:11, Liav Ezer <[email protected]> wrote: > > 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. > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com
