You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Alessio Soldano (JIRA)" <ji...@apache.org> on 2009/03/23 15:45:52 UTC
[jira] Created: (CXF-2129) Provider endpoint causes NPE in
AbstractPolicyInterceptor
Provider endpoint causes NPE in AbstractPolicyInterceptor
---------------------------------------------------------
Key: CXF-2129
URL: https://issues.apache.org/jira/browse/CXF-2129
Project: CXF
Issue Type: Sub-task
Components: JAX-WS Runtime
Affects Versions: 2.2
Reporter: Alessio Soldano
Assignee: Alessio Soldano
I've a web service provider returning a custom fault as follows (the fault is correctly declared in the wsdl deployed along with the endpoint):
@Local
@Stateless
@WebServiceProvider(serviceName = "MyTestService",
portName = "MyTestPort",
targetNamespace = "http://www.my-company.it/ws/my-test",
wsdlLocation = "META-INF/wsdl/my-service.wsdl")
@WebContext(contextRoot = "/jaxws-jbws1815")
@ServiceMode(value = Service.Mode.MESSAGE)
public class ProviderImpl implements Provider<SOAPMessage>
{
public SOAPMessage invoke(SOAPMessage requestSoapMessage)
{
SOAPFault theSOAPFault;
try {
theSOAPFault = SOAPFactory.newInstance().createFault();
Detail soapFaultDetail = theSOAPFault.addDetail();
SOAPElement myFaultElement = soapFaultDetail.addChildElement(new QName("http://www.my-company.it/ws/my-test", "MyWSException"));
SOAPElement myMessageElement = myFaultElement.addChildElement(new QName("http://www.my-company.it/ws/my-test", "message"));
myMessageElement.setValue("This is a faked error"); //right: this creates a text node and gives it a text value
} catch (SOAPException se) {
se.printStackTrace();
throw new RuntimeException("Something unexpected happened!");
}
throw new SOAPFaultException(theSOAPFault);
}
}
This causes the AbstractPolicyInterceptor to throw a NPE during the BindingFaultInfo retrieval as no class can found that maps the fault.
Further information about the testcase are available here https://jira.jboss.org/jira/browse/JBWS-1815 (scm links there point to the testcase sources).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CXF-2129) Provider endpoint causes NPE in
AbstractPolicyInterceptor
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-2129.
------------------------------
Resolution: Fixed
Fix Version/s: 2.2.1
2.1.5
> Provider endpoint causes NPE in AbstractPolicyInterceptor
> ---------------------------------------------------------
>
> Key: CXF-2129
> URL: https://issues.apache.org/jira/browse/CXF-2129
> Project: CXF
> Issue Type: Sub-task
> Components: JAX-WS Runtime
> Affects Versions: 2.2
> Reporter: Alessio Soldano
> Assignee: Alessio Soldano
> Fix For: 2.1.5, 2.2.1
>
> Attachments: CXF-2129.txt
>
>
> I've a web service provider returning a custom fault as follows (the fault is correctly declared in the wsdl deployed along with the endpoint):
> @Local
> @Stateless
> @WebServiceProvider(serviceName = "MyTestService",
> portName = "MyTestPort",
> targetNamespace = "http://www.my-company.it/ws/my-test",
> wsdlLocation = "META-INF/wsdl/my-service.wsdl")
> @WebContext(contextRoot = "/jaxws-jbws1815")
> @ServiceMode(value = Service.Mode.MESSAGE)
> public class ProviderImpl implements Provider<SOAPMessage>
> {
> public SOAPMessage invoke(SOAPMessage requestSoapMessage)
> {
> SOAPFault theSOAPFault;
> try {
> theSOAPFault = SOAPFactory.newInstance().createFault();
> Detail soapFaultDetail = theSOAPFault.addDetail();
> SOAPElement myFaultElement = soapFaultDetail.addChildElement(new QName("http://www.my-company.it/ws/my-test", "MyWSException"));
> SOAPElement myMessageElement = myFaultElement.addChildElement(new QName("http://www.my-company.it/ws/my-test", "message"));
> myMessageElement.setValue("This is a faked error"); //right: this creates a text node and gives it a text value
> } catch (SOAPException se) {
> se.printStackTrace();
> throw new RuntimeException("Something unexpected happened!");
> }
> throw new SOAPFaultException(theSOAPFault);
> }
> }
> This causes the AbstractPolicyInterceptor to throw a NPE during the BindingFaultInfo retrieval as no class can found that maps the fault.
> Further information about the testcase are available here https://jira.jboss.org/jira/browse/JBWS-1815 (scm links there point to the testcase sources).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CXF-2129) Provider endpoint causes NPE in
AbstractPolicyInterceptor
Posted by "Alessio Soldano (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-2129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alessio Soldano updated CXF-2129:
---------------------------------
Attachment: CXF-2129.txt
I'm attaching a patch file for simply checking for the fault class being null. Please evaluate the patch. Thanks.
> Provider endpoint causes NPE in AbstractPolicyInterceptor
> ---------------------------------------------------------
>
> Key: CXF-2129
> URL: https://issues.apache.org/jira/browse/CXF-2129
> Project: CXF
> Issue Type: Sub-task
> Components: JAX-WS Runtime
> Affects Versions: 2.2
> Reporter: Alessio Soldano
> Assignee: Alessio Soldano
> Attachments: CXF-2129.txt
>
>
> I've a web service provider returning a custom fault as follows (the fault is correctly declared in the wsdl deployed along with the endpoint):
> @Local
> @Stateless
> @WebServiceProvider(serviceName = "MyTestService",
> portName = "MyTestPort",
> targetNamespace = "http://www.my-company.it/ws/my-test",
> wsdlLocation = "META-INF/wsdl/my-service.wsdl")
> @WebContext(contextRoot = "/jaxws-jbws1815")
> @ServiceMode(value = Service.Mode.MESSAGE)
> public class ProviderImpl implements Provider<SOAPMessage>
> {
> public SOAPMessage invoke(SOAPMessage requestSoapMessage)
> {
> SOAPFault theSOAPFault;
> try {
> theSOAPFault = SOAPFactory.newInstance().createFault();
> Detail soapFaultDetail = theSOAPFault.addDetail();
> SOAPElement myFaultElement = soapFaultDetail.addChildElement(new QName("http://www.my-company.it/ws/my-test", "MyWSException"));
> SOAPElement myMessageElement = myFaultElement.addChildElement(new QName("http://www.my-company.it/ws/my-test", "message"));
> myMessageElement.setValue("This is a faked error"); //right: this creates a text node and gives it a text value
> } catch (SOAPException se) {
> se.printStackTrace();
> throw new RuntimeException("Something unexpected happened!");
> }
> throw new SOAPFaultException(theSOAPFault);
> }
> }
> This causes the AbstractPolicyInterceptor to throw a NPE during the BindingFaultInfo retrieval as no class can found that maps the fault.
> Further information about the testcase are available here https://jira.jboss.org/jira/browse/JBWS-1815 (scm links there point to the testcase sources).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.