You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Jean-Louis MONTEIRO <je...@atosorigin.com> on 2008/12/11 17:13:28 UTC

Re: WS and MTOM

Dain,

a jira has been created: OPENEJB-972
The bug still exists for ejbModule.

A patch is available if you need such ;-)

Jean-Louis


Dain Sundstrom wrote:
> 
> Here is the code I added to WsDeployer.
> 
>      if  
> (SOAPBinding 
> .SOAP12HTTP_MTOM_BINDING.equals(portComponent.getProtocolBinding()) ||
>               
> SOAPBinding 
> .SOAP11HTTP_MTOM_BINDING.equals(portComponent.getProtocolBinding())) {
>          portComponent.setEnableMtom(true);
>      }
> 
> If you can, please give it a try and let me know if it works for you.
> 
> -dain
> 
> On Sep 12, 2008, at 1:14 PM, Dain Sundstrom wrote:
> 
>> I was really wondering if we could write a JUnit test to assure this  
>> issue doesn't regress sometime in the future.
>>
>> Regardless, I'll make the change you suggested later today.
>>
>> -dain
>>
>> On Sep 11, 2008, at 11:47 PM, Jean-Louis MONTEIRO wrote:
>>
>>>
>>> Hi Dain,
>>>
>>> I activated logs and here is what I get when calling a method  
>>> having this
>>> declaration :
>>>
>>> public DataHandler getFakeHandler() {
>>>     DataSource source = new
>>> ByteArrayDataSource("tsztelak@gmail.com".getBytes(), "text/plain;
>>> charset=UTF-8");
>>>     return new DataHandler(source);
>>> }
>>>
>>> 1°) With the old openejb-cxf.jar:
>>>
>>> Encoding: UTF-8
>>> Headers: {Date=[Thu, 11 Sep 2008 16:47:32 GMT], SOAPAction=[""],
>>> transfer-encoding=[chunked], Server=[Apache-Coyote/1.1],
>>> content-type=[text/xml;charset=UTF-8]}
>>> Messages:
>>> Message:
>>>
>>> Payload: <soap:Envelope
>>> xmlns:soap="http://schemas.xmlsoap.org/soap/ 
>>> envelope/"><soap:Body><ns1:getFakeHandlerResponse
>>> xmlns:ns1="http:// 
>>> cdlibrary.training/"><return>dHN6dGVsYWtAZ21haWwuY29t</return></ 
>>> ns1:getFakeHandlerResponse></soap:Body></soap:Envelope>
>>> --------------------------------------
>>>
>>>
>>> 2°) With my modification:
>>>
>>> ------=_Part_0_4958072.1221150512336
>>> Content-Type: application/xop+xml; charset=UTF-8;
>>> type="application/soap+xml; charset=UTF-8"
>>> Content-Transfer-Encoding: binary
>>> Content-ID: <ro...@cxf.apache.org>
>>>
>>> <soap:Envelope
>>> xmlns:soap="http://www.w3.org/2003/05/soap- 
>>> envelope"><soap:Body><ns1:getFakeHandlerResponse
>>> xmlns:ns1="http://cdlibrary.training/"><return><xop:Include
>>> xmlns:xop="http://www.w3.org/2004/08/xop/include"
>>> href="cid:c8f4425a-1518-4c82-a0e5-e550f98b22d0@http%3A%2F%2Fcxf.apache.org%2F 
>>> "/></return></ns1:getFakeHandlerResponse></soap:Body></soap:Envelope>
>>> ------=_Part_0_4958072.1221150512336
>>> Content-Type: text/plain; charset=UTF-8
>>> Content-Transfer-Encoding: binary
>>> Content-ID:
>>> c8f4425a-1518-4c82-a0e5-e550f98b22d0@http%3A%2F%2Fcxf.apache.org%2F
>>>
>>>
>>> As you can see, when MTOM is activated, the message is split up.
>>>
>>>
>>> Regards,
>>>
>>>
>>> Dain Sundstrom wrote:
>>>>
>>>> On Sep 9, 2008, at 1:00 PM, David Blevins wrote:
>>>>
>>>>> On Sep 8, 2008, at 6:36 AM, Monteiro Jean-Louis wrote:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> With OpenEJB 3.0, it seems MTOM is never activated when I try a  
>>>>>> get
>>>>>> an object from a web service.
>>>>>>
>>>>>> - I added the following line at the top of my web service
>>>>>> implementation :
>>>>>> @BindingType(value = SOAPBinding.SOAP12HTTP_MTOM_BINDING)
>>>>>>
>>>>>> - Here is my method:
>>>>>> public DataHandler getFakeHandler() {
>>>>>>         DataSource source = new
>>>>>> ByteArrayDataSource("tsztelak@gmail.com
>>>>>> <ma...@gmail.com>".getBytes(), "text/plain;
>>>>>> charset=UTF-8");
>>>>>>         return new DataHandler(source);
>>>>>> }
>>>>>>
>>>>>> - In debug mode, in org.apache.openejb.server.cxf.CxfEndPoint:
>>>>>> if (getBinding() instanceof SOAPBinding) {
>>>>>>         ((SOAPBinding)
>>>>>> getBinding()).setMTOMEnabled(port.isMtomEnabled());
>>>>>>
>>>>>> port.isMtomEnabled is always false.
>>>>>>
>>>>>>
>>>>>> I think a slight modification is needed inside
>>>>>> org.apache.openejb.config.WsDeployer. Something like:
>>>>>>
>>>>>> //set mtom
>>>>>> portComponent.setEnableMtom(JaxWsUtils.isMtomBinding(ejbClass));
>>>>>>
>>>>>> Has anybody had this problem ?
>>>>>>
>>>>>> If so, I can provide a fix, I already have something working.
>>>>>
>>>>> Not entirely my area of expertise, but it seems reasonable to me.
>>>>
>>>> That seems correct to me.  Is there a way to write a test that  
>>>> MTOM is
>>>> actually being used?
>>>>
>>>> -dain
>>>>
>>>>
>>>
>>> -- 
>>> View this message in context:
>>> http://www.nabble.com/WS-and-MTOM-tp19372229p19450449.html
>>> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>>>
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/WS-and-MTOM-tp19372229p20958600.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.


Re: WS and MTOM

Posted by David Blevins <da...@visi.com>.
Committed!  Thanks, Jean-Louis!

-David

On Feb 23, 2009, at 3:09 AM, Jean-Louis MONTEIRO wrote:

>
> Hi All,
>
> Can somebody make it committed ?
>
> Thanks in advance.
> JLouis
>
>
> Jean-Louis MONTEIRO wrote:
>>
>> Dain,
>>
>> a jira has been created: OPENEJB-972
>> The bug still exists for ejbModule.
>>
>> A patch is available if you need such ;-)
>>
>> Jean-Louis
>>
>>
>> Dain Sundstrom wrote:
>>>
>>> Here is the code I added to WsDeployer.
>>>
>>>     if
>>> (SOAPBinding
>>> .SOAP12HTTP_MTOM_BINDING
>>> .equals(portComponent.getProtocolBinding()) ||
>>>
>>> SOAPBinding
>>> .SOAP11HTTP_MTOM_BINDING
>>> .equals(portComponent.getProtocolBinding())) {
>>>         portComponent.setEnableMtom(true);
>>>     }
>>>
>>> If you can, please give it a try and let me know if it works for  
>>> you.
>>>
>>> -dain
>>>
>>> On Sep 12, 2008, at 1:14 PM, Dain Sundstrom wrote:
>>>
>>>> I was really wondering if we could write a JUnit test to assure  
>>>> this
>>>> issue doesn't regress sometime in the future.
>>>>
>>>> Regardless, I'll make the change you suggested later today.
>>>>
>>>> -dain
>>>>
>>>> On Sep 11, 2008, at 11:47 PM, Jean-Louis MONTEIRO wrote:
>>>>
>>>>>
>>>>> Hi Dain,
>>>>>
>>>>> I activated logs and here is what I get when calling a method
>>>>> having this
>>>>> declaration :
>>>>>
>>>>> public DataHandler getFakeHandler() {
>>>>>    DataSource source = new
>>>>> ByteArrayDataSource("tsztelak@gmail.com".getBytes(), "text/plain;
>>>>> charset=UTF-8");
>>>>>    return new DataHandler(source);
>>>>> }
>>>>>
>>>>> 1°) With the old openejb-cxf.jar:
>>>>>
>>>>> Encoding: UTF-8
>>>>> Headers: {Date=[Thu, 11 Sep 2008 16:47:32 GMT], SOAPAction=[""],
>>>>> transfer-encoding=[chunked], Server=[Apache-Coyote/1.1],
>>>>> content-type=[text/xml;charset=UTF-8]}
>>>>> Messages:
>>>>> Message:
>>>>>
>>>>> Payload: <soap:Envelope
>>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/
>>>>> envelope/"><soap:Body><ns1:getFakeHandlerResponse
>>>>> xmlns:ns1="http://
>>>>> cdlibrary.training/"><return>dHN6dGVsYWtAZ21haWwuY29t</return></
>>>>> ns1:getFakeHandlerResponse></soap:Body></soap:Envelope>
>>>>> --------------------------------------
>>>>>
>>>>>
>>>>> 2°) With my modification:
>>>>>
>>>>> ------=_Part_0_4958072.1221150512336
>>>>> Content-Type: application/xop+xml; charset=UTF-8;
>>>>> type="application/soap+xml; charset=UTF-8"
>>>>> Content-Transfer-Encoding: binary
>>>>> Content-ID: <ro...@cxf.apache.org>
>>>>>
>>>>> <soap:Envelope
>>>>> xmlns:soap="http://www.w3.org/2003/05/soap-
>>>>> envelope"><soap:Body><ns1:getFakeHandlerResponse
>>>>> xmlns:ns1="http://cdlibrary.training/"><return><xop:Include
>>>>> xmlns:xop="http://www.w3.org/2004/08/xop/include"
>>>>> href="cid:c8f4425a-1518-4c82-a0e5-e550f98b22d0@http%3A%2F%2Fcxf.apache.org%2F
>>>>> "/></return></ns1:getFakeHandlerResponse></soap:Body></ 
>>>>> soap:Envelope>
>>>>> ------=_Part_0_4958072.1221150512336
>>>>> Content-Type: text/plain; charset=UTF-8
>>>>> Content-Transfer-Encoding: binary
>>>>> Content-ID:
>>>>> c8f4425a-1518-4c82-a0e5-e550f98b22d0@http%3A%2F%2Fcxf.apache.org 
>>>>> %2F
>>>>>
>>>>>
>>>>> As you can see, when MTOM is activated, the message is split up.
>>>>>
>>>>>
>>>>> Regards,
>>>>>
>>>>>
>>>>> Dain Sundstrom wrote:
>>>>>>
>>>>>> On Sep 9, 2008, at 1:00 PM, David Blevins wrote:
>>>>>>
>>>>>>> On Sep 8, 2008, at 6:36 AM, Monteiro Jean-Louis wrote:
>>>>>>>
>>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> With OpenEJB 3.0, it seems MTOM is never activated when I try a
>>>>>>>> get
>>>>>>>> an object from a web service.
>>>>>>>>
>>>>>>>> - I added the following line at the top of my web service
>>>>>>>> implementation :
>>>>>>>> @BindingType(value = SOAPBinding.SOAP12HTTP_MTOM_BINDING)
>>>>>>>>
>>>>>>>> - Here is my method:
>>>>>>>> public DataHandler getFakeHandler() {
>>>>>>>>        DataSource source = new
>>>>>>>> ByteArrayDataSource("tsztelak@gmail.com
>>>>>>>> <ma...@gmail.com>".getBytes(), "text/plain;
>>>>>>>> charset=UTF-8");
>>>>>>>>        return new DataHandler(source);
>>>>>>>> }
>>>>>>>>
>>>>>>>> - In debug mode, in org.apache.openejb.server.cxf.CxfEndPoint:
>>>>>>>> if (getBinding() instanceof SOAPBinding) {
>>>>>>>>        ((SOAPBinding)
>>>>>>>> getBinding()).setMTOMEnabled(port.isMtomEnabled());
>>>>>>>>
>>>>>>>> port.isMtomEnabled is always false.
>>>>>>>>
>>>>>>>>
>>>>>>>> I think a slight modification is needed inside
>>>>>>>> org.apache.openejb.config.WsDeployer. Something like:
>>>>>>>>
>>>>>>>> //set mtom
>>>>>>>> portComponent 
>>>>>>>> .setEnableMtom(JaxWsUtils.isMtomBinding(ejbClass));
>>>>>>>>
>>>>>>>> Has anybody had this problem ?
>>>>>>>>
>>>>>>>> If so, I can provide a fix, I already have something working.
>>>>>>>
>>>>>>> Not entirely my area of expertise, but it seems reasonable to  
>>>>>>> me.
>>>>>>
>>>>>> That seems correct to me.  Is there a way to write a test that
>>>>>> MTOM is
>>>>>> actually being used?
>>>>>>
>>>>>> -dain
>>>>>>
>>>>>>
>>>>>
>>>>> -- 
>>>>> View this message in context:
>>>>> http://www.nabble.com/WS-and-MTOM-tp19372229p19450449.html
>>>>> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/WS-and-MTOM-tp19372229p22159497.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>
>


Re: WS and MTOM

Posted by Jean-Louis MONTEIRO <je...@atosorigin.com>.
Hi All,

Can somebody make it committed ?

Thanks in advance.
JLouis


Jean-Louis MONTEIRO wrote:
> 
> Dain,
> 
> a jira has been created: OPENEJB-972
> The bug still exists for ejbModule.
> 
> A patch is available if you need such ;-)
> 
> Jean-Louis
> 
> 
> Dain Sundstrom wrote:
>> 
>> Here is the code I added to WsDeployer.
>> 
>>      if  
>> (SOAPBinding 
>> .SOAP12HTTP_MTOM_BINDING.equals(portComponent.getProtocolBinding()) ||
>>               
>> SOAPBinding 
>> .SOAP11HTTP_MTOM_BINDING.equals(portComponent.getProtocolBinding())) {
>>          portComponent.setEnableMtom(true);
>>      }
>> 
>> If you can, please give it a try and let me know if it works for you.
>> 
>> -dain
>> 
>> On Sep 12, 2008, at 1:14 PM, Dain Sundstrom wrote:
>> 
>>> I was really wondering if we could write a JUnit test to assure this  
>>> issue doesn't regress sometime in the future.
>>>
>>> Regardless, I'll make the change you suggested later today.
>>>
>>> -dain
>>>
>>> On Sep 11, 2008, at 11:47 PM, Jean-Louis MONTEIRO wrote:
>>>
>>>>
>>>> Hi Dain,
>>>>
>>>> I activated logs and here is what I get when calling a method  
>>>> having this
>>>> declaration :
>>>>
>>>> public DataHandler getFakeHandler() {
>>>>     DataSource source = new
>>>> ByteArrayDataSource("tsztelak@gmail.com".getBytes(), "text/plain;
>>>> charset=UTF-8");
>>>>     return new DataHandler(source);
>>>> }
>>>>
>>>> 1°) With the old openejb-cxf.jar:
>>>>
>>>> Encoding: UTF-8
>>>> Headers: {Date=[Thu, 11 Sep 2008 16:47:32 GMT], SOAPAction=[""],
>>>> transfer-encoding=[chunked], Server=[Apache-Coyote/1.1],
>>>> content-type=[text/xml;charset=UTF-8]}
>>>> Messages:
>>>> Message:
>>>>
>>>> Payload: <soap:Envelope
>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/ 
>>>> envelope/"><soap:Body><ns1:getFakeHandlerResponse
>>>> xmlns:ns1="http:// 
>>>> cdlibrary.training/"><return>dHN6dGVsYWtAZ21haWwuY29t</return></ 
>>>> ns1:getFakeHandlerResponse></soap:Body></soap:Envelope>
>>>> --------------------------------------
>>>>
>>>>
>>>> 2°) With my modification:
>>>>
>>>> ------=_Part_0_4958072.1221150512336
>>>> Content-Type: application/xop+xml; charset=UTF-8;
>>>> type="application/soap+xml; charset=UTF-8"
>>>> Content-Transfer-Encoding: binary
>>>> Content-ID: <ro...@cxf.apache.org>
>>>>
>>>> <soap:Envelope
>>>> xmlns:soap="http://www.w3.org/2003/05/soap- 
>>>> envelope"><soap:Body><ns1:getFakeHandlerResponse
>>>> xmlns:ns1="http://cdlibrary.training/"><return><xop:Include
>>>> xmlns:xop="http://www.w3.org/2004/08/xop/include"
>>>> href="cid:c8f4425a-1518-4c82-a0e5-e550f98b22d0@http%3A%2F%2Fcxf.apache.org%2F 
>>>> "/></return></ns1:getFakeHandlerResponse></soap:Body></soap:Envelope>
>>>> ------=_Part_0_4958072.1221150512336
>>>> Content-Type: text/plain; charset=UTF-8
>>>> Content-Transfer-Encoding: binary
>>>> Content-ID:
>>>> c8f4425a-1518-4c82-a0e5-e550f98b22d0@http%3A%2F%2Fcxf.apache.org%2F
>>>>
>>>>
>>>> As you can see, when MTOM is activated, the message is split up.
>>>>
>>>>
>>>> Regards,
>>>>
>>>>
>>>> Dain Sundstrom wrote:
>>>>>
>>>>> On Sep 9, 2008, at 1:00 PM, David Blevins wrote:
>>>>>
>>>>>> On Sep 8, 2008, at 6:36 AM, Monteiro Jean-Louis wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> With OpenEJB 3.0, it seems MTOM is never activated when I try a  
>>>>>>> get
>>>>>>> an object from a web service.
>>>>>>>
>>>>>>> - I added the following line at the top of my web service
>>>>>>> implementation :
>>>>>>> @BindingType(value = SOAPBinding.SOAP12HTTP_MTOM_BINDING)
>>>>>>>
>>>>>>> - Here is my method:
>>>>>>> public DataHandler getFakeHandler() {
>>>>>>>         DataSource source = new
>>>>>>> ByteArrayDataSource("tsztelak@gmail.com
>>>>>>> <ma...@gmail.com>".getBytes(), "text/plain;
>>>>>>> charset=UTF-8");
>>>>>>>         return new DataHandler(source);
>>>>>>> }
>>>>>>>
>>>>>>> - In debug mode, in org.apache.openejb.server.cxf.CxfEndPoint:
>>>>>>> if (getBinding() instanceof SOAPBinding) {
>>>>>>>         ((SOAPBinding)
>>>>>>> getBinding()).setMTOMEnabled(port.isMtomEnabled());
>>>>>>>
>>>>>>> port.isMtomEnabled is always false.
>>>>>>>
>>>>>>>
>>>>>>> I think a slight modification is needed inside
>>>>>>> org.apache.openejb.config.WsDeployer. Something like:
>>>>>>>
>>>>>>> //set mtom
>>>>>>> portComponent.setEnableMtom(JaxWsUtils.isMtomBinding(ejbClass));
>>>>>>>
>>>>>>> Has anybody had this problem ?
>>>>>>>
>>>>>>> If so, I can provide a fix, I already have something working.
>>>>>>
>>>>>> Not entirely my area of expertise, but it seems reasonable to me.
>>>>>
>>>>> That seems correct to me.  Is there a way to write a test that  
>>>>> MTOM is
>>>>> actually being used?
>>>>>
>>>>> -dain
>>>>>
>>>>>
>>>>
>>>> -- 
>>>> View this message in context:
>>>> http://www.nabble.com/WS-and-MTOM-tp19372229p19450449.html
>>>> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>>>>
>>>
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/WS-and-MTOM-tp19372229p22159497.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.