What are you using for a client?
> -----Original Message----- > From: 曾信誠_thc [mailto:[EMAIL PROTECTED] > Sent: Wednesday, October 24, 2007 5:24 AM > To: [email protected] > Subject: Spring demo client > > hi all. > I got a question about spring demo in CXF document. > Follow the article, I have built the environment, publish service on > Tomcat > setting client, etc. > However, when I try to get service response, i got a problem just like the > article posted on 06 Aug 2007, > the title is "spring demo client" > > I`ll guess that something going wrong after service try to generate > response > Dont know if this problem has been solved yet, > any suggestion will be appreciate, thx ! > > > > > here is my error msg: > -------------------------------------------------------------------------- > ------------------------------------------------------------------- > SOAP : > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> > <soap:Body> > <soap:Fault> > <faultcode>soap:Client</faultcode> > <faultstring>Error reading XMLStreamReader.</faultstring> > </soap:Fault> > </soap:Body> > </soap:Envelope> > -------------------------------------------------------------------------- > ---------------------------------------------------------------- > Tomcat: > > 2007/10/24 銝? 09:18:14 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.handleMessa > ge(ReadHeadersInterceptor.java:186) > at > org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessa > ge(ReadHeadersInterceptor.java:57) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCha > in.java:206) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiation > Observer.java:67) > at > org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDesti > nation.java:100) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servl > etController.java:224) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletControlle > r.java:137) > at > org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:261) > at > org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:239) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati > onFilterChain.java:269) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter > Chain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve. > java:210) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve. > java:174) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1 > 27) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:1 > 17) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja > va:108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proces > sConnection(Http11BaseProtocol.java:665) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.j > ava:528) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollower > WorkerThread.java:81) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.j > ava:685) > 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:20 > 40) > 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.handleMessa > ge(ReadHeadersInterceptor.java:87) > ... 24 more > -------------------------------------------------------------------------- > -------------------------------------------------------------------------- > --------- > and finally, my client on Eclipse > log4j:WARN No appenders could be found for logger > (org.springframework.context.support.ClassPathXmlApplicationContext). > log4j:WARN Please initialize the log4j system properly. > 2007/10/24 下午 05:18:11 org.apache.cxf.bus.spring.BusApplicationContext > getConfigResources > 資訊: Could not find the configuration file cxf.xml on the classpath. > 2007/10/24 下午 05:18:13 > org.apache.cxf.service.factory.ReflectionServiceFactoryBean > buildServiceFromClass > 資訊: Creating Service {http://demo.dsc.com/}HelloWorldService from class > com.dsc.demo.HelloWorld > Exception in thread "main" java.lang.NoSuchMethodError: > javax.xml.soap.SOAPFactory.createFault()Ljavax/xml/soap/SOAPFault; > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:150) > at $Proxy11.sayHi(Unknown Source) > at com.dsc.demo.Client.main(Client.java:30) > -------------------------------------------------------------------------- > -------------------------------------------------------------------------- > --------- > my client code > import com.dsc.demo.HelloWorld; > > import org.springframework.context.support.ClassPathXmlApplicationContext; > > > public final class Client { > > private Client() { > } > > public static void main(String args[]) throws Exception { > // START SNIPPET: client > > > ClassPathXmlApplicationContext context > = new ClassPathXmlApplicationContext(new String[] > {"/com/dsc/demo/client-beans.xml"}); > > HelloWorld client = (HelloWorld)context.getBean("client"); > > String response = client.sayHi("Joe"); > System.out.println("Response: " + response); > System.exit(0); > // END SNIPPET: client > } > } > -------------------------------------------------------------------------- > -------------------------------------------------------------------------- > ----------
