You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Freeman Fang <fr...@iona.com> on 2006/11/01 11:38:41 UTC
Re: [jira] Created: (CXF-194) Fault doesn't work in xml binding
after investigate xml fault system test case
public void testXMLFault() throws Exception {
XMLService service = new XMLService(
this.getClass().getResource("/wsdl/hello_world_xml_wrapped.wsdl"),
serviceName);
assertNotNull(service);
Greeter greeter = service.getPort(portName, Greeter.class);
try {
greeter.pingMe();
fail("did not catch expected PingMeFault exception");
} catch (PingMeFault ex) {
assertEquals("minor value", 1, ex.getFaultInfo().getMinor());
assertEquals("major value", 2, ex.getFaultInfo().getMajor());
BindingProvider bp = (BindingProvider)greeter;
Map<String, Object> responseContext = bp.getResponseContext();
String contentType = (String)
responseContext.get(Message.CONTENT_TYPE);
assertEquals("text/xml", contentType);
Integer responseCode = (Integer)
responseContext.get(Message.RESPONSE_CODE);
assertEquals(500, responseCode.intValue());
} catch (Exception ex) {
assertTrue("did not catch expected PingMeFault exception",
!(ex instanceof PingMeFault));
}
}
found that this test in fact cannot guarantee Fault works for xml
binding, that's why system test pass but demo failed
assertTrue("did not catch expected PingMeFault exception",
!(ex instanceof PingMeFault));
should be change to fail("did not catch expected PingMeFault exception");
since only PingMeFault is expected here
Freeman Fang (JIRA) wrote:
>Fault doesn't work in xml binding
>---------------------------------
>
> Key: CXF-194
> URL: http://issues.apache.org/jira/browse/CXF-194
> Project: CXF
> Issue Type: Bug
> Affects Versions: 2.0-M1
> Reporter: Freeman Fang
> Fix For: 2.0-M1
>
>
>when I run hello_world_xml_wrapped sample, I get exception like
>
> [java] Exception in thread "main" org.apache.cxf.binding.xml.XMLFault: org.apache.hello_world_xml_http.wrapped.PingMeFault: PingMeFault raised by server [java] at org.apache.cxf.binding.xml.interceptor.XMLFaultInInterceptor.handleMessage(XMLFaultInInterceptor.java:61)
> [java] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:147)
> [java] at org.apache.cxf.interceptor.AbstractFaultChainIntiatorObserver.onMessage(AbstractFaultChainIntiatorObserver.java:75)
> [java] at org.apache.cxf.binding.xml.interceptor.XMLMessageInInterceptor.handleMessage(XMLMessageInInterceptor.java:85)
> [java] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:147)
> [java] at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:245)
> [java] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:476)
> [java] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doClose(HTTPConduit.java:443)
> [java] at org.apache.cxf.io.AbstractCachedOutputStream.close(AbstractCachedOutputStream.java:80)
> [java] at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:251)
> [java] at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:58)
> [java] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:147)
> [java] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:143)
> [java] at org.apache.cxf.jaxws.EndpointInvocationHandler.invokeSync(EndpointInvocationHandler.java:128)
> [java] at org.apache.cxf.jaxws.EndpointInvocationHandler.invoke(EndpointInvocationHandler.java:114)
> [java] at $Proxy34.pingMe(Unknown Source)
> [java] at demo.hw.client.Client.main(Client.java:78)
> [java] Java Result: 1
>
>seems Fault doesn't work now in xml binding. I guess someone change something occasionally cause this problem since I remember it should be fine days before
>
>
>
--
Freeman Fang
Software Engineer
IONA Asia Pacific Software Development Center
No.2 Floor A Unit Information Center
Zhongguancun Software Park Haidian District,
Beijing, P.R.China
Tel.: +86-10-82825151 - ex. 551
Fax: +86-10-8282-5210
freeman.fang@iona.com
-------------------------------------------------
Making Software Work Together TM