# Problem Axis2 <-> JAX-WS (RPC)



## PT1980 (12. Sep 2007)

Hallo zusammen,

ich habe einen Axis2-Webservice, der von einem Client ohne Probleme aufgerufen wird. Dann habe ich noch einen weiteren Webservice einer Webanwendung basierend auf JAX-RPC. Testweise habe ich dazu auch einen Client erstellt und die notwendigen Hilfsklassen mit wsimport anhand der WSDL-Datei generiert. Der Testclient funktioniert auch. Nun soll der Axis2-Webservice den JAX-RPC-Webservice aufrufen. Also habe ich mir gedacht, ich nehme einfach die generierten Testklassen in meinen Axis2-Webservice auf, füge die Anweisungen des Testclients meiner Axis2-Methode hinzu und alles müsste funktionieren. Leider bekomme ich folgende Fehlermeldung

org.apache.axis2.AxisFault: The following WSDL exception occurred: WSDLException: faultCode=WSDL4JWrapper : : javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing 'http://localhost:8282/authInterface?wsdl'.: org.xml.sax.SAXParseException: Premature end of file.
	at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:434)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:373)
	at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:294)
	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:520)
	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:500)
	at ws.provider.client.AxisTestClient.loginForCourse(AxisTestClient.java:65)
	at ws.provider.client.AxisTestClient.main(AxisTestClient.java:85)

Und im Tomcat bekomme ich folgenden Fehler:

Retrieving document at 'http://localhost:8282/authInterface?wsdl'.
java.io.IOException: Eine bestehende Verbindung wurde softwaregesteuert
durch den Hostcomputer abgebrochen
	at sun.nio.ch.SocketDispatcher.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:33)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104)
	at sun.nio.ch.IOUtil.write(IOUtil.java:75)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)
	at sun.net.httpserver.Request$WriteStream.write(Request.java:389)
	at sun.net.httpserver.ChunkedOutputStream.writeChunk(ChunkedOutputStream.java:104)
	at sun.net.httpserver.ChunkedOutputStream.close(ChunkedOutputStream.java:115)
	at sun.net.httpserver.PlaceholderOutputStream.close(ExchangeImpl.java:385)
	at com.sun.xml.internal.ws.transport.http.server.ServerConnectionImpl.closeOutput(ServerConnectionImpl.java:128)
	at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.processDocRequest(WSHttpHandler.java:241)
	at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:115)
	at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:97)
	at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65)
	at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:65)
	at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:68)
	at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:556)
	at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65)
	at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:528)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)
Retrieving schema at 'http://localhost:8282/authInterface?xsd=1', relative to 'http://localhost:8282/authInterface?wsdl'.
12.09.2007 19:55:27 org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl buildAxisServiceFromWSDL
INFO: Building AxisService from wsdl: http://localhost:8282/authInterface?wsdl
12.09.2007 19:55:27 org.apache.axis2.jaxws.description.impl.URIResolverImpl resolveEntity
INFO: resolveEntity: [http://jaxb.dev.java.net/array][http://localhost:8282/authInterface?xsd=1][ http://localhost:8282/authInterface?wsdl]
12.09.2007 19:55:27 org.apache.axis2.jaxws.description.impl.URIResolverImpl resolveEntity
INFO: returnInputSource :http://localhost:8282/authInterface?xsd=1

Kann mir jemand dazu was sagen? Oder hat jemand einen Hinweis was falsch sein könnte?

Provisorisch würde es mir auch reichen, wenn ich einen JAX-RPC-Client ohne die WSDL-Datei erstellen könnte, dann wäre der Fehler vielleicht erstmal weg. Dummerweise finde ich nirgendwo beschrieben, wie man das macht, immer nur diese Generierung aus der WSDL-Datei

Vielen Dank im Voraus!!!!!!!!


----------



## PT1980 (1. Okt 2007)

Hallo,

falls mal jemand ein ähnliches Problem haben sollte, ich konnte mein Problem zwar nicht auf die beschriebene Art lösen, allerdings habe ich inzwischen die generierten Stubs durch Axis2-Client-Code ersetzt, d.h. ein Axis2-Client innerhalb des Axis2-Webservices ruft den JAX-WS-Service auf. Einfache Idee und funktioniert ohne Einschränkung. Warum ich da nicht eher drauf gekommen bin...


----------

