[
https://issues.jboss.org/browse/JBWS-3300?page=com.atlassian.jira.plugin....
]
Carl Roberts edited comment on JBWS-3300 at 5/24/11 1:51 PM:
-------------------------------------------------------------
Using Optional=true solves the problem. Here is what I changed in the Policy:
<wsp:Policy wsu:Id="MTOM_BindingPolicy" >
<wsoma:OptimizedMimeSerialization wsp:Optional="true"/>
</wsp:Policy>
was (Author: joe_roberts_z):
Furthermore, I just found out that when I use the Optional="true" option for
OptmizedMimeSerialization, it disables MTOM completely. I think that is a bug also.
Here is what I used in the last test case:
<wsp:Policy wsu:Id="MTOM_BindingPolicy" >
<wsoma:OptimizedMimeSerialization wsp:Optional="true"/>
</wsp:Policy>
MTOM WSDL Binding policy rejects all non MTOM requests when attribute
required=false
------------------------------------------------------------------------------------
Key: JBWS-3300
URL:
https://issues.jboss.org/browse/JBWS-3300
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: jbossws-cxf-3.4.1
Environment: Windows 7. BTW, I chose version jbossws-cxf-4.1 X but I am not sure
if that is the correct cxf version. All I know is that is whatever it is used by default
out of the box when you download JBOSS 6.0. Final.
Reporter: Carl Roberts
Fix For: jbossws-cxf-4.1
The MTOM WSDL Binding policy rejects all non MTOM requests when attribute
required=false.
Here is the MTOM policy and binding reference:
<wsp:Policy wsu:Id="MTOM_BindingPolicy" >
<wsoma:OptimizedMimeSerialization />
</wsp:Policy>
<wsp:PolicyReference URI="#MTOM_BindingPolicy"
wsdl:required="false" />
Non MTOM requests are rejected with this exception:
11:12:33,307 WARN [org.apache.cxf.phase.PhaseInterceptorChain] Interceptor for
{oracle/documaker/schema/ws/publishing}PublishingService#{oracle/documaker/schema/ws/publishing}
blishFromImport has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault:
These policy alternatives can not be satisfied:
{http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization}OptimizedMimeSerialization
at
org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractPolicyInterceptor.java:47)
[:2.3.1]
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
[:2.3.1]
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
[:2.3.1]
at
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
[:2.3.1]
at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
[:2.3.1]
at
org.jboss.wsf.stack.cxf.ServletControllerExt.invoke(ServletControllerExt.java:172)
[:3.4.1.GA]
at
org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:57)
[:3.4.1.GA]
at
org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequestHandler(ServletHelper.java:156)
[:3.4.1.GA]
at
org.jboss.wsf.stack.cxf.CXFNonSpringServletExt.invoke(CXFNonSpringServletExt.java:90)
[:3.4.1.GA]
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
[:2.3.1]
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
[:2.3.1]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [:1.0.0.Final]
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
[:2.3.1]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)
[:6.0.0.Final]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
[:6.0.0.Final]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
[:6.0.0.Final]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
[:6.0.0.Final]
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
[:6.0.0.Final]
at
org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
[:1.1.0.Final]
at
org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
[:1.1.0.Final]
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
[:6.0.0.Final]
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
[:6.0.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
[:6.0.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
[:6.0.0.Final]
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
[:6.0.0.Final]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[:6.0.0.Final]
at
org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
[:6.0.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
[:6.0.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
[:6.0.0.Final]
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
[:6.0.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
[:6.0.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_24]
Caused by: org.apache.cxf.ws.policy.PolicyException: These policy alternatives can not be
satisfied:
{http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization}OptimizedMimeSerialization
at
org.apache.cxf.ws.policy.AssertionInfoMap.checkEffectivePolicy(AssertionInfoMap.java:140)
[:2.3.1]
at
org.apache.cxf.ws.policy.PolicyVerificationInInterceptor.handle(PolicyVerificationInInterceptor.java:99)
[:2.3.1]
at
org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractPolicyInterceptor.java:45)
[:2.3.1]
Per my understanding of required=false attribute, what should occur is that non MTOM
requests should still come through and be returned a non MTOM response.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira