You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Gianfranco Boccalon <gi...@eng.it> on 2008/02/25 11:44:57 UTC

Can the CXF BC provider be used in a pipeline ?

Hi all,
I'm using the CXF BC provider in a pipeline: the problem is that the 
response that I receive from the external web service is not included on 
the response message of the CXF BC provider.

My SA is :

File Component -> EIP pipeline containing a CXF BC provider calling an 
external Web service -> Console output BC

The External web service is called without problems but I'm not able to 
see its response on the console: I see the jbi:message produced by the 
CXF BC, but it doesn't contain the external web service response.

Any suggestion ?

Re: Can the CXF BC provider be used in a pipeline ?

Posted by Guillaume Nodet <gn...@gmail.com>.
Nice catch ! Thanks a lot.

On Tue, Feb 26, 2008 at 1:43 PM, Gianfranco Boccalon
<gb...@tiscali.it> wrote:
> Now it works.
>  There were 2 problems: one mine and the other of SMX.
>
>  1. My problem: I applied to the class CxfBcProviderMessageObserver the
>  same patch about WSDL with only one operation, to avoid specifying the
>  operation if it's not necessary.
>  The patch that I replicated is:
>  https://issues.apache.org/activemq/browse/SM-1225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
>  The problem was that I replicated the patch in the wrong way.
>
>  2. SMX problem: the problem was in the class
>  CxfBcProviderMessageObserver. This class doesn't manage Soap 1.2
>  responses because it uses only the JbiInWsdl1Interceptor, but it's the
>  ReadHeadersInterceptor that changes the SoapMessage version attribute
>  according to the content of the soap response.
>  In the current code the SoapMessage is created, and the default
>  constructor set Soap 1.1 version.
>  This causes that the getBodyElement method of the class
>  JbiInWsdl1Interceptor, doesn't work because it tries to retrieve the
>  wrong body from the message.
>  I changed the CxfBcProviderMessageObserver adding some of the
>  interceptors used in the CxfBcConsumer and changing the creation of the
>  XML stream used to read the content of the response, and now it works
>  correctly.
>  I'll raise a JIRA and attach the changed code.
>
>  Regards
>  Gianfranco Boccalon
>
>
>  Guillaume Nodet ha scritto:
>
>
> > Everything happen in JbiInWsdl1Interceptor, in the servicemix-cxf-bc module.
>  > I would recommend setting a breakpoint there and debug.
>  >
>  > On Mon, Feb 25, 2008 at 1:51 PM, Gianfranco Boccalon
>  > <gb...@tiscali.it> wrote:
>  >
>  >> It should be compliant to the WSDL.
>  >>  Where on the code this check is performed ?
>  >>
>  >>  Guillaume Nodet ha scritto:
>  >>
>  >>
>  >>
>  >>> Is the response compliant with the WSDL description of you service ?
>  >>>
>  >>  > I think it might be of importance the component when building the response
>  >>  > with the JBI wrapper.
>  >>  >
>  >>  > On Mon, Feb 25, 2008 at 1:39 PM, Gianfranco Boccalon
>  >>  > <gb...@tiscali.it> wrote:
>  >>  >
>  >>  >> This is the response message produced by the CXF BC provider:
>  >>  >>
>  >>  >>  INFO  - SimpleExchangeListener         - InOnly[
>  >>  >>   id: ID:192.168.20.106-11850545062-2:1
>  >>  >>   status: Done
>  >>  >>   role: provider
>  >>  >>   service: {urn:eng:spagic:processes:mtom3:v0}mtom3.End4_v_0
>  >>  >>   endpoint: mtom3.End4_v_0
>  >>  >>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
>  >>  >>  xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"
>  >>  >>  xmlns:msg="urn:eng:spagic:processes:mtom3:v0"
>  >>  >>  name="ProvideAndRegisterDocumentSet-bResponse_Message"
>  >>  >>  type="msg:ProvideAndRegisterDocumentSet-bResponse_Message"
>  >>  >>  version="1.0"><jbi:part><wsa:Action
>  >>  >>  xmlns:wsa="http://www.w3.org/2005/08/addressing">urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action></jbi:part></jbi:message>
>  >>  >>  ]
>  >>  >>
>  >>  >>  and this is the response provided by the external web service (traced
>  >>  >>  with a TCP monitor):
>  >>  >>
>  >>  >>  HTTP/1.1 200 OK
>  >>  >>  Server: Apache-Coyote/1.1
>  >>  >>  Content-Type: application/soap+xml;
>  >>  >>  action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse";charset=UTF-8
>  >>  >>  Transfer-Encoding: chunked
>  >>  >>  Date: Mon, 25 Feb 2008 12:23:34 GMT
>  >>  >>
>  >>  >>  21b
>  >>  >>  <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
>  >>  >>  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
>  >>  >>  xmlns:wsa="http://www.w3.org/2005/08/addressing"><soapenv:Header><wsa:Action>urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action><wsa:RelatesTo>urn:uuid:138991F87C7A640C321203942221068</wsa:RelatesTo></soapenv:Header><soapenv:Body><rs:RegistryResponse
>  >>  >>  xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
>  >>  >>  status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"
>  >>  >>  /></soapenv:Body></soapenv:Envelope>
>  >>  >>  0
>  >>  >>
>  >>  >>
>  >>  >>
>  >>  >>
>  >>  >>  Freeman Fang ha scritto:
>  >>  >>
>  >>  >>
>  >>  >>
>  >>  >>> In the code of the CXF BC provider, we register the MessageObserver which
>  >>  >>>
>  >>  >>  > handle the response
>  >>  >>  >
>  >>  >>  > CxfBcProviderMessageObserver obs = new
>  >>  >>  > CxfBcProviderMessageObserver(exchange, this);
>  >>  >>  > conduit.setMessageObserver(obs);
>  >>  >>  >
>  >>  >>  > And [1] for more details about the CxfBcProviderMessageObserver.
>  >>  >>  >
>  >>  >>  > You mentioned you see the response jbi message produced by the cxf bc
>  >>  >>  > provider, but it doesn't contain the external webservice response, would you
>  >>  >>  > please
>  >>  >>  > append the jbi message you see, and if possible, append the soap message
>  >>  >>  > from external webservice as well.
>  >>  >>  >
>  >>  >>  > [1]http://svn.apache.org/repos/asf/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java
>  >>  >>  >
>  >>  >>  > Freeman
>  >>  >>  > On Mon, Feb 25, 2008 at 7:09 PM, Gianfranco Boccalon <gb...@tiscali.it>
>  >>  >>  > wrote:
>  >>  >>  >
>  >>  >>  >
>  >>  >>  >> I dont have any exception: I'm saying that the response message produced
>  >>  >>  >> by the CXF BC provider doesn't contain the response of the external web
>  >>  >>  >> service.
>  >>  >>  >> In the code of the CXF BC provider I dont see any line of code managing
>  >>  >>  >> the response of the Web service called, I see only the code about
>  >>  >>  >> sending the output stream of the HTTP request.
>  >>  >>  >>
>  >>  >>  >> I saw that in the HTTPConduit there is the method getBackChannel for
>  >>  >>  >> managing the response, but I dont found where it is used (may be it's
>  >>  >>  >> not used ?).
>  >>  >>  >>
>  >>  >>  >> Guillaume Nodet ha scritto:
>  >>  >>  >>
>  >>  >>  >>> I don't see why it would fail.
>  >>  >>  >>> Do you have any exceptions in the log ? Have you tried at DEBUG level
>  >>  >>  >>> (it sometimes change the behavior due to the logging of messages).
>  >>  >>  >>>
>  >>  >>  >>> On Mon, Feb 25, 2008 at 11:44 AM, Gianfranco Boccalon
>  >>  >>  >>> <gi...@eng.it> wrote:
>  >>  >>  >>>
>  >>  >>  >>>
>  >>  >>  >>>> Hi all,
>  >>  >>  >>>>  I'm using the CXF BC provider in a pipeline: the problem is that the
>  >>  >>  >>>>  response that I receive from the external web service is not included
>  >>  >>  >>>>
>  >>  >>  >> on
>  >>  >>  >>
>  >>  >>  >>>>  the response message of the CXF BC provider.
>  >>  >>  >>>>
>  >>  >>  >>>>  My SA is :
>  >>  >>  >>>>
>  >>  >>  >>>>  File Component -> EIP pipeline containing a CXF BC provider calling an
>  >>  >>  >>>>  external Web service -> Console output BC
>  >>  >>  >>>>
>  >>  >>  >>>>  The External web service is called without problems but I'm not able
>  >>  >>  >>>>
>  >>  >>  >> to
>  >>  >>  >>
>  >>  >>  >>>>  see its response on the console: I see the jbi:message produced by the
>  >>  >>  >>>>  CXF BC, but it doesn't contain the external web service response.
>  >>  >>  >>>>
>  >>  >>  >>>>  Any suggestion ?
>  >>  >>  >>>>
>  >>  >>  >>>>
>  >>  >>  >>>>
>  >>  >>  >>>
>  >>  >>  >>>
>  >>  >>  >>>
>  >>  >>  >>
>  >>  >>  >
>  >>  >>  >
>  >>  >>
>  >>  >>
>  >>  >>
>  >>  >
>  >>  >
>  >>  >
>  >>  >
>  >>
>  >>
>  >>
>  >
>  >
>  >
>  >
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Can the CXF BC provider be used in a pipeline ?

Posted by Gianfranco Boccalon <gb...@tiscali.it>.
Now it works.
There were 2 problems: one mine and the other of SMX.

1. My problem: I applied to the class CxfBcProviderMessageObserver the 
same patch about WSDL with only one operation, to avoid specifying the 
operation if it's not necessary.
The patch that I replicated is:
https://issues.apache.org/activemq/browse/SM-1225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
The problem was that I replicated the patch in the wrong way.

2. SMX problem: the problem was in the class 
CxfBcProviderMessageObserver. This class doesn't manage Soap 1.2 
responses because it uses only the JbiInWsdl1Interceptor, but it's the 
ReadHeadersInterceptor that changes the SoapMessage version attribute 
according to the content of the soap response.
In the current code the SoapMessage is created, and the default 
constructor set Soap 1.1 version.
This causes that the getBodyElement method of the class 
JbiInWsdl1Interceptor, doesn't work because it tries to retrieve the 
wrong body from the message.
I changed the CxfBcProviderMessageObserver adding some of the 
interceptors used in the CxfBcConsumer and changing the creation of the 
XML stream used to read the content of the response, and now it works 
correctly.
I'll raise a JIRA and attach the changed code.

Regards
Gianfranco Boccalon


Guillaume Nodet ha scritto:
> Everything happen in JbiInWsdl1Interceptor, in the servicemix-cxf-bc module.
> I would recommend setting a breakpoint there and debug.
>
> On Mon, Feb 25, 2008 at 1:51 PM, Gianfranco Boccalon
> <gb...@tiscali.it> wrote:
>   
>> It should be compliant to the WSDL.
>>  Where on the code this check is performed ?
>>
>>  Guillaume Nodet ha scritto:
>>
>>
>>     
>>> Is the response compliant with the WSDL description of you service ?
>>>       
>>  > I think it might be of importance the component when building the response
>>  > with the JBI wrapper.
>>  >
>>  > On Mon, Feb 25, 2008 at 1:39 PM, Gianfranco Boccalon
>>  > <gb...@tiscali.it> wrote:
>>  >
>>  >> This is the response message produced by the CXF BC provider:
>>  >>
>>  >>  INFO  - SimpleExchangeListener         - InOnly[
>>  >>   id: ID:192.168.20.106-11850545062-2:1
>>  >>   status: Done
>>  >>   role: provider
>>  >>   service: {urn:eng:spagic:processes:mtom3:v0}mtom3.End4_v_0
>>  >>   endpoint: mtom3.End4_v_0
>>  >>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
>>  >>  xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"
>>  >>  xmlns:msg="urn:eng:spagic:processes:mtom3:v0"
>>  >>  name="ProvideAndRegisterDocumentSet-bResponse_Message"
>>  >>  type="msg:ProvideAndRegisterDocumentSet-bResponse_Message"
>>  >>  version="1.0"><jbi:part><wsa:Action
>>  >>  xmlns:wsa="http://www.w3.org/2005/08/addressing">urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action></jbi:part></jbi:message>
>>  >>  ]
>>  >>
>>  >>  and this is the response provided by the external web service (traced
>>  >>  with a TCP monitor):
>>  >>
>>  >>  HTTP/1.1 200 OK
>>  >>  Server: Apache-Coyote/1.1
>>  >>  Content-Type: application/soap+xml;
>>  >>  action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse";charset=UTF-8
>>  >>  Transfer-Encoding: chunked
>>  >>  Date: Mon, 25 Feb 2008 12:23:34 GMT
>>  >>
>>  >>  21b
>>  >>  <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
>>  >>  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
>>  >>  xmlns:wsa="http://www.w3.org/2005/08/addressing"><soapenv:Header><wsa:Action>urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action><wsa:RelatesTo>urn:uuid:138991F87C7A640C321203942221068</wsa:RelatesTo></soapenv:Header><soapenv:Body><rs:RegistryResponse
>>  >>  xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
>>  >>  status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"
>>  >>  /></soapenv:Body></soapenv:Envelope>
>>  >>  0
>>  >>
>>  >>
>>  >>
>>  >>
>>  >>  Freeman Fang ha scritto:
>>  >>
>>  >>
>>  >>
>>  >>> In the code of the CXF BC provider, we register the MessageObserver which
>>  >>>
>>  >>  > handle the response
>>  >>  >
>>  >>  > CxfBcProviderMessageObserver obs = new
>>  >>  > CxfBcProviderMessageObserver(exchange, this);
>>  >>  > conduit.setMessageObserver(obs);
>>  >>  >
>>  >>  > And [1] for more details about the CxfBcProviderMessageObserver.
>>  >>  >
>>  >>  > You mentioned you see the response jbi message produced by the cxf bc
>>  >>  > provider, but it doesn't contain the external webservice response, would you
>>  >>  > please
>>  >>  > append the jbi message you see, and if possible, append the soap message
>>  >>  > from external webservice as well.
>>  >>  >
>>  >>  > [1]http://svn.apache.org/repos/asf/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java
>>  >>  >
>>  >>  > Freeman
>>  >>  > On Mon, Feb 25, 2008 at 7:09 PM, Gianfranco Boccalon <gb...@tiscali.it>
>>  >>  > wrote:
>>  >>  >
>>  >>  >
>>  >>  >> I dont have any exception: I'm saying that the response message produced
>>  >>  >> by the CXF BC provider doesn't contain the response of the external web
>>  >>  >> service.
>>  >>  >> In the code of the CXF BC provider I dont see any line of code managing
>>  >>  >> the response of the Web service called, I see only the code about
>>  >>  >> sending the output stream of the HTTP request.
>>  >>  >>
>>  >>  >> I saw that in the HTTPConduit there is the method getBackChannel for
>>  >>  >> managing the response, but I dont found where it is used (may be it's
>>  >>  >> not used ?).
>>  >>  >>
>>  >>  >> Guillaume Nodet ha scritto:
>>  >>  >>
>>  >>  >>> I don't see why it would fail.
>>  >>  >>> Do you have any exceptions in the log ? Have you tried at DEBUG level
>>  >>  >>> (it sometimes change the behavior due to the logging of messages).
>>  >>  >>>
>>  >>  >>> On Mon, Feb 25, 2008 at 11:44 AM, Gianfranco Boccalon
>>  >>  >>> <gi...@eng.it> wrote:
>>  >>  >>>
>>  >>  >>>
>>  >>  >>>> Hi all,
>>  >>  >>>>  I'm using the CXF BC provider in a pipeline: the problem is that the
>>  >>  >>>>  response that I receive from the external web service is not included
>>  >>  >>>>
>>  >>  >> on
>>  >>  >>
>>  >>  >>>>  the response message of the CXF BC provider.
>>  >>  >>>>
>>  >>  >>>>  My SA is :
>>  >>  >>>>
>>  >>  >>>>  File Component -> EIP pipeline containing a CXF BC provider calling an
>>  >>  >>>>  external Web service -> Console output BC
>>  >>  >>>>
>>  >>  >>>>  The External web service is called without problems but I'm not able
>>  >>  >>>>
>>  >>  >> to
>>  >>  >>
>>  >>  >>>>  see its response on the console: I see the jbi:message produced by the
>>  >>  >>>>  CXF BC, but it doesn't contain the external web service response.
>>  >>  >>>>
>>  >>  >>>>  Any suggestion ?
>>  >>  >>>>
>>  >>  >>>>
>>  >>  >>>>
>>  >>  >>>
>>  >>  >>>
>>  >>  >>>
>>  >>  >>
>>  >>  >
>>  >>  >
>>  >>
>>  >>
>>  >>
>>  >
>>  >
>>  >
>>  >
>>
>>
>>     
>
>
>
>   


Re: Can the CXF BC provider be used in a pipeline ?

Posted by Guillaume Nodet <gn...@gmail.com>.
Everything happen in JbiInWsdl1Interceptor, in the servicemix-cxf-bc module.
I would recommend setting a breakpoint there and debug.

On Mon, Feb 25, 2008 at 1:51 PM, Gianfranco Boccalon
<gb...@tiscali.it> wrote:
> It should be compliant to the WSDL.
>  Where on the code this check is performed ?
>
>  Guillaume Nodet ha scritto:
>
>
> > Is the response compliant with the WSDL description of you service ?
>  > I think it might be of importance the component when building the response
>  > with the JBI wrapper.
>  >
>  > On Mon, Feb 25, 2008 at 1:39 PM, Gianfranco Boccalon
>  > <gb...@tiscali.it> wrote:
>  >
>  >> This is the response message produced by the CXF BC provider:
>  >>
>  >>  INFO  - SimpleExchangeListener         - InOnly[
>  >>   id: ID:192.168.20.106-11850545062-2:1
>  >>   status: Done
>  >>   role: provider
>  >>   service: {urn:eng:spagic:processes:mtom3:v0}mtom3.End4_v_0
>  >>   endpoint: mtom3.End4_v_0
>  >>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
>  >>  xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"
>  >>  xmlns:msg="urn:eng:spagic:processes:mtom3:v0"
>  >>  name="ProvideAndRegisterDocumentSet-bResponse_Message"
>  >>  type="msg:ProvideAndRegisterDocumentSet-bResponse_Message"
>  >>  version="1.0"><jbi:part><wsa:Action
>  >>  xmlns:wsa="http://www.w3.org/2005/08/addressing">urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action></jbi:part></jbi:message>
>  >>  ]
>  >>
>  >>  and this is the response provided by the external web service (traced
>  >>  with a TCP monitor):
>  >>
>  >>  HTTP/1.1 200 OK
>  >>  Server: Apache-Coyote/1.1
>  >>  Content-Type: application/soap+xml;
>  >>  action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse";charset=UTF-8
>  >>  Transfer-Encoding: chunked
>  >>  Date: Mon, 25 Feb 2008 12:23:34 GMT
>  >>
>  >>  21b
>  >>  <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
>  >>  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
>  >>  xmlns:wsa="http://www.w3.org/2005/08/addressing"><soapenv:Header><wsa:Action>urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action><wsa:RelatesTo>urn:uuid:138991F87C7A640C321203942221068</wsa:RelatesTo></soapenv:Header><soapenv:Body><rs:RegistryResponse
>  >>  xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
>  >>  status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"
>  >>  /></soapenv:Body></soapenv:Envelope>
>  >>  0
>  >>
>  >>
>  >>
>  >>
>  >>  Freeman Fang ha scritto:
>  >>
>  >>
>  >>
>  >>> In the code of the CXF BC provider, we register the MessageObserver which
>  >>>
>  >>  > handle the response
>  >>  >
>  >>  > CxfBcProviderMessageObserver obs = new
>  >>  > CxfBcProviderMessageObserver(exchange, this);
>  >>  > conduit.setMessageObserver(obs);
>  >>  >
>  >>  > And [1] for more details about the CxfBcProviderMessageObserver.
>  >>  >
>  >>  > You mentioned you see the response jbi message produced by the cxf bc
>  >>  > provider, but it doesn't contain the external webservice response, would you
>  >>  > please
>  >>  > append the jbi message you see, and if possible, append the soap message
>  >>  > from external webservice as well.
>  >>  >
>  >>  > [1]http://svn.apache.org/repos/asf/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java
>  >>  >
>  >>  > Freeman
>  >>  > On Mon, Feb 25, 2008 at 7:09 PM, Gianfranco Boccalon <gb...@tiscali.it>
>  >>  > wrote:
>  >>  >
>  >>  >
>  >>  >> I dont have any exception: I'm saying that the response message produced
>  >>  >> by the CXF BC provider doesn't contain the response of the external web
>  >>  >> service.
>  >>  >> In the code of the CXF BC provider I dont see any line of code managing
>  >>  >> the response of the Web service called, I see only the code about
>  >>  >> sending the output stream of the HTTP request.
>  >>  >>
>  >>  >> I saw that in the HTTPConduit there is the method getBackChannel for
>  >>  >> managing the response, but I dont found where it is used (may be it's
>  >>  >> not used ?).
>  >>  >>
>  >>  >> Guillaume Nodet ha scritto:
>  >>  >>
>  >>  >>> I don't see why it would fail.
>  >>  >>> Do you have any exceptions in the log ? Have you tried at DEBUG level
>  >>  >>> (it sometimes change the behavior due to the logging of messages).
>  >>  >>>
>  >>  >>> On Mon, Feb 25, 2008 at 11:44 AM, Gianfranco Boccalon
>  >>  >>> <gi...@eng.it> wrote:
>  >>  >>>
>  >>  >>>
>  >>  >>>> Hi all,
>  >>  >>>>  I'm using the CXF BC provider in a pipeline: the problem is that the
>  >>  >>>>  response that I receive from the external web service is not included
>  >>  >>>>
>  >>  >> on
>  >>  >>
>  >>  >>>>  the response message of the CXF BC provider.
>  >>  >>>>
>  >>  >>>>  My SA is :
>  >>  >>>>
>  >>  >>>>  File Component -> EIP pipeline containing a CXF BC provider calling an
>  >>  >>>>  external Web service -> Console output BC
>  >>  >>>>
>  >>  >>>>  The External web service is called without problems but I'm not able
>  >>  >>>>
>  >>  >> to
>  >>  >>
>  >>  >>>>  see its response on the console: I see the jbi:message produced by the
>  >>  >>>>  CXF BC, but it doesn't contain the external web service response.
>  >>  >>>>
>  >>  >>>>  Any suggestion ?
>  >>  >>>>
>  >>  >>>>
>  >>  >>>>
>  >>  >>>
>  >>  >>>
>  >>  >>>
>  >>  >>
>  >>  >
>  >>  >
>  >>
>  >>
>  >>
>  >
>  >
>  >
>  >
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Can the CXF BC provider be used in a pipeline ?

Posted by Gianfranco Boccalon <gb...@tiscali.it>.
It should be compliant to the WSDL.
Where on the code this check is performed ?

Guillaume Nodet ha scritto:
> Is the response compliant with the WSDL description of you service ?
> I think it might be of importance the component when building the response
> with the JBI wrapper.
>
> On Mon, Feb 25, 2008 at 1:39 PM, Gianfranco Boccalon
> <gb...@tiscali.it> wrote:
>   
>> This is the response message produced by the CXF BC provider:
>>
>>  INFO  - SimpleExchangeListener         - InOnly[
>>   id: ID:192.168.20.106-11850545062-2:1
>>   status: Done
>>   role: provider
>>   service: {urn:eng:spagic:processes:mtom3:v0}mtom3.End4_v_0
>>   endpoint: mtom3.End4_v_0
>>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
>>  xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"
>>  xmlns:msg="urn:eng:spagic:processes:mtom3:v0"
>>  name="ProvideAndRegisterDocumentSet-bResponse_Message"
>>  type="msg:ProvideAndRegisterDocumentSet-bResponse_Message"
>>  version="1.0"><jbi:part><wsa:Action
>>  xmlns:wsa="http://www.w3.org/2005/08/addressing">urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action></jbi:part></jbi:message>
>>  ]
>>
>>  and this is the response provided by the external web service (traced
>>  with a TCP monitor):
>>
>>  HTTP/1.1 200 OK
>>  Server: Apache-Coyote/1.1
>>  Content-Type: application/soap+xml;
>>  action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse";charset=UTF-8
>>  Transfer-Encoding: chunked
>>  Date: Mon, 25 Feb 2008 12:23:34 GMT
>>
>>  21b
>>  <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
>>  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
>>  xmlns:wsa="http://www.w3.org/2005/08/addressing"><soapenv:Header><wsa:Action>urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action><wsa:RelatesTo>urn:uuid:138991F87C7A640C321203942221068</wsa:RelatesTo></soapenv:Header><soapenv:Body><rs:RegistryResponse
>>  xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
>>  status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"
>>  /></soapenv:Body></soapenv:Envelope>
>>  0
>>
>>
>>
>>
>>  Freeman Fang ha scritto:
>>
>>
>>     
>>> In the code of the CXF BC provider, we register the MessageObserver which
>>>       
>>  > handle the response
>>  >
>>  > CxfBcProviderMessageObserver obs = new
>>  > CxfBcProviderMessageObserver(exchange, this);
>>  > conduit.setMessageObserver(obs);
>>  >
>>  > And [1] for more details about the CxfBcProviderMessageObserver.
>>  >
>>  > You mentioned you see the response jbi message produced by the cxf bc
>>  > provider, but it doesn't contain the external webservice response, would you
>>  > please
>>  > append the jbi message you see, and if possible, append the soap message
>>  > from external webservice as well.
>>  >
>>  > [1]http://svn.apache.org/repos/asf/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java
>>  >
>>  > Freeman
>>  > On Mon, Feb 25, 2008 at 7:09 PM, Gianfranco Boccalon <gb...@tiscali.it>
>>  > wrote:
>>  >
>>  >
>>  >> I dont have any exception: I'm saying that the response message produced
>>  >> by the CXF BC provider doesn't contain the response of the external web
>>  >> service.
>>  >> In the code of the CXF BC provider I dont see any line of code managing
>>  >> the response of the Web service called, I see only the code about
>>  >> sending the output stream of the HTTP request.
>>  >>
>>  >> I saw that in the HTTPConduit there is the method getBackChannel for
>>  >> managing the response, but I dont found where it is used (may be it's
>>  >> not used ?).
>>  >>
>>  >> Guillaume Nodet ha scritto:
>>  >>
>>  >>> I don't see why it would fail.
>>  >>> Do you have any exceptions in the log ? Have you tried at DEBUG level
>>  >>> (it sometimes change the behavior due to the logging of messages).
>>  >>>
>>  >>> On Mon, Feb 25, 2008 at 11:44 AM, Gianfranco Boccalon
>>  >>> <gi...@eng.it> wrote:
>>  >>>
>>  >>>
>>  >>>> Hi all,
>>  >>>>  I'm using the CXF BC provider in a pipeline: the problem is that the
>>  >>>>  response that I receive from the external web service is not included
>>  >>>>
>>  >> on
>>  >>
>>  >>>>  the response message of the CXF BC provider.
>>  >>>>
>>  >>>>  My SA is :
>>  >>>>
>>  >>>>  File Component -> EIP pipeline containing a CXF BC provider calling an
>>  >>>>  external Web service -> Console output BC
>>  >>>>
>>  >>>>  The External web service is called without problems but I'm not able
>>  >>>>
>>  >> to
>>  >>
>>  >>>>  see its response on the console: I see the jbi:message produced by the
>>  >>>>  CXF BC, but it doesn't contain the external web service response.
>>  >>>>
>>  >>>>  Any suggestion ?
>>  >>>>
>>  >>>>
>>  >>>>
>>  >>>
>>  >>>
>>  >>>
>>  >>
>>  >
>>  >
>>
>>
>>     
>
>
>
>   


Re: Can the CXF BC provider be used in a pipeline ?

Posted by Guillaume Nodet <gn...@gmail.com>.
Is the response compliant with the WSDL description of you service ?
I think it might be of importance the component when building the response
with the JBI wrapper.

On Mon, Feb 25, 2008 at 1:39 PM, Gianfranco Boccalon
<gb...@tiscali.it> wrote:
> This is the response message produced by the CXF BC provider:
>
>  INFO  - SimpleExchangeListener         - InOnly[
>   id: ID:192.168.20.106-11850545062-2:1
>   status: Done
>   role: provider
>   service: {urn:eng:spagic:processes:mtom3:v0}mtom3.End4_v_0
>   endpoint: mtom3.End4_v_0
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
>  xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"
>  xmlns:msg="urn:eng:spagic:processes:mtom3:v0"
>  name="ProvideAndRegisterDocumentSet-bResponse_Message"
>  type="msg:ProvideAndRegisterDocumentSet-bResponse_Message"
>  version="1.0"><jbi:part><wsa:Action
>  xmlns:wsa="http://www.w3.org/2005/08/addressing">urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action></jbi:part></jbi:message>
>  ]
>
>  and this is the response provided by the external web service (traced
>  with a TCP monitor):
>
>  HTTP/1.1 200 OK
>  Server: Apache-Coyote/1.1
>  Content-Type: application/soap+xml;
>  action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse";charset=UTF-8
>  Transfer-Encoding: chunked
>  Date: Mon, 25 Feb 2008 12:23:34 GMT
>
>  21b
>  <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
>  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
>  xmlns:wsa="http://www.w3.org/2005/08/addressing"><soapenv:Header><wsa:Action>urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action><wsa:RelatesTo>urn:uuid:138991F87C7A640C321203942221068</wsa:RelatesTo></soapenv:Header><soapenv:Body><rs:RegistryResponse
>  xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
>  status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success"
>  /></soapenv:Body></soapenv:Envelope>
>  0
>
>
>
>
>  Freeman Fang ha scritto:
>
>
> > In the code of the CXF BC provider, we register the MessageObserver which
>  > handle the response
>  >
>  > CxfBcProviderMessageObserver obs = new
>  > CxfBcProviderMessageObserver(exchange, this);
>  > conduit.setMessageObserver(obs);
>  >
>  > And [1] for more details about the CxfBcProviderMessageObserver.
>  >
>  > You mentioned you see the response jbi message produced by the cxf bc
>  > provider, but it doesn't contain the external webservice response, would you
>  > please
>  > append the jbi message you see, and if possible, append the soap message
>  > from external webservice as well.
>  >
>  > [1]http://svn.apache.org/repos/asf/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java
>  >
>  > Freeman
>  > On Mon, Feb 25, 2008 at 7:09 PM, Gianfranco Boccalon <gb...@tiscali.it>
>  > wrote:
>  >
>  >
>  >> I dont have any exception: I'm saying that the response message produced
>  >> by the CXF BC provider doesn't contain the response of the external web
>  >> service.
>  >> In the code of the CXF BC provider I dont see any line of code managing
>  >> the response of the Web service called, I see only the code about
>  >> sending the output stream of the HTTP request.
>  >>
>  >> I saw that in the HTTPConduit there is the method getBackChannel for
>  >> managing the response, but I dont found where it is used (may be it's
>  >> not used ?).
>  >>
>  >> Guillaume Nodet ha scritto:
>  >>
>  >>> I don't see why it would fail.
>  >>> Do you have any exceptions in the log ? Have you tried at DEBUG level
>  >>> (it sometimes change the behavior due to the logging of messages).
>  >>>
>  >>> On Mon, Feb 25, 2008 at 11:44 AM, Gianfranco Boccalon
>  >>> <gi...@eng.it> wrote:
>  >>>
>  >>>
>  >>>> Hi all,
>  >>>>  I'm using the CXF BC provider in a pipeline: the problem is that the
>  >>>>  response that I receive from the external web service is not included
>  >>>>
>  >> on
>  >>
>  >>>>  the response message of the CXF BC provider.
>  >>>>
>  >>>>  My SA is :
>  >>>>
>  >>>>  File Component -> EIP pipeline containing a CXF BC provider calling an
>  >>>>  external Web service -> Console output BC
>  >>>>
>  >>>>  The External web service is called without problems but I'm not able
>  >>>>
>  >> to
>  >>
>  >>>>  see its response on the console: I see the jbi:message produced by the
>  >>>>  CXF BC, but it doesn't contain the external web service response.
>  >>>>
>  >>>>  Any suggestion ?
>  >>>>
>  >>>>
>  >>>>
>  >>>
>  >>>
>  >>>
>  >>
>  >
>  >
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Can the CXF BC provider be used in a pipeline ?

Posted by Gianfranco Boccalon <gb...@tiscali.it>.
This is the response message produced by the CXF BC provider:

INFO  - SimpleExchangeListener         - InOnly[
  id: ID:192.168.20.106-11850545062-2:1
  status: Done
  role: provider
  service: {urn:eng:spagic:processes:mtom3:v0}mtom3.End4_v_0
  endpoint: mtom3.End4_v_0
  in: <?xml version="1.0" encoding="UTF-8"?><jbi:message 
xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" 
xmlns:msg="urn:eng:spagic:processes:mtom3:v0" 
name="ProvideAndRegisterDocumentSet-bResponse_Message" 
type="msg:ProvideAndRegisterDocumentSet-bResponse_Message" 
version="1.0"><jbi:part><wsa:Action 
xmlns:wsa="http://www.w3.org/2005/08/addressing">urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action></jbi:part></jbi:message>
]

and this is the response provided by the external web service (traced 
with a TCP monitor):

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/soap+xml; 
action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse";charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 25 Feb 2008 12:23:34 GMT

21b
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope 
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" 
xmlns:wsa="http://www.w3.org/2005/08/addressing"><soapenv:Header><wsa:Action>urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse</wsa:Action><wsa:RelatesTo>urn:uuid:138991F87C7A640C321203942221068</wsa:RelatesTo></soapenv:Header><soapenv:Body><rs:RegistryResponse 
xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" 
status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success" 
/></soapenv:Body></soapenv:Envelope>
0




Freeman Fang ha scritto:
> In the code of the CXF BC provider, we register the MessageObserver which
> handle the response
>
> CxfBcProviderMessageObserver obs = new
> CxfBcProviderMessageObserver(exchange, this);
> conduit.setMessageObserver(obs);
>
> And [1] for more details about the CxfBcProviderMessageObserver.
>
> You mentioned you see the response jbi message produced by the cxf bc
> provider, but it doesn't contain the external webservice response, would you
> please
> append the jbi message you see, and if possible, append the soap message
> from external webservice as well.
>
> [1]http://svn.apache.org/repos/asf/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java
>
> Freeman
> On Mon, Feb 25, 2008 at 7:09 PM, Gianfranco Boccalon <gb...@tiscali.it>
> wrote:
>
>   
>> I dont have any exception: I'm saying that the response message produced
>> by the CXF BC provider doesn't contain the response of the external web
>> service.
>> In the code of the CXF BC provider I dont see any line of code managing
>> the response of the Web service called, I see only the code about
>> sending the output stream of the HTTP request.
>>
>> I saw that in the HTTPConduit there is the method getBackChannel for
>> managing the response, but I dont found where it is used (may be it's
>> not used ?).
>>
>> Guillaume Nodet ha scritto:
>>     
>>> I don't see why it would fail.
>>> Do you have any exceptions in the log ? Have you tried at DEBUG level
>>> (it sometimes change the behavior due to the logging of messages).
>>>
>>> On Mon, Feb 25, 2008 at 11:44 AM, Gianfranco Boccalon
>>> <gi...@eng.it> wrote:
>>>
>>>       
>>>> Hi all,
>>>>  I'm using the CXF BC provider in a pipeline: the problem is that the
>>>>  response that I receive from the external web service is not included
>>>>         
>> on
>>     
>>>>  the response message of the CXF BC provider.
>>>>
>>>>  My SA is :
>>>>
>>>>  File Component -> EIP pipeline containing a CXF BC provider calling an
>>>>  external Web service -> Console output BC
>>>>
>>>>  The External web service is called without problems but I'm not able
>>>>         
>> to
>>     
>>>>  see its response on the console: I see the jbi:message produced by the
>>>>  CXF BC, but it doesn't contain the external web service response.
>>>>
>>>>  Any suggestion ?
>>>>
>>>>
>>>>         
>>>
>>>
>>>       
>>     
>
>   


Re: Can the CXF BC provider be used in a pipeline ?

Posted by Freeman Fang <fr...@gmail.com>.
In the code of the CXF BC provider, we register the MessageObserver which
handle the response

CxfBcProviderMessageObserver obs = new
CxfBcProviderMessageObserver(exchange, this);
conduit.setMessageObserver(obs);

And [1] for more details about the CxfBcProviderMessageObserver.

You mentioned you see the response jbi message produced by the cxf bc
provider, but it doesn't contain the external webservice response, would you
please
append the jbi message you see, and if possible, append the soap message
from external webservice as well.

[1]http://svn.apache.org/repos/asf/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java

Freeman
On Mon, Feb 25, 2008 at 7:09 PM, Gianfranco Boccalon <gb...@tiscali.it>
wrote:

> I dont have any exception: I'm saying that the response message produced
> by the CXF BC provider doesn't contain the response of the external web
> service.
> In the code of the CXF BC provider I dont see any line of code managing
> the response of the Web service called, I see only the code about
> sending the output stream of the HTTP request.
>
> I saw that in the HTTPConduit there is the method getBackChannel for
> managing the response, but I dont found where it is used (may be it's
> not used ?).
>
> Guillaume Nodet ha scritto:
> > I don't see why it would fail.
> > Do you have any exceptions in the log ? Have you tried at DEBUG level
> > (it sometimes change the behavior due to the logging of messages).
> >
> > On Mon, Feb 25, 2008 at 11:44 AM, Gianfranco Boccalon
> > <gi...@eng.it> wrote:
> >
> >> Hi all,
> >>  I'm using the CXF BC provider in a pipeline: the problem is that the
> >>  response that I receive from the external web service is not included
> on
> >>  the response message of the CXF BC provider.
> >>
> >>  My SA is :
> >>
> >>  File Component -> EIP pipeline containing a CXF BC provider calling an
> >>  external Web service -> Console output BC
> >>
> >>  The External web service is called without problems but I'm not able
> to
> >>  see its response on the console: I see the jbi:message produced by the
> >>  CXF BC, but it doesn't contain the external web service response.
> >>
> >>  Any suggestion ?
> >>
> >>
> >
> >
> >
> >
>
>

Re: Can the CXF BC provider be used in a pipeline ?

Posted by Gianfranco Boccalon <gb...@tiscali.it>.
I dont have any exception: I'm saying that the response message produced 
by the CXF BC provider doesn't contain the response of the external web 
service.
In the code of the CXF BC provider I dont see any line of code managing 
the response of the Web service called, I see only the code about 
sending the output stream of the HTTP request.

I saw that in the HTTPConduit there is the method getBackChannel for 
managing the response, but I dont found where it is used (may be it's 
not used ?).

Guillaume Nodet ha scritto:
> I don't see why it would fail.
> Do you have any exceptions in the log ? Have you tried at DEBUG level
> (it sometimes change the behavior due to the logging of messages).
>
> On Mon, Feb 25, 2008 at 11:44 AM, Gianfranco Boccalon
> <gi...@eng.it> wrote:
>   
>> Hi all,
>>  I'm using the CXF BC provider in a pipeline: the problem is that the
>>  response that I receive from the external web service is not included on
>>  the response message of the CXF BC provider.
>>
>>  My SA is :
>>
>>  File Component -> EIP pipeline containing a CXF BC provider calling an
>>  external Web service -> Console output BC
>>
>>  The External web service is called without problems but I'm not able to
>>  see its response on the console: I see the jbi:message produced by the
>>  CXF BC, but it doesn't contain the external web service response.
>>
>>  Any suggestion ?
>>
>>     
>
>
>
>   


Re: Can the CXF BC provider be used in a pipeline ?

Posted by Guillaume Nodet <gn...@gmail.com>.
I don't see why it would fail.
Do you have any exceptions in the log ? Have you tried at DEBUG level
(it sometimes change the behavior due to the logging of messages).

On Mon, Feb 25, 2008 at 11:44 AM, Gianfranco Boccalon
<gi...@eng.it> wrote:
> Hi all,
>  I'm using the CXF BC provider in a pipeline: the problem is that the
>  response that I receive from the external web service is not included on
>  the response message of the CXF BC provider.
>
>  My SA is :
>
>  File Component -> EIP pipeline containing a CXF BC provider calling an
>  external Web service -> Console output BC
>
>  The External web service is called without problems but I'm not able to
>  see its response on the console: I see the jbi:message produced by the
>  CXF BC, but it doesn't contain the external web service response.
>
>  Any suggestion ?
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/