[
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