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%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
>