No, you need to do that when creating and sending the exchange. Camel should propagate the operation name within the route.
On Mon, Feb 2, 2009 at 12:54, liav ezer <[email protected]> wrote: > Do you mean that i need to add targetOperation to my provider's xbean? > > > On Mon, Feb 2, 2009 at 1:50 PM, Guillaume Nodet <[email protected]> wrote: > >> The soap action should be set to the corresponding operation invoked >> on the web service. >> If it is not set, this may be because you did not set the operation >> field on the exchange to the right QName. >> >> On Mon, Feb 2, 2009 at 12:19, liav ezer <[email protected]> wrote: >> > This is the response: >> > >> > eXtensible Markup Language >> > <?xml >> > <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> >> > >> > Usually i see the request also in this kind of format and the sniffer >> > indicates that this is HTTP/XML protocol but now i see the request as i >> sent >> > you before with only HTTP Protocol. Clearly something isn't right. >> > The content of the request is ambiguous, this is what i managed to >> extract >> > from the sniffer: >> > >> > [PohsP,POST /ForecasterService/services/ForecastWeatherImp HTTP/1.1 >> > Content-Type: text/xml >> > Host: liave02:8080 >> > Content-Length: 388 >> > >> > Should i omit the useJbiWrapper=false? I did it in my consumer as well. >> > >> > Thanks. >> > >> > >> > On Mon, Feb 2, 2009 at 1:03 PM, Guillaume Nodet <[email protected]> >> wrote: >> > >> >> Not sure what you mean. >> >> The request content type is text/xml so it looks good. >> >> Do you have the content of the request and the response ? >> >> >> >> On Mon, Feb 2, 2009 at 11:56, liav ezer <[email protected]> wrote: >> >> > Sure, it doesn't say much except for the fact that this isn't http/xml >> >> but >> >> > plain http request. >> >> > >> >> > Frame 20 (184 bytes on wire, 184 bytes captured) >> >> > Ethernet II, Src: Msi_5a:17:0a (00:16:17:5a:17:0a), Dst: >> >> HewlettP_d4:86:e0 >> >> > (00:13:21:d4:86:e0) >> >> > Internet Protocol, Src: 10.236.11.194 (10.236.11.194), Dst: >> 10.236.10.91 >> >> > (10.236.10.91) >> >> > Transmission Control Protocol, Src Port: queueadm (2230), Dst Port: >> >> http-alt >> >> > (8080), Seq: 1, Ack: 1, Len: 130 >> >> > Hypertext Transfer Protocol >> >> > POST /ForecasterService/services/ForecastWeatherImp HTTP/1.1\r\n >> >> > Request Method: POST >> >> > Request URI: /ForecasterService/services/ForecastWeatherImp >> >> > Request Version: HTTP/1.1 >> >> > Content-Type: text/xml\r\n >> >> > Content-Length: 388\r\n >> >> > Content length: 388 >> >> > \r\n >> >> > >> >> > I also debugged the message object sent to the doInterceptor(Message) >> by >> >> the >> >> > createRequest method (in HttpSoapProviderMarshaler): >> >> > >> >> > >> >> > {interface javax.jbi.messaging.MessageExchange=InOut[ >> >> > >> >> > id: ID:10.236.11.194-11f364479c2-2:15 >> >> > >> >> > status: Active >> >> > >> >> > role: provider >> >> > >> >> > service: {http://prd}ForecastWeatherImpService >> >> > >> >> > endpoint: ForecastWeatherImp >> >> > >> >> > in: <?xml version="1.0" encoding="UTF-8"?><getForcastPerLocation >> xmlns=" >> >> > http://service.app.esb.oxp.amdocs.com" 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 >> >> > "><location>Tel-Aviv</location></getForcastPerLocation> >> >> > >> >> > >> >> >> {*interface*javax.jbi.messaging.normalizedmessage=org.apache.servicemix.jbi.messaging.normalizedmessagei...@7a754f >> >> > {*properties*: >> {javax.jbi.messaging.protocol.headers={Content-Length=435, >> >> > User-Agent=Axis/1.4, Host=localhost:8192, SOAPAction="", >> Pragma=no-cache, >> >> > Content-Type=text/xml; charset=utf-8, REQUEST_METHOD=POST, >> >> > Cache-Control=no-cache, CONTENT_TYPE=text/xml; charset=utf-8, >> >> > Accept=application/soap+xml, application/dime, multipart/related, >> text/*, >> >> > REQUEST_URI= >> >> http://localhost:8192/oxp/services/internal/forecastWeather/}<http://localhost:8192/oxp/services/internal/forecastWeather/%7D> >> }<http://localhost:8192/oxp/services/internal/forecastWeather/%7D%7D> >> >> }, >> >> > class java.io.outputstream=java.io.bufferedoutputstr...@1aba945} >> >> > >> >> > Attachment & SOAP headers are empty. >> >> > >> >> > >> >> > >> >> > Thanks >> >> > >> >> > On Mon, Feb 2, 2009 at 12:46 PM, Guillaume Nodet <[email protected]> >> >> wrote: >> >> > >> >> >> Unfortunately, our mailing lists strip attachents. Can you include >> it >> >> >> inline please ? >> >> >> >> >> >> On Mon, Feb 2, 2009 at 11:44, liav ezer <[email protected]> wrote: >> >> >> > Sure, attached is a snapshot of the packet sent from the >> >> soap-provider: >> >> >> > >> >> >> > >> >> >> > On Mon, Feb 2, 2009 at 12:40 PM, Guillaume Nodet <[email protected] >> > >> >> >> wrote: >> >> >> >> >> >> >> >> Could you give some hints on what the sniffer sees ? >> >> >> >> >> >> >> >> On Mon, Feb 2, 2009 at 11:37, liav ezer <[email protected]> >> wrote: >> >> >> >> > Right, i saw the fixed getter: >> >> >> >> > >> >> >> >> > @Override >> >> >> >> > >> >> >> >> > public String getMethod() { >> >> >> >> > >> >> >> >> > return HttpMethods.POST; >> >> >> >> > >> >> >> >> > } >> >> >> >> > >> >> >> >> > Can you suggest why my provider (as follows) doesn't send the >> http >> >> >> >> > request >> >> >> >> > in XML format? (sniffer clearly shows that it's plain http & not >> >> >> >> > http/xml)? >> >> >> >> > >> >> >> >> > This is my providers xbean: >> >> >> >> > >> >> >> >> > <?xml version="1.0" encoding="UTF-8"?> >> >> >> >> > <beans xmlns:http="http://servicemix.apache.org/http/1.0" >> >> >> >> > xmlns:prd="http://prd"> >> >> >> >> > <http:soap-provider service="prd:ForecastWeatherImpService" >> >> >> >> > endpoint="ForecastWeatherImp" >> >> >> >> > >> >> >> >> > >> >> >> >> > locationURI=" >> >> >> http://drorav02:8080/ForecasterService/services/ForecastWeatherImp" >> >> >> >> > wsdl="classpath:ForecastWeatherImp.wsdl" >> >> >> >> > useJbiWrapper="false"/> >> >> >> >> > </beans> >> >> >> >> > >> >> >> >> > Attached is the wsdl file. >> >> >> >> > >> >> >> >> > Thanks in advcane. >> >> >> >> > >> >> >> >> > On Mon, Feb 2, 2009 at 11:36 AM, Guillaume Nodet < >> [email protected] >> >> > >> >> >> >> > wrote: >> >> >> >> >> >> >> >> >> >> No, all soap requests are sent using POST method. This is the >> >> >> >> >> expected behavior. >> >> >> >> >> >> >> >> >> >> On Mon, Feb 2, 2009 at 10:34, liav ezer <[email protected]> >> >> wrote: >> >> >> >> >> > Hi Guillaume, >> >> >> >> >> > >> >> >> >> >> > I debugged the process() method in HttpProviderEndpoint class >> & >> >> >> >> >> > looked >> >> >> >> >> > at >> >> >> >> >> > the value of the http exchange when its being sent: >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > getConnectionPool().send(*httpEx*); >> >> >> >> >> > >> >> >> >> >> > The value is: >> >> >> >> >> > >> >> >> >> >> > httpexcha...@1663347=*post* >> >> >> >> >> > >> //drorav02:8080/ForecasterService/services/ForecastWeatherImp#0 >> >> >> >> >> > >> >> >> >> >> > i also see that the *_requestContent* data member is a >> >> >> >> >> > *ByteArrayBuffer*type & has this value: >> >> >> >> >> > >> >> >> >> >> > <soap:Envelope xmlns:soap=" >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > http://schemas.xmlsoap.org/soap/envelope/ >> >> >> "><soap:Body><getForcastPerLocation< >> >> >> >> >> >> http://schemas.xmlsoap.org/soap/envelope/%22%3E%3Csoap:Body%3E%3CgetForcastPerLocation >> >> >> >xmlns=" >> >> >> >> >> > http://service.app.esb.abc.liav.com" 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 >> >> >> >> >> >> "><location>Ashdod</location></getForcastPerLocation></soap:Body></soap:Envelope< >> >> >> >> >> >> http://www.w3.org/2001/XMLSchema-instance%22%3E%3Clocation%3EAshdod%3C/location%3E%3C/getForcastPerLocation%3E%3C/soap:Body%3E%3C/soap:Envelope >> >> >> > >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> >> > It seems that the contecnt is soap but it's sent as POST. Can >> >> you >> >> >> see >> >> >> >> >> > the >> >> >> >> >> > problem? >> >> >> >> >> > Thanks. >> >> >> >> >> > ---------- Forwarded message ---------- >> >> >> >> >> > From: liav ezer <[email protected]> >> >> >> >> >> > Date: Mon, Feb 2, 2009 at 10:48 AM >> >> >> >> >> > Subject: Re: Http consumer end-point question >> >> >> >> >> > To: [email protected] >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > It seems that the transmission to my service via my >> >> soap-provider >> >> >> >> >> > isn't >> >> >> >> >> > soap. I used a sniffer and seen that the request is POST over >> >> HTTP. >> >> >> >> >> > >> >> >> >> >> > That's why i get a fault response specifying that there isn't >> >> any >> >> >> >> >> > SOAPAction >> >> >> >> >> > header... >> >> >> >> >> > >> >> >> >> >> > I suspected that the camel API (producerTemplate.send()) is >> >> messing >> >> >> >> >> > my >> >> >> >> >> > requset so i changed my router do a from().to() routing as >> >> follows: >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > from*(* >> >> >> >> >> > *"jbi:service:**http://oxp/oXpInternalService >> >> ").to("jbi:service: >> >> >> >> >> > http://prd/ForecastWeatherImpService");* >> >> >> >> >> > >> >> >> >> >> > & i still get this fault. It seems like it is related to the >> >> >> provider >> >> >> >> >> > end-point. Do you see something wrong in its configuration? >> >> >> >> >> > >> >> >> >> >> > Thanks >> >> >> >> >> > >> >> >> >> >> > On Mon, Feb 2, 2009 at 10:20 AM, Guillaume Nodet < >> >> >> [email protected]> >> >> >> >> >> > wrote: >> >> >> >> >> > >> >> >> >> >> >> The message you see in the NMR won't be the SOAP envelope. >> The >> >> >> soap >> >> >> >> >> >> envelope is put when the HTTP request is sent and removed >> when >> >> the >> >> >> >> >> >> response is received. >> >> >> >> >> >> You should check what happens on the other side of the >> consumer >> >> in >> >> >> >> >> >> your ForcastWeatherImp service. It seems to send back a >> fault >> >> for >> >> >> >> >> >> some reason. >> >> >> >> >> >> >> >> >> >> >> >> On Mon, Feb 2, 2009 at 09:11, liav ezer < >> [email protected]> >> >> >> wrote: >> >> >> >> >> >> > Ok. >> >> >> >> >> >> > >> >> >> >> >> >> > I followed your advise & used the following soap-provider >> >> >> >> >> >> > end-point: >> >> >> >> >> >> > >> >> >> >> >> >> > <?xml version="1.0" encoding="UTF-8"?> >> >> >> >> >> >> > <beans xmlns:http="http://servicemix.apache.org/http/1.0" >> >> >> >> >> >> > xmlns:prd=" >> >> >> >> >> >> > http://prd"> >> >> >> >> >> >> > <http:*soap-provider* >> >> service="prd:ForecastWeatherImpService" >> >> >> >> >> >> > endpoint="ForecastWeatherImp" >> >> >> >> >> >> > locationURI=" >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> http://localhost:8080/ForecasterService/services/ForecastWeatherImp" >> >> >> >> >> >> > wsdl="classpath:ForecastWeatherImp.wsdl" >> >> >> >> >> >> > useJbiWrapper="false"/> >> >> >> >> >> >> > </beans> >> >> >> >> >> >> > >> >> >> >> >> >> > but i get an error which i don't understand its origin: >> >> >> >> >> >> > >> >> >> >> >> >> > DEBUG - HttpComponent - Received >> exchange: >> >> >> >> >> >> > status: >> >> >> >> >> >> Active, >> >> >> >> >> >> > role: provider >> >> >> >> >> >> > DEBUG - HttpComponent - Retrieved >> >> correlation >> >> >> id: >> >> >> >> >> >> > null >> >> >> >> >> >> > DEBUG - DefaultHttpProviderMarshaler - Using default >> >> request >> >> >> >> >> >> > encoding >> >> >> >> >> >> in >> >> >> >> >> >> > provider marshaller. >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> org.apache.servicemix.soap.interceptors.jbi.JbiOutInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> >> >> org.apache.servicemix.soap.interceptors.jbi.JbiOutWsdl1Interceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> org.apache.servicemix.soap.interceptors.mime.AttachmentsOutInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> >> org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> >> org.apache.servicemix.soap.interceptors.xml.BodyOutInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> > >> org.apache.servicemix.soap.interceptors.jbi.JbiOutInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> > >> >> >> org.apache.servicemix.soap.interceptors.jbi.JbiOutWsdl1Interceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> org.apache.servicemix.soap.interceptors.mime.AttachmentsOutInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> >> org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> >> org.apache.servicemix.soap.interceptors.xml.BodyOutInterceptor >> >> >> >> >> >> > DEBUG - DefaultHttpProviderMarshaler - Using default >> >> response >> >> >> >> >> >> > encoding >> >> >> >> >> >> in >> >> >> >> >> >> > provider marshaller. >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> org.apache.servicemix.soap.bindings.soap.interceptors.SoapInInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultInInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> >> >> org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Adding >> interceptor >> >> >> >> >> >> > >> org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> > >> org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> org.apache.servicemix.soap.bindings.soap.interceptors.SoapInInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultInInterceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> > >> >> >> org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor >> >> >> >> >> >> > DEBUG - PhaseInterceptorChain - Invoking >> >> handleMessage >> >> >> on >> >> >> >> >> >> > interceptor >> >> >> >> >> >> > >> org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor >> >> >> >> >> >> > DEBUG - DeliveryChannelImpl - Send >> >> >> >> >> >> > ID:10.236.11.194-11f35e61a07-2:0 in >> >> >> >> >> >> > DeliveryChannel{servicemix-http} >> >> >> >> >> >> > DEBUG - SecuredBroker - send exchange >> with >> >> >> secure >> >> >> >> >> >> > broker >> >> >> >> >> >> > DEBUG - SedaFlow - Called Flow send >> >> >> >> >> >> > DEBUG - SedaQueue - >> >> >> >> >> >> > >> org.apache.servicemix.jbi.nmr.flow.seda.sedaqueu...@120a5d7 >> >> >> >> >> >> > dequeued >> >> >> >> >> >> > exchange: InOut[ >> >> >> >> >> >> > id: ID:10.236.11.194-11f35e61a07-2:0 >> >> >> >> >> >> > status: Active >> >> >> >> >> >> > role: consumer >> >> >> >> >> >> > service: {http://prd}ForecastWeatherImpService >> >> >> >> >> >> > endpoint: ForecastWeatherImp >> >> >> >> >> >> > in: <?xml version="1.0" >> >> >> encoding="UTF-8"?><getForcastPerLocation >> >> >> >> >> >> > xmlns=" >> >> >> >> >> >> > http://service.app.esb.abc.liav.com" 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 >> >> >> >> >> >> "><location>Ashdod</location></getForcastPerLocation< >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> http://www.w3.org/2001/XMLSchema-instance%22%3E%3Clocation%3EAshdod%3C/location%3E%3C/getForcastPerLocation >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> >> > *fault: <?xml version="1.0" >> encoding="UTF-8"?><ns2:hostname >> >> >> >> >> >> xmlns:ns2="** >> >> >> >> >> >> > http://xml.apache.org/axis/">LIAVE02</ns2:hostname*< >> >> >> >> >> >> http://xml.apache.org/axis/%22%3ELIAVE02%3C/ns2:hostname> >> >> >> >> >> >> > *>* >> >> >> >> >> >> > >> >> >> >> >> >> > You can see that the in part isn't wrapped with either jbi >> >> >> wrapper >> >> >> >> >> >> > or >> >> >> >> >> >> soap >> >> >> >> >> >> > envelope & i guess this is the cause of the problem. >> >> >> >> >> >> > >> >> >> >> >> >> > Jbi wrapper i don't need, how can i cause the request to >> be >> >> >> >> >> >> > wraaped >> >> >> >> >> >> > in >> >> >> >> >> >> > <soapenv> tags? >> >> >> >> >> >> > >> >> >> >> >> >> > This is the way i invoke the endpoint: >> >> >> >> >> >> > >> >> >> >> >> >> > ProducerTemplate<Exchange> serviceProducer = >> >> >> >> >> >> > exchange.getContext().createProducerTemplate(); >> >> >> >> >> >> > String targetEndpoint = "jbi:service: >> >> >> >> >> >> http://prd/ForecastWeatherImpService >> >> >> >> >> >> > "; >> >> >> >> >> >> > Endpoint serviceProviderEP = >> >> >> >> >> >> > exchange.getContext().getEndpoint(targetEndpoint); >> >> >> >> >> >> > Exchange serviceProviderExchange = >> >> >> >> >> >> > serviceProviderEP.createExchange(ExchangePattern.InOut); >> >> >> >> >> >> > >> >> >> >> >> >> > serviceProviderExchange.setIn(exchange.getIn()); >> >> >> >> >> >> > Exchange serviceResultExchange = >> >> >> >> >> >> *serviceProducer.send(serviceProviderEP, >> >> >> >> >> >> > serviceProviderExchange); >> >> >> >> >> >> > * >> >> >> >> >> >> > //reply yo the consumer >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> exchange.getOut().setBody(serviceResultExchange.getOut().getBody()); >> >> >> >> >> >> > >> >> >> >> >> >> > Thanks. >> >> >> >> >> >> > >> >> >> >> >> >> > On Mon, Feb 2, 2009 at 9:59 AM, Guillaume Nodet < >> >> >> [email protected]> >> >> >> >> >> >> wrote: >> >> >> >> >> >> > >> >> >> >> >> >> >> The soap-consumer and soap-provider will support SOAP >> while >> >> the >> >> >> >> >> >> >> other >> >> >> >> >> >> >> ones don't (they just pass the request and won't do any >> soap >> >> >> >> >> >> >> related >> >> >> >> >> >> >> processing). If your endpoint is meant to provide access >> to >> >> a >> >> >> >> >> >> >> web >> >> >> >> >> >> >> services using SOAP, you should use a soap endpoint >> (either >> >> >> >> >> >> >> consumer >> >> >> >> >> >> >> or provider). >> >> >> >> >> >> >> If you use REST, the best way would be to create your own >> >> http >> >> >> >> >> >> >> marshaler and not use the soap endpoints. >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Mon, Feb 2, 2009 at 08:52, liav ezer < >> >> [email protected]> >> >> >> >> >> >> >> wrote: >> >> >> >> >> >> >> > What is the actual difference between the <http >> consumer> >> >> & >> >> >> the >> >> >> >> >> >> >> > <http >> >> >> >> >> >> >> > soap-consumer>? Does the second one support REST >> services >> >> as >> >> >> >> >> >> >> > well? >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > And, do i need to keep a match between the consumer >> type >> >> to >> >> >> the >> >> >> >> >> >> provider >> >> >> >> >> >> >> > type? It seems like a logical thing to do... >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > Thanks. >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > On Mon, Feb 2, 2009 at 9:35 AM, Guillaume Nodet >> >> >> >> >> >> >> > <[email protected]> >> >> >> >> >> >> >> wrote: >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> 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 >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> >> >> >> Cheers, >> >> >> >> >> >> >> Guillaume Nodet >> >> >> >> >> >> >> ------------------------ >> >> >> >> >> >> >> Blog: http://gnodet.blogspot.com/ >> >> >> >> >> >> >> ------------------------ >> >> >> >> >> >> >> Open Source SOA >> >> >> >> >> >> >> http://fusesource.com >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> >> >> Cheers, >> >> >> >> >> >> Guillaume Nodet >> >> >> >> >> >> ------------------------ >> >> >> >> >> >> Blog: http://gnodet.blogspot.com/ >> >> >> >> >> >> ------------------------ >> >> >> >> >> >> Open Source SOA >> >> >> >> >> >> http://fusesource.com >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> >> Cheers, >> >> >> >> >> Guillaume Nodet >> >> >> >> >> ------------------------ >> >> >> >> >> Blog: http://gnodet.blogspot.com/ >> >> >> >> >> ------------------------ >> >> >> >> >> Open Source SOA >> >> >> >> >> http://fusesource.com >> >> >> >> > >> >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> Cheers, >> >> >> >> Guillaume Nodet >> >> >> >> ------------------------ >> >> >> >> Blog: http://gnodet.blogspot.com/ >> >> >> >> ------------------------ >> >> >> >> Open Source SOA >> >> >> >> http://fusesource.com >> >> >> > >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> Cheers, >> >> >> Guillaume Nodet >> >> >> ------------------------ >> >> >> Blog: http://gnodet.blogspot.com/ >> >> >> ------------------------ >> >> >> Open Source SOA >> >> >> http://fusesource.com >> >> >> >> >> > >> >> >> >> >> >> >> >> -- >> >> Cheers, >> >> Guillaume Nodet >> >> ------------------------ >> >> Blog: http://gnodet.blogspot.com/ >> >> ------------------------ >> >> Open Source SOA >> >> http://fusesource.com >> >> >> > >> >> >> >> -- >> Cheers, >> Guillaume Nodet >> ------------------------ >> Blog: http://gnodet.blogspot.com/ >> ------------------------ >> Open Source SOA >> http://fusesource.com >> > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com
