You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Lu, Wentao" <We...@bchydro.com> on 2014/05/20 23:19:23 UTC

MTOM not supported for SOAP 1.1

Hi,

We are developing our own CMIS server using OpenCMIS server framework 0.10 and integrating it with TIBCO BusinessWorks, everything works fine in CMIS server  side until when we tried to integrate it with TIBCO BusinessWorks which is our client enterprise ESB standard.

Unfortunately we have to use Web services binding as it is enterprise standard. Our TIBCO team point out that MTOM is not supported for SOAP 1.1, but as far as my understanding, CMIS 1.1 protocol is defined using SOAP 1.1 namespace and OpenCMIS server framework force MTOM enabled in CmisWebServicesServlet.java using below code

// handle POST requests
        ProtectionRequestWrapper requestWrapper = null;
        try {
            requestWrapper = new ProtectionRequestWrapper(request, MAX_SOAP_SIZE);
        } catch (ServletException e) {
            printError(request, response, "The request is not MTOM encoded.");
            return;
        }

Is there a way we can work around? i.e. can we disable MTOM but use inline instead in OpenCMIS framework?


Thanks
Wentao
________________________________
This email and its attachments are intended solely for the personal use of the individual or entity named above. Any use of this communication by an unintended recipient is strictly prohibited. If you have received this email in error, any publication, use, reproduction, disclosure or dissemination of its contents is strictly prohibited. Please immediately delete this message and its attachments from your computer and servers. We would also appreciate if you would contact us by a collect call or return email to notify us of this error. Thank you for your cooperation.
-BCHydroDisclaimerID5.2.8.1541

RE: MTOM not supported for SOAP 1.1

Posted by "Lu, Wentao" <We...@bchydro.com>.
Thanks Florian, it works after done the modification as your suggested.


Wentao

-----Original Message-----
From: Lu, Wentao 
Sent: 2014, May 21 12:02 PM
To: 'Florian Müller'
Cc: 'dev@chemistry.apache.org'
Subject: RE: MTOM not supported for SOAP 1.1

Sorry, please ignore this email.

-----Original Message-----
From: Lu, Wentao
Sent: 2014, May 21 11:56 AM
To: 'Florian Müller'
Cc: dev@chemistry.apache.org
Subject: RE: MTOM not supported for SOAP 1.1

Hi Florian,

I modified sun-jaxws.xml by adding binding="http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/" for each endpoint, and modified WSDL templates for the namespace from "http://schemas.xmlsoap.org/wsdl/soap/" to "http://schemas.xmlsoap.org/wsdl/soap12/" , but it gives me below error, it looks like somewhere still reference to SOAP 1.1.

<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope">
   <S:Body>
      <S:Fault xmlns:ns4="http://schemas.xmlsoap.org/soap/envelope/">
         <S:Code>
            <S:Value>S:Sender</S:Value>
         </S:Code>
         <S:Reason>
            <S:Text xml:lang="en">Couldn't create SOAP message due to exception: XML reader error: com.ctc.wstx.exc.WstxParsingException: Undeclared namespace prefix "soapenv"
 at [row,col {unknown-source}]: [3,20]</S:Text>
         </S:Reason>
      </S:Fault>
   </S:Body>
</S:Envelope>


Thanks
Wentao


-----Original Message-----
From: Florian Müller [mailto:fmui@apache.org]
Sent: 2014, May 21 10:32 AM
To: dev@chemistry.apache.org
Cc: Lu, Wentao
Subject: Re: MTOM not supported for SOAP 1.1

You can try running OpenCMIS with SOAP 1.2. I've never done it and don't if it is actually working.

To do so, you have to adapt the /WEB-INF/sun-jaxws.xml file [1] and change the WSDL templates in /WEB-INF/cmis10 and /WEB-INF/cmis11.
Clients should then recognize that they should send SOAP 1.2 requests and expect SOAP 1.2 responses.


- Florian


[1] https://jax-ws.java.net/nonav/2.1.7/docs/soap12.html



> Appreciate your help Florian, I saw that soap11mtom10 protocol too.
> 
> Unfortunately TIBCO BusinessWork does not support SOAP 1.1 with MTOM, only SOAP 1.2 with MTOM. That's why I am looking for help :-(.
> 
> The only workaround I can think of is to develop a servlet filter which convert incoming TIBCO SOAP 1.2/MTOM to SOAP 1.1/MTOM, and  from SOAP 1.1/MTOM to SOAP 1.2/MTOM for outcome. Any suggestion?
> 
> 
> Thanks
> Wentao
> 
> -----Original Message-----
> From: Florian Müller [mailto:fmui@apache.org]
> Sent: 2014, May 21 12:35 AM
> To: dev@chemistry.apache.org
> Cc: Lu, Wentao
> Subject: Re: MTOM not supported for SOAP 1.1
> 
>  Hi Wentao,
> 
>  There is a specification [1] that defines how MTOM works with SOAP 1.1.
>  This specification is widely supported by Web Services frameworks and  tools. I have never heard of any problems with MTOM over SOAP 1.1.
> 
>  The CMIS specification demands MTOM. Your server wouldn't be CMIS  compliant if you would inline a document - although most CMIS clients  would be able to handle that.
>  The main problem with inlining is, that most Web Services frameworks  (on the client and on the server side) have to handle the content in  main memory. That might work fine for office documents, but could be  problem if you have a big file like a video or a CAD file.
> 
>  Disabling MTOM in OpenCMIS is possible with just a few code changes,  but I wouldn't recommend it.
> 
> 
>  - Florian
> 
> 
>  [1] http://www.w3.org/Submission/soap11mtom10/
> 
> 
> 
>> Hi,
>>
>> We are developing our own CMIS server using OpenCMIS server framework
>> 0.10 and integrating it with TIBCO BusinessWorks, everything works 
>> fine in CMIS server  side until when we tried to integrate it with 
>> TIBCO BusinessWorks which is our client enterprise ESB standard.
>>
>> Unfortunately we have to use Web services binding as it is enterprise 
>> standard. Our TIBCO team point out that MTOM is not supported for 
>> SOAP 1.1, but as far as my understanding, CMIS 1.1 protocol is 
>> defined using SOAP 1.1 namespace and OpenCMIS server framework force 
>> MTOM enabled in CmisWebServicesServlet.java using below code
>>
>> // handle POST requests
>>         ProtectionRequestWrapper requestWrapper = null;
>>         try {
>>             requestWrapper = new ProtectionRequestWrapper(request, 
>> MAX_SOAP_SIZE);
>>         } catch (ServletException e) {
>>             printError(request, response, "The request is not MTOM 
>> encoded.");
>>             return;
>>         }
>>
>> Is there a way we can work around? i.e. can we disable MTOM but use 
>> inline instead in OpenCMIS framework?
>>
>>
>> Thanks
>> Wentao
>> ________________________________
>> This email and its attachments are intended solely for the personal 
>> use of the individual or entity named above. Any use of this 
>> communication by an unintended recipient is strictly prohibited. If 
>> you have received this email in error, any publication, use, 
>> reproduction, disclosure or dissemination of its contents is strictly 
>> prohibited. Please immediately delete this message and its 
>> attachments from your computer and servers. We would also appreciate 
>> if you would contact us by a collect call or return email to notify 
>> us of this error. Thank you for your cooperation.
>> -BCHydroDisclaimerID5.2.8.1541
> 


Re: MTOM not supported for SOAP 1.1

Posted by Florian Müller <fm...@apache.org>.
You can try running OpenCMIS with SOAP 1.2. I've never done it and don't
if it is actually working.

To do so, you have to adapt the /WEB-INF/sun-jaxws.xml file [1] and
change the WSDL templates in /WEB-INF/cmis10 and /WEB-INF/cmis11.
Clients should then recognize that they should send SOAP 1.2 requests
and expect SOAP 1.2 responses.


- Florian


[1] https://jax-ws.java.net/nonav/2.1.7/docs/soap12.html



> Appreciate your help Florian, I saw that soap11mtom10 protocol too.
> 
> Unfortunately TIBCO BusinessWork does not support SOAP 1.1 with MTOM, only SOAP 1.2 with MTOM. That's why I am looking for help :-(.
> 
> The only workaround I can think of is to develop a servlet filter which convert incoming TIBCO SOAP 1.2/MTOM to SOAP 1.1/MTOM, and  from SOAP 1.1/MTOM to SOAP 1.2/MTOM for outcome. Any suggestion?
> 
> 
> Thanks
> Wentao
> 
> -----Original Message-----
> From: Florian Müller [mailto:fmui@apache.org] 
> Sent: 2014, May 21 12:35 AM
> To: dev@chemistry.apache.org
> Cc: Lu, Wentao
> Subject: Re: MTOM not supported for SOAP 1.1
> 
>  Hi Wentao,
> 
>  There is a specification [1] that defines how MTOM works with SOAP 1.1.
>  This specification is widely supported by Web Services frameworks and  tools. I have never heard of any problems with MTOM over SOAP 1.1.
> 
>  The CMIS specification demands MTOM. Your server wouldn't be CMIS  compliant if you would inline a document - although most CMIS clients  would be able to handle that.
>  The main problem with inlining is, that most Web Services frameworks  (on the client and on the server side) have to handle the content in  main memory. That might work fine for office documents, but could be  problem if you have a big file like a video or a CAD file.
> 
>  Disabling MTOM in OpenCMIS is possible with just a few code changes,  but I wouldn't recommend it.
> 
> 
>  - Florian
> 
> 
>  [1] http://www.w3.org/Submission/soap11mtom10/
> 
> 
> 
>> Hi,
>>
>> We are developing our own CMIS server using OpenCMIS server framework
>> 0.10 and integrating it with TIBCO BusinessWorks, everything works
>> fine in CMIS server  side until when we tried to integrate it with
>> TIBCO BusinessWorks which is our client enterprise ESB standard.
>>
>> Unfortunately we have to use Web services binding as it is enterprise
>> standard. Our TIBCO team point out that MTOM is not supported for 
>> SOAP
>> 1.1, but as far as my understanding, CMIS 1.1 protocol is defined
>> using SOAP 1.1 namespace and OpenCMIS server framework force MTOM
>> enabled in CmisWebServicesServlet.java using below code
>>
>> // handle POST requests
>>         ProtectionRequestWrapper requestWrapper = null;
>>         try {
>>             requestWrapper = new ProtectionRequestWrapper(request,
>> MAX_SOAP_SIZE);
>>         } catch (ServletException e) {
>>             printError(request, response, "The request is not MTOM
>> encoded.");
>>             return;
>>         }
>>
>> Is there a way we can work around? i.e. can we disable MTOM but use
>> inline instead in OpenCMIS framework?
>>
>>
>> Thanks
>> Wentao
>> ________________________________
>> This email and its attachments are intended solely for the personal
>> use of the individual or entity named above. Any use of this
>> communication by an unintended recipient is strictly prohibited. If
>> you have received this email in error, any publication, use,
>> reproduction, disclosure or dissemination of its contents is strictly
>> prohibited. Please immediately delete this message and its 
>> attachments
>> from your computer and servers. We would also appreciate if you would
>> contact us by a collect call or return email to notify us of this
>> error. Thank you for your cooperation.
>> -BCHydroDisclaimerID5.2.8.1541
> 


RE: MTOM not supported for SOAP 1.1

Posted by "Lu, Wentao" <We...@bchydro.com>.
Appreciate your help Florian, I saw that soap11mtom10 protocol too.

Unfortunately TIBCO BusinessWork does not support SOAP 1.1 with MTOM, only SOAP 1.2 with MTOM. That's why I am looking for help :-(.

The only workaround I can think of is to develop a servlet filter which convert incoming TIBCO SOAP 1.2/MTOM to SOAP 1.1/MTOM, and  from SOAP 1.1/MTOM to SOAP 1.2/MTOM for outcome. Any suggestion?


Thanks
Wentao

-----Original Message-----
From: Florian Müller [mailto:fmui@apache.org] 
Sent: 2014, May 21 12:35 AM
To: dev@chemistry.apache.org
Cc: Lu, Wentao
Subject: Re: MTOM not supported for SOAP 1.1

 Hi Wentao,

 There is a specification [1] that defines how MTOM works with SOAP 1.1.
 This specification is widely supported by Web Services frameworks and  tools. I have never heard of any problems with MTOM over SOAP 1.1.

 The CMIS specification demands MTOM. Your server wouldn't be CMIS  compliant if you would inline a document - although most CMIS clients  would be able to handle that.
 The main problem with inlining is, that most Web Services frameworks  (on the client and on the server side) have to handle the content in  main memory. That might work fine for office documents, but could be  problem if you have a big file like a video or a CAD file.

 Disabling MTOM in OpenCMIS is possible with just a few code changes,  but I wouldn't recommend it.


 - Florian


 [1] http://www.w3.org/Submission/soap11mtom10/



> Hi,
>
> We are developing our own CMIS server using OpenCMIS server framework
> 0.10 and integrating it with TIBCO BusinessWorks, everything works
> fine in CMIS server  side until when we tried to integrate it with
> TIBCO BusinessWorks which is our client enterprise ESB standard.
>
> Unfortunately we have to use Web services binding as it is enterprise
> standard. Our TIBCO team point out that MTOM is not supported for 
> SOAP
> 1.1, but as far as my understanding, CMIS 1.1 protocol is defined
> using SOAP 1.1 namespace and OpenCMIS server framework force MTOM
> enabled in CmisWebServicesServlet.java using below code
>
> // handle POST requests
>         ProtectionRequestWrapper requestWrapper = null;
>         try {
>             requestWrapper = new ProtectionRequestWrapper(request,
> MAX_SOAP_SIZE);
>         } catch (ServletException e) {
>             printError(request, response, "The request is not MTOM
> encoded.");
>             return;
>         }
>
> Is there a way we can work around? i.e. can we disable MTOM but use
> inline instead in OpenCMIS framework?
>
>
> Thanks
> Wentao
> ________________________________
> This email and its attachments are intended solely for the personal
> use of the individual or entity named above. Any use of this
> communication by an unintended recipient is strictly prohibited. If
> you have received this email in error, any publication, use,
> reproduction, disclosure or dissemination of its contents is strictly
> prohibited. Please immediately delete this message and its 
> attachments
> from your computer and servers. We would also appreciate if you would
> contact us by a collect call or return email to notify us of this
> error. Thank you for your cooperation.
> -BCHydroDisclaimerID5.2.8.1541


Re: MTOM not supported for SOAP 1.1

Posted by Florian Müller <fm...@apache.org>.
 Hi Wentao,

 There is a specification [1] that defines how MTOM works with SOAP 1.1.
 This specification is widely supported by Web Services frameworks and 
 tools. I have never heard of any problems with MTOM over SOAP 1.1.

 The CMIS specification demands MTOM. Your server wouldn't be CMIS 
 compliant if you would inline a document - although most CMIS clients 
 would be able to handle that.
 The main problem with inlining is, that most Web Services frameworks 
 (on the client and on the server side) have to handle the content in 
 main memory. That might work fine for office documents, but could be 
 problem if you have a big file like a video or a CAD file.

 Disabling MTOM in OpenCMIS is possible with just a few code changes, 
 but I wouldn't recommend it.


 - Florian


 [1] http://www.w3.org/Submission/soap11mtom10/



> Hi,
>
> We are developing our own CMIS server using OpenCMIS server framework
> 0.10 and integrating it with TIBCO BusinessWorks, everything works
> fine in CMIS server  side until when we tried to integrate it with
> TIBCO BusinessWorks which is our client enterprise ESB standard.
>
> Unfortunately we have to use Web services binding as it is enterprise
> standard. Our TIBCO team point out that MTOM is not supported for 
> SOAP
> 1.1, but as far as my understanding, CMIS 1.1 protocol is defined
> using SOAP 1.1 namespace and OpenCMIS server framework force MTOM
> enabled in CmisWebServicesServlet.java using below code
>
> // handle POST requests
>         ProtectionRequestWrapper requestWrapper = null;
>         try {
>             requestWrapper = new ProtectionRequestWrapper(request,
> MAX_SOAP_SIZE);
>         } catch (ServletException e) {
>             printError(request, response, "The request is not MTOM
> encoded.");
>             return;
>         }
>
> Is there a way we can work around? i.e. can we disable MTOM but use
> inline instead in OpenCMIS framework?
>
>
> Thanks
> Wentao
> ________________________________
> This email and its attachments are intended solely for the personal
> use of the individual or entity named above. Any use of this
> communication by an unintended recipient is strictly prohibited. If
> you have received this email in error, any publication, use,
> reproduction, disclosure or dissemination of its contents is strictly
> prohibited. Please immediately delete this message and its 
> attachments
> from your computer and servers. We would also appreciate if you would
> contact us by a collect call or return email to notify us of this
> error. Thank you for your cooperation.
> -BCHydroDisclaimerID5.2.8.1541