[ https://issues.apache.org/jira/browse/CXF-2006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
jimma updated CXF-2006: ----------------------- Description: As per jaxws spec , the wsdl:extension that have the required=true should be checked : " When the javax.xml.ws.RespectB- indingFeature is enabled, a JAX-WS implementation MUST inspect the wsdl:binding at runtime to determine result and parameter bindings as well as any wsdl:extensions that have the required=true attribute. All required wsdl:extensions MUST be supported and honored by a JAX-WS implementation unless a specific wsdl:extension has be explicitly disabled via a WebServiceFeature." [alessio@localhost trunk]$ mvn -Ptestsuite,jboss424,hudson -Dtest=JBWS2449TestCase test ... ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.jboss.test.ws.jaxws.jbws2449.JBWS2449TestCase Tests run: 3, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 7.585 sec <<< FAILURE! Results : Failed tests: testWithRespectBinding(org.jboss.test.ws.jaxws.jbws2449.JBWS2449TestCase) Tests run: 3, Failures: 1, Errors: 0, Skipped: 0 The testcase basically deploy an EJB3 webservice endpoint with its own user specified wsdl contract. Here is an extract from the wsdl, there's a foo:bar required extensibility element: <binding name='EndpointBinding' type='tns:Endpoint'> <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/> <foo:bar wsdl:required="true"/> <operation name='echo'> <soap:operation soapAction=''/> <input> <soap:body use='literal'/> </input> <output> <soap:body use='literal'/> </output> </operation> </binding> <service name='EndpointService'> <port binding='tns:EndpointBinding' name='EndpointPort'> <soap:address location='http://127.0.0.1:8080/jaxws-jbws2449'/> </port> </service> The testcase gets the port specifing a RequestBindingFeature(true) so that it expects an error because of the foo:bar unknown ext element. public void testWithRespectBinding() throws Exception { URL wsdlURL = new URL(TARGET_ENDPOINT_ADDRESS + "?wsdl"); QName serviceName = new QName("http://org.jboss.ws/jbws2449", "EndpointService"); try { Service.create(wsdlURL, serviceName).getPort(Endpoint.class, new RespectBindingFeature(true)); fail("Exception expected, the wsdl has a not understood required extensibility element!"); } catch (Exception e) { //NOOP } } was: [alessio@localhost trunk]$ mvn -Ptestsuite,jboss424,hudson -Dtest=JBWS2449TestCase test ... ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.jboss.test.ws.jaxws.jbws2449.JBWS2449TestCase Tests run: 3, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 7.585 sec <<< FAILURE! Results : Failed tests: testWithRespectBinding(org.jboss.test.ws.jaxws.jbws2449.JBWS2449TestCase) Tests run: 3, Failures: 1, Errors: 0, Skipped: 0 The testcase basically deploy an EJB3 webservice endpoint with its own user specified wsdl contract. Here is an extract from the wsdl, there's a foo:bar required extensibility element: <binding name='EndpointBinding' type='tns:Endpoint'> <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/> <foo:bar wsdl:required="true"/> <operation name='echo'> <soap:operation soapAction=''/> <input> <soap:body use='literal'/> </input> <output> <soap:body use='literal'/> </output> </operation> </binding> <service name='EndpointService'> <port binding='tns:EndpointBinding' name='EndpointPort'> <soap:address location='http://127.0.0.1:8080/jaxws-jbws2449'/> </port> </service> The testcase gets the port specifing a RequestBindingFeature(true) so that it expects an error because of the foo:bar unknown ext element. public void testWithRespectBinding() throws Exception { URL wsdlURL = new URL(TARGET_ENDPOINT_ADDRESS + "?wsdl"); QName serviceName = new QName("http://org.jboss.ws/jbws2449", "EndpointService"); try { Service.create(wsdlURL, serviceName).getPort(Endpoint.class, new RespectBindingFeature(true)); fail("Exception expected, the wsdl has a not understood required extensibility element!"); } catch (Exception e) { //NOOP } } Fix Version/s: 2.5 2.4.3 > RespectBinding feature and not understood required extensibility elements > ------------------------------------------------------------------------- > > Key: CXF-2006 > URL: https://issues.apache.org/jira/browse/CXF-2006 > Project: CXF > Issue Type: Sub-task > Components: JAX-WS Runtime > Affects Versions: 2.1.3 > Reporter: Alessio Soldano > Assignee: jimma > Fix For: 2.4.3, 2.5 > > > As per jaxws spec , the wsdl:extension that have the required=true should be > checked : > " When the javax.xml.ws.RespectB- > indingFeature is enabled, a JAX-WS implementation MUST inspect the > wsdl:binding at runtime to > determine result and parameter bindings as well as any wsdl:extensions that > have the required=true > attribute. All required wsdl:extensions MUST be supported and honored by a > JAX-WS implementation > unless a specific wsdl:extension has be explicitly disabled via a > WebServiceFeature." > [alessio@localhost trunk]$ mvn -Ptestsuite,jboss424,hudson > -Dtest=JBWS2449TestCase test > ... > ------------------------------------------------------- > T E S T S > ------------------------------------------------------- > Running org.jboss.test.ws.jaxws.jbws2449.JBWS2449TestCase > Tests run: 3, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 7.585 sec <<< > FAILURE! > Results : > Failed tests: > testWithRespectBinding(org.jboss.test.ws.jaxws.jbws2449.JBWS2449TestCase) > Tests run: 3, Failures: 1, Errors: 0, Skipped: 0 > The testcase basically deploy an EJB3 webservice endpoint with its own user > specified wsdl contract. Here is an extract from the wsdl, there's a foo:bar > required extensibility element: > <binding name='EndpointBinding' type='tns:Endpoint'> > <soap:binding style='document' > transport='http://schemas.xmlsoap.org/soap/http'/> > <foo:bar wsdl:required="true"/> > <operation name='echo'> > <soap:operation soapAction=''/> > <input> > <soap:body use='literal'/> > </input> > <output> > <soap:body use='literal'/> > </output> > </operation> > </binding> > <service name='EndpointService'> > <port binding='tns:EndpointBinding' name='EndpointPort'> > <soap:address location='http://127.0.0.1:8080/jaxws-jbws2449'/> > </port> > </service> > The testcase gets the port specifing a RequestBindingFeature(true) so that it > expects an error because of the foo:bar unknown ext element. > public void testWithRespectBinding() throws Exception > { > URL wsdlURL = new URL(TARGET_ENDPOINT_ADDRESS + "?wsdl"); > QName serviceName = new QName("http://org.jboss.ws/jbws2449", > "EndpointService"); > try > { > Service.create(wsdlURL, serviceName).getPort(Endpoint.class, new > RespectBindingFeature(true)); > fail("Exception expected, the wsdl has a not understood required > extensibility element!"); > } > catch (Exception e) > { > //NOOP > } > } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira