Hi,
I tried now a couple of days to get the Webservices in appfuse (Version
2.1.0-M1 with tapestry) to work. Everything is working really fine except
for the connection from a client to the webservice. I worked with the
tutorial from apache. But its not working. I tried a lot from using
different URIs to analyse the traffice with wireshark. Nothing helped me so
far, maybe I´m blind and can not see it. I would appreciate a little help.
(And logging is not working as well).
Here the code:
Service Interface:
@WebService
public interface HelloWorld {
public String sayHello(@WebParam(name="text") String text);
}
--------------------------------------------------------------------------------
Service Implementation:
@WebService(serviceName = "helloWorld", endpointInterface =
"com.multimodaltouch2.service.HelloWorld")
@Features(features = "org.apache.cxf.feature.LoggingFeature")
public class HelloWorldImpl implements HelloWorld {
@WebMethod
public String sayHello(String text) {
System.out.println("say Hello called");
return "Hello " + text;
}
}
--------------------------------------------------------------------------------
Application context (I also put the stuff in cxf-servlet.xml, but same
result)
<bean id="helloWorldImpl"
class="com.multimodaltouch2.service.impl.HelloWorldImpl"/>
<jaxws:endpoint
id="helloWorld"
implementor="#helloWorldImpl"
address="//HelloWorld"/>
--------------------------------------------------------------------------------
Java Client:
public class HelloWorldClient {
/**
* @param args
*/
public static void main(String[] args) {
//GeFiduS_Scenes/resources/com/multimodaltouch2/wsdlclient/clientApplicationContext.xml
File tempfile = new File(".../clientApplicationContext.xml");
if(tempfile.exists())
System.out.println(tempfile.getAbsolutePath());
ApplicationContext context = new
FileSystemXmlApplicationContext(tempfile.getAbsolutePath());
HelloWorld hello = (HelloWorld) context.getBean("helloClient");
try{
System.out.println(hello.sayHello("blah"));
}
catch (Exception e){
e.printStackTrace();
}
System.out.println("test");
}
}
--------------------------------------------------------------------------------
Client application Context:
<jaxws:client id="helloClient"
serviceClass="com.multimodaltouch2.service.HelloWorld"
address="http://localhost:8080/services/HelloWorld" />
--------------------------------------------------------------------------------
Error Message I recieve with different settings:
ARN [main] PhaseInterceptorChain.internalLogFormatted(92) | Interceptor for
{http://service.multimodaltouch2.com/}HelloWorldService#{http://service.multimodaltouch2.com/}sayHello
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:230)
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:700)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2261)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2134)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1988)
at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:639)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:487)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
at $Proxy45.sayHello(Unknown Source)
at
com.multimodaltouch2.wsdlclient.HelloWorldClient.main(HelloWorldClient.java:34)
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:650)
at
com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2096)
at
com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2002)
at
com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1106)
at
com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:1129)
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:122)
... 17 more
javax.xml.ws.soap.SOAPFaultException: Error reading XMLStreamReader.
at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
at $Proxy45.sayHello(Unknown Source)
at
com.multimodaltouch2.wsdlclient.HelloWorldClient.main(HelloWorldClient.java:34)
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:650)
at
com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2096)
at
com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2002)
at
com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1106)
at
com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:1129)
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:122)
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:700)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2261)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2134)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1988)
at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:639)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:487)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
... 2 more
--------------------------------------------------------------------------------
Any Help would be perfect. I think it has something to do with the
urlrewrite for services. But I´m offen for new suggestions.
Thanks in advance for help!
Andy
--
View this message in context:
http://appfuse.547863.n4.nabble.com/CXF-and-WSDL-Problems-tp2244983p2244983.html
Sent from the AppFuse - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]