You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Colm O hEigeartaigh (JIRA)" <ji...@apache.org> on 2018/08/22 15:36:00 UTC

[jira] [Commented] (CXF-7822) CXF 3.2.x gets Error 400 when communicating with IIS, 2.7.x does not

    [ https://issues.apache.org/jira/browse/CXF-7822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16589028#comment-16589028 ] 

Colm O hEigeartaigh commented on CXF-7822:
------------------------------------------

Could you help to try to narrow down when the regression occurred? Is it present in CXF 3.2.0 for example (3.1.0, 3.0.0?)

> CXF 3.2.x gets Error 400 when communicating with IIS, 2.7.x does not
> --------------------------------------------------------------------
>
>                 Key: CXF-7822
>                 URL: https://issues.apache.org/jira/browse/CXF-7822
>             Project: CXF
>          Issue Type: Bug
>          Components: Core, Transports
>    Affects Versions: 3.2.5, 3.2.6
>         Environment: Windows Server 2012
> JDK 8u152 unlimited strength encryption.
>            Reporter: Jimmy Selgen Nielsen
>            Priority: Minor
>
> On CXF 3.2.x, When calling a .NET webservice  hosted by IIS, using MTOM and chunked transfer encoding, we get "Error 400 : Bad Request". 
> Using 2.7.18, the same code works flawlessly.
> The requests are almost identical except for content-type for the attachments and a CR in the signature.
>  
> One thing we noticed was that 2.7.x. sends an empty packet after the SOAP envelope (before the first attachment), where 3.2.6 does not. It is only the first empty packet that is missing.
> From the IIS trace it looks like this (missing packet highlighted)
> {{102 NOTIFY_MODULE_START}}
> {{103 GENERAL_READ_ENTITY_START}}
> {{104 GENERAL_READ_ENTITY_END}}
> {{105 GENERAL_REQUEST_ENTITY}}
> {{106 NOTIFY_MODULE_COMPLETION {color:#FF0000}<------- MISSING ON 3.2.x{color}}}
> {{}}{{GENERAL_READ_ENTITY_START}}
> {{108 GENERAL_READ_ENTITY_END}}
> {{109 GENERAL_REQUEST_ENTITY}}{{...}}
> {{118 NOTIFY_MODULE_COMPLETION}}
> {{119 GENERAL_READ_ENTITY_START}}
> {{120 GENERAL_READ_ENTITY_END 0 bytes}}
>  
>  
> The client setup is identical between both versions
> {{BindingProvider bp = ((BindingProvider) port);}}
> {{bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "https://somewhere.dk/SomeService.svc");}}
> {{SOAPBinding soapBinding = (SOAPBinding) bp.getBinding();}}
> {{soapBinding.setMTOMEnabled(true);}}{{HTTPConduit http = (HTTPConduit) client.getConduit();}}
> {{HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();}}
> {{httpClientPolicy.setConnectionTimeout(0);}}
> {{httpClientPolicy.setReceiveTimeout(0);}}
> {{httpClientPolicy.setAllowChunking(true);}}
> {{httpClientPolicy.setChunkLength(8192);}}
> {{http.setClient(httpClientPolicy);}}
>  
> Code used for sending data:
> {{DataSource source = new FileDataSource(file);}}
> {{DataHandler dh = new DataHandler(source);}}
> {{Port.submit(dh);}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)