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
>

Reply via email to