What is the implementation of the Calculator service running on port 4204? What is the http server/soap stack/etc...

It's quite possible that the http server serving that service doesn't understand chunking. The older microsoft stacks certainly don't.

Dan




On Jul 3, 2008, at 11:23 AM, Karan Malhi wrote:

Also wanted to add that when I disable chunking (see below), the error goes
away.

   public void testCalculatorViaWsInterface() throws Exception {
       Service calcService = Service.create(new URL("
http://127.0.0.1:4204/CalculatorImpl?wsdl";), null);
       assertNotNull(calcService);

       CalculatorWs calc = calcService.getPort(CalculatorWs.class);
// Get the CXF Client. We will use it to enable logging and set the
client policy to disallow chunking.
       org.apache.cxf.endpoint.Client client =
           org.apache.cxf.frontend.ClientProxy.getClient(calc);
// Logging CXF -- uncomment the next two lines to enable logging of SOAP
requests and responses.
       client.getInInterceptors().add(new LoggingInInterceptor());
       client.getOutInterceptors().add(new LoggingOutInterceptor());
//      Getting HTTPConduit to set client policy
       HTTPConduit http = (HTTPConduit) client.getConduit();
       HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
// Disallow chunking -- OTHERWISE THE TEST FAILS
       httpClientPolicy.setAllowChunking(false);
       http.setClient(httpClientPolicy);
       assertEquals(10, calc.sum(4,6));
   assertEquals(12, calc.multiply(3,4));
   }

On Thu, Jul 3, 2008 at 11:17 AM, Karan Malhi <[EMAIL PROTECTED]> wrote:

I am trying to run the following test (am using openejb)

  public void testCalculatorViaWsInterface() throws Exception {
       Service calcService = Service.create(new URL("
http://127.0.0.1:4204/CalculatorImpl?wsdl";), null);
       assertNotNull(calcService);

       CalculatorWs calc = calcService.getPort(CalculatorWs.class);
// Get the CXF Client. We will use it to enable logging and set the
client policy to disallow chunking.
       org.apache.cxf.endpoint.Client client =
           org.apache.cxf.frontend.ClientProxy.getClient(calc);
// Logging CXF -- uncomment the next two lines to enable logging of SOAP
requests and responses.
       client.getInInterceptors().add(new LoggingInInterceptor());
       client.getOutInterceptors().add(new LoggingOutInterceptor());
       assertEquals(10, calc.sum(4,6));
   assertEquals(12, calc.multiply(3,4));
   }

When I try to run the above test, sometimes I get the following exception:-

Jul 3, 2008 11:06:51 AM
org.apache.cxf.service.factory.ReflectionServiceFactoryBean
buildServiceFromWSDL
INFO: Creating Service {http://superbiz.org/ wsdl}CalculatorWsService<http://superbiz.org/wsdl%7DCalculatorWsService >from WSDL:
http://127.0.0.1:4204/CalculatorImpl?wsdl
Jul 3, 2008 11:07:51 AM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
   at
org.apache.cxf.interceptor.MessageSenderInterceptor $ MessageSenderEndingInterceptor .handleMessage(MessageSenderInterceptor.java:64)
   at
org .apache .cxf .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java: 208)
   at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
   at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
   at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java: 135)
   at $Proxy17.multiply(Unknown Source)
   at
org .superbiz .calculator .CalculatorTest.testCalculatorViaWsInterface(CalculatorTest.java:53)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at
sun .reflect .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at
sun .reflect .DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at junit.framework.TestCase.runTest(TestCase.java:164)
   at junit.framework.TestCase.runBare(TestCase.java:130)
   at junit.framework.TestResult$1.protect(TestResult.java:110)
   at junit.framework.TestResult.runProtected(TestResult.java:128)
   at junit.framework.TestResult.run(TestResult.java:113)
   at junit.framework.TestCase.run(TestCase.java:120)
   at junit.framework.TestSuite.runTest(TestSuite.java:228)
   at junit.framework.TestSuite.run(TestSuite.java:223)
   at
org .junit .internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
   at
org .apache .maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
   at
org .apache .maven .surefire .suite .AbstractDirectoryTestSuite .executeTestSet(AbstractDirectoryTestSuite.java:140)
   at
org .apache .maven .surefire .suite .AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java: 127)
   at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at
sun .reflect .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at
sun .reflect .DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at
org .apache .maven .surefire .booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
   at
org .apache .maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)
Caused by: java.net.SocketTimeoutException: Read timed out
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
   at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
   at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java: 681)
   at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:626)
   at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:646)
   at
sun .net .www .protocol .http.HttpURLConnection.getInputStream(HttpURLConnection.java:957)
   at
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java: 367)
   at
org.apache.cxf.transport.http.HTTPConduit $WrappedOutputStream.handleResponse(HTTPConduit.java:1863)
   at
org.apache.cxf.transport.http.HTTPConduit $WrappedOutputStream.close(HTTPConduit.java:1791)
   at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java: 66)
   at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:575)
   at
org.apache.cxf.interceptor.MessageSenderInterceptor $ MessageSenderEndingInterceptor .handleMessage(MessageSenderInterceptor.java:62)
   ... 30 more
Jul 3, 2008 11:07:51 AM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.
   at
org .apache .cxf .binding .soap .interceptor .ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java: 191)
   at
org .apache .cxf .binding .soap .interceptor .ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:56)
   at
org .apache .cxf .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java: 208)
   at
org .apache .cxf .transport .ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
   at
org .apache .openejb.server.cxf.HttpDestination.invoke(HttpDestination.java:111)
   at
org .apache .openejb.server.cxf.CxfWsContainer.processPOST(CxfWsContainer.java: 114)
   at
org .apache .openejb.server.cxf.CxfWsContainer.onMessage(CxfWsContainer.java:85)
   at
org.apache.openejb.server.webservices.OpenEJBHttpWsRegistry $ClassLoaderHttpListener.onMessage(OpenEJBHttpWsRegistry.java:113)
   at
org .apache .openejb .server .httpd.HttpListenerRegistry.onMessage(HttpListenerRegistry.java:43)
   at
org .apache .openejb .server.httpd.OpenEJBHttpServer.process(OpenEJBHttpServer.java:176)
   at
org .apache .openejb .server .httpd.OpenEJBHttpServer.processRequest(OpenEJBHttpServer.java:132)
   at
org .apache .openejb .server.httpd.OpenEJBHttpServer.service(OpenEJBHttpServer.java:78)
   at
org .apache .openejb.server.httpd.HttpEjbServer.service(HttpEjbServer.java:61) at org.apache.openejb.server.ServicePool$2.run(ServicePool.java: 78) at org.apache.openejb.server.ServicePool$3.run(ServicePool.java: 101)
   at
java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:650)
   at
java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:675)
   at java.lang.Thread.run(Thread.java:595)
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [1,0]
   at
com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java: 661)
   at
com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java: 2134)
   at
com .ctc .wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java: 2040) at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java: 1069)
   at
com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java: 1095)
   at
org .apache .cxf .binding .soap .interceptor .ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:85)
   ... 17 more


--
Karan Singh Malhi




--
Karan Singh Malhi

---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to