Dan, The issue is fixed. It was a problem in the OpenEJB HttpServer. Thanks for all the help
On Thu, Jul 3, 2008 at 11:49 AM, Karan Malhi <[EMAIL PROTECTED]> wrote: > Thanks Dan, > > OpenEjb has its own built in HttpServer. AFAIK, it does understand > chunking. > > Below is the Calculator Service: > > @WebService(targetNamespace="http://superbiz.org/wsdl" ) > public interface CalculatorWs { > > public int sum(int add1, int add2); > > public int multiply(int mul1, int mul2); > } > > > @Stateless > @WebService( > portName = "CalculatorPort", > serviceName = "CalculatorWsService", > targetNamespace = "http://superbiz.org/wsdl", > endpointInterface = "org.superbiz.calculator.CalculatorWs") > public class CalculatorImpl implements CalculatorWs { > > public int sum(int add1, int add2) { > return add1 + add2; > } > > public int multiply(int mul1, int mul2) { > return mul1 * mul2; > > } > > } > > > On Thu, Jul 3, 2008 at 11:32 AM, Daniel Kulp <[EMAIL PROTECTED]> wrote: > >> >> 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 >> >> >> >> >> > > > -- > Karan Singh Malhi -- Karan Singh Malhi
