cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kiffin <kif...@yahoo.com>
Subject Re: com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump
Date Tue, 16 Feb 2010 17:50:44 GMT

Dan,

I am using the Endpoint class in my unit test. Could I call the
setProperties method with this property?

Thanks,
Kiffin


dkulp wrote:
> 
> 
> You can give this a try, but a caveat in that I've never tried this so I
> don't 
> know what the resulting soap message looks like:
> 
> If you set a property on the endpoint like:
> <jaxws:properties>
>     <entry key="faultStackTraceEnabled" value="true" />
> </jaxws:properties>
> 
> the the SOAP out interceptors will stick a stack trace into the fault.  
> Not 
> exactly sure what that ends up looking like.
> 
> Dan
> 
> 
> 
> On Fri February 12 2010 5:58:05 pm kiffin wrote:
>> That response message was from running a test using the CXF stack. The
>> message below is from the Sun stack running the same test. We need to do
>> some post-processing on service exception and need to know the root cause
>> of that exception.
>> 
>> Thanks,
>> Kiffin
>> 
>> <?xml version="1.0" standalone="no"?>
>> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
>>     <S:Body>
>>         <ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/"
>> xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
>>             <faultcode>
>>                 ns2:Server
>>             </faultcode>
>>             <faultstring>
>>                 java.lang.RuntimeException: Mock up exception
>>             </faultstring>
>>             <detail>
>>                 <ns2:exception xmlns:ns2="http://jax-ws.dev.java.net/"
>> class="com.expd.arch.service.ServiceException" note="To disable this
>> feature, set
>> com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace
>> system property to false">
>>                     <message>
>>                         java.lang.RuntimeException: Mock up exception
>>                     </message>
>>                     <ns2:stackTrace>
>>                         <ns2:frame
>> class="com.expd.arch.service.ServiceException"
>> file="ServiceException.java"
>> line="101" method="wrap"/>
>>                         <ns2:frame
>> class="com.expd.service.calculation.impl.CalculationService"
>> file="CalculationService.java" line="134"
>> method="throwExceptionInMethod"/>
>>                         <ns2:frame
>> class="sun.reflect.NativeMethodAccessorImpl"
>> file="NativeMethodAccessorImpl.java" line="native" method="invoke0"/>
>>                         <ns2:frame
>> class="sun.reflect.NativeMethodAccessorImpl"
>> file="NativeMethodAccessorImpl.java" line="39" method="invoke"/>
>>                         <ns2:frame
>> class="sun.reflect.DelegatingMethodAccessorImpl"
>> file="DelegatingMethodAccessorImpl.java" line="25" method="invoke"/>
>>                         <ns2:frame class="java.lang.reflect.Method"
>> file="Method.java" line="597" method="invoke"/>
>>                         <ns2:frame
>> class="com.sun.xml.ws.api.server.InstanceResolver$1"
>> file="InstanceResolver.java" line="246" method="invoke"/>
>>                         <ns2:frame
>> class="com.sun.xml.ws.server.InvokerTube$2" file="InvokerTube.java"
>> line="146" method="invoke"/>
>>                         <ns2:frame
>> class="com.sun.xml.ws.server.sei.EndpointMethodHandler"
>> file="EndpointMethodHandler.java" line="257" method="invoke"/>
>>                         <ns2:frame
>> class="com.sun.xml.ws.server.sei.SEIInvokerTube"
>> file="SEIInvokerTube.java"
>> line="93" method="processRequest"/>
>>                         <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber"
>> file="Fiber.java" line="598" method="__doRun"/>
>>                         <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber"
>> file="Fiber.java" line="557" method="_doRun"/>
>>                         <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber"
>> file="Fiber.java" line="542" method="doRun"/>
>>                         <ns2:frame class="com.sun.xml.ws.api.pipe.Fiber"
>> file="Fiber.java" line="439" method="runSync"/>
>>                         <ns2:frame
>> class="com.sun.xml.ws.server.WSEndpointImpl$2" file="WSEndpointImpl.java"
>> line="243" method="process"/>
>>                         <ns2:frame
>> class="com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit"
>> file="HttpAdapter.java" line="444" method="handle"/>
>>                         <ns2:frame
>> class="com.sun.xml.ws.transport.http.HttpAdapter" file="HttpAdapter.java"
>> line="244" method="handle"/>
>>                         <ns2:frame
>> class="com.sun.xml.ws.transport.http.server.WSHttpHandler"
>> file="WSHttpHandler.java" line="106" method="handleExchange"/>
>>                         <ns2:frame
>> class="com.sun.xml.ws.transport.http.server.WSHttpHandler"
>> file="WSHttpHandler.java" line="91" method="handle"/>
>>                         <ns2:frame
>> class="com.sun.net.httpserver.Filter$Chain" file="Filter.java" line="65"
>> method="doFilter"/>
>>                         <ns2:frame class="sun.net.httpserver.AuthFilter"
>> file="AuthFilter.java" line="65" method="doFilter"/>
>>                         <ns2:frame
>> class="com.sun.net.httpserver.Filter$Chain" file="Filter.java" line="68"
>> method="doFilter"/>
>>                         <ns2:frame
>> class="sun.net.httpserver.ServerImpl$Exchange$LinkHandler"
>> file="ServerImpl.java" line="555" method="handle"/>
>>                         <ns2:frame
>> class="com.sun.net.httpserver.Filter$Chain" file="Filter.java" line="65"
>> method="doFilter"/>
>>                         <ns2:frame
>> class="sun.net.httpserver.ServerImpl$Exchange" file="ServerImpl.java"
>> line="527" method="run"/>
>>                         <ns2:frame
>> class="java.util.concurrent.ThreadPoolExecutor$Worker"
>> file="ThreadPoolExecutor.java" line="886" method="runTask"/>
>>                         <ns2:frame
>> class="java.util.concurrent.ThreadPoolExecutor$Worker"
>> file="ThreadPoolExecutor.java" line="908" method="run"/>
>>                         <ns2:frame class="java.lang.Thread"
>> file="Thread.java" line="619" method="run"/>
>>                     </ns2:stackTrace>
>>                     <ns2:cause class="java.lang.RuntimeException"
>> note="To
>> disable this feature, set
>> com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system
>> property to false">
>>                         <message>
>>                             Mock up exception
>>                         </message>
>>                         <ns2:stackTrace>
>>                             <ns2:frame
>> class="com.expd.service.calculation.impl.CalculationService"
>> file="CalculationService.java" line="126"
>> method="throwRuntimeException"/>
>>                             <ns2:frame
>> class="com.expd.service.calculation.impl.CalculationService"
>> file="CalculationService.java" line="132"
>> method="throwExceptionInMethod"/>
>>                             <ns2:frame
>> class="sun.reflect.NativeMethodAccessorImpl"
>> file="NativeMethodAccessorImpl.java" line="native" method="invoke0"/>
>>                             <ns2:frame
>> class="sun.reflect.NativeMethodAccessorImpl"
>> file="NativeMethodAccessorImpl.java" line="39" method="invoke"/>
>>                             <ns2:frame
>> class="sun.reflect.DelegatingMethodAccessorImpl"
>> file="DelegatingMethodAccessorImpl.java" line="25" method="invoke"/>
>>                             <ns2:frame class="java.lang.reflect.Method"
>> file="Method.java" line="597" method="invoke"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.api.server.InstanceResolver$1"
>> file="InstanceResolver.java" line="246" method="invoke"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.server.InvokerTube$2" file="InvokerTube.java"
>> line="146" method="invoke"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.server.sei.EndpointMethodHandler"
>> file="EndpointMethodHandler.java" line="257" method="invoke"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.server.sei.SEIInvokerTube"
>> file="SEIInvokerTube.java"
>> line="93" method="processRequest"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="598"
>> method="__doRun"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="557"
>> method="_doRun"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="542"
>> method="doRun"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="439"
>> method="runSync"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.server.WSEndpointImpl$2" file="WSEndpointImpl.java"
>> line="243" method="process"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit"
>> file="HttpAdapter.java" line="444" method="handle"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.transport.http.HttpAdapter" file="HttpAdapter.java"
>> line="244" method="handle"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.transport.http.server.WSHttpHandler"
>> file="WSHttpHandler.java" line="106" method="handleExchange"/>
>>                             <ns2:frame
>> class="com.sun.xml.ws.transport.http.server.WSHttpHandler"
>> file="WSHttpHandler.java" line="91" method="handle"/>
>>                             <ns2:frame
>> class="com.sun.net.httpserver.Filter$Chain" file="Filter.java" line="65"
>> method="doFilter"/>
>>                             <ns2:frame
>> class="sun.net.httpserver.AuthFilter" file="AuthFilter.java" line="65"
>> method="doFilter"/>
>>                             <ns2:frame
>> class="com.sun.net.httpserver.Filter$Chain" file="Filter.java" line="68"
>> method="doFilter"/>
>>                             <ns2:frame
>> class="sun.net.httpserver.ServerImpl$Exchange$LinkHandler"
>> file="ServerImpl.java" line="555" method="handle"/>
>>                             <ns2:frame
>> class="com.sun.net.httpserver.Filter$Chain" file="Filter.java" line="65"
>> method="doFilter"/>
>>                             <ns2:frame
>> class="sun.net.httpserver.ServerImpl$Exchange" file="ServerImpl.java"
>> line="527" method="run"/>
>>                             <ns2:frame
>> class="java.util.concurrent.ThreadPoolExecutor$Worker"
>> file="ThreadPoolExecutor.java" line="886" method="runTask"/>
>>                             <ns2:frame
>> class="java.util.concurrent.ThreadPoolExecutor$Worker"
>> file="ThreadPoolExecutor.java" line="908" method="run"/>
>>                             <ns2:frame class="java.lang.Thread"
>> file="Thread.java" line="619" method="run"/>
>>                         </ns2:stackTrace>
>>                     </ns2:cause>
>>                 </ns2:exception>
>>             </detail>
>>         </ns2:Fault>
>>     </S:Body>
>> </S:Envelope>
>> 
>> dkulp wrote:
>> > Per spec, the "faultstring" should be the result of
>> > exception.getMessage().
>> > Thus, we output whatever that returns.   Is there any way you can look
>> at
>> > the
>> > sun generated exceptions or something to see if they are doing
>> something
>> > funky
>> > with the getMessage() call?
>> > 
>> > Is the sample below from the CXF test or the Sun test?
>> > 
>> > Dan
>> > 
>> > On Fri February 12 2010 5:26:51 pm kiffin wrote:
>> >> I have another question on soap fault. I could see the root cause
>> >> returning
>> >> from the soap fault from my Sun JAX-WS service,  but I am not seeing
>> it
>> >> in
>> >> the CXF implementation. Is there a way for CXF to return the root
>> cause
>> >> of
>> >> the soap fault to a client?  Here's the example response from my test.
>> >> 
>> >> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>> >> 
>> >>     <soap:Header/>
>> >>     <soap:Body>
>> >>     
>> >>         <soap:Fault>
>> >>         
>> >>             <faultcode>
>> >>             
>> >>                 soap:Server
>> >>             
>> >>             </faultcode>
>> >>             <faultstring>
>> >>             
>> >>                 java.lang.RuntimeException: Mock up exception
>> >>             
>> >>             </faultstring>
>> >>             <detail>
>> >>             
>> >>                 <ns1:ServiceException
>> >> 
>> >> xmlns:ns1="urn:expd.com:service:calculation"/>
>> >> 
>> >>             </detail>
>> >>         
>> >>         </soap:Fault>
>> >>     
>> >>     </soap:Body>
>> >> 
>> >> </soap:Envelope>
>> >> 
>> >> Thanks,
>> >> Kiffin
>> >> 
>> >> dkulp wrote:
>> >> > On Fri February 12 2010 3:06:52 pm kiffin wrote:
>> >> >> Hi. I am porting a Sun JAX-WS service to CXF. Sun has a system
>> >> 
>> >> property
>> >> 
>> >> >> - com.sun.xml.ws.transport.http.client.HttpTransportPipe.dum -
>> which
>> >> >> dumps the request/response message on the console. Does CXF have
an
>> >> >> equivalent property to dump the request/response message on the
>> >> >> console?
>> >> > 
>> >> > OK.  Didn't know about that specific property.   Sun seems to have
>> >> > several properties like that which CXF would respond to, but that
>> one
>> >> > isn't one. I'll add it.
>> >> > 
>> >> > With 2.2.6, you can chose one of:
>> >> > 
>> >> > Boolean.getBoolean("org.apache.cxf.logging.enabled");
>> >> 
>> >>
>> Boolean.getBoolean("com.sun.xml.ws.transport.local.LocalTransportPipe.du
>> >> m
>> >> 
>> >> > p");
>> >> 
>> >>
>> Boolean.getBoolean("com.sun.xml.ws.util.pipe.StandaloneTubeAssembler.dum
>> >> 
>> >> > p");
>> >> >
>> Boolean.getBoolean("com.sun.xml.ws.transport.http.HttpAdapter.dump");
>> >> > 
>> >> > It wouldn't go to the console.  It would go the java.util.logging,
>> but
>> >> 
>> >> by
>> >> 
>> >> > default, that would go to the console.
> 
> -- 
> Daniel Kulp
> dkulp@apache.org
> http://www.dankulp.com/blog
> 
> 

-- 
View this message in context: http://old.nabble.com/com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump-tp27568694p27612362.html
Sent from the cxf-user mailing list archive at Nabble.com.


Mime
View raw message