Axis2 erstellen Sie persistente Verbindung

Will ich konsumieren einen webservice aus .NET. Für die Erzeugung von mein source-code, die ich verwendet Axis2 basierend auf der WSDL des web service. Ich startete Achse ohne Optionen.

Kann ich die erste Methode des webservice. Dies ist die Authentifizierung Methode "Connect" des web-service. Danach rufe ich wieder eine neue Methode, aber der webservice zeigen, dass ich bin nicht mehr verbunden. Die Unterstützung der web-service sagte mir, dass es ist, weil ich nach Aufruf der Methode connect, die Verbindung wird geschlossen, die von java. Und das die webservice-davon ausgehen, dass ich bin getrennt und schliesse die Sitzung.

Um dieses problem zu lösen, meine successif Aufruf der beiden Verfahren sollte die Verbindung verwalten im Leben. Allerdings bin ich mir nicht sicher, dass Axis2 schlage vor, diese Funktionen, ist es wahr?

Wie kann ich halten die Verbindung zwischen den verschiedenen Aufrufe?

Hier ist mein java-code :

WinbooksWebServiceStub stub = new WinbooksWebServiceStub("http://myUrl/Service.asmx");
Connect c = new Connect();
c.setKey("KEY");
c.setUser("USER");
c.setPass("PSW");

ConnectResponse resp = stub.connect(c);
ConnectParser connecterParser = new ConnectParser();//works and return the Token

HelloWorld h = new HelloWorld();
HelloWorldResponse Hresp = stub.helloWorld(h); //the result tell me that I'm not connected

Wenn ich der Antwort, die ich gelten-Methode auf meine stub-Objekt, bekam ich diese Fehlermeldung Exception in thread "main"

org.apache.axis2.AxisFault: Attempted read on closed stream.
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) 
at org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:64)
at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:179)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:108)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at com.logidrive.ws.WinbooksWebServiceStub.connect(WinbooksWebServiceStub.java:4251)
at Main.main(Main.java:44) Caused by: java.io.IOException: Attempted read on closed stream.
at org.apache.commons.httpclient.AutoCloseInputStream.isReadAllowed(AutoCloseInputStream.java:183)
at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:107)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at org.apache.axiom.om.util.DetachableInputStream.read(DetachableInputStream.java:147)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
at org.apache.axis2.builder.BuilderUtil.getCharSetEncoding(BuilderUtil.java:294)
at org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:51)

InformationsquelleAutor user1636532 | 2012-08-30

Schreibe einen Kommentar