Hi
I am very new to Axis 2 (5 days) and am trying to implement an asynchronous
non blocking client to a .net webservice. I know its very difficult to
address the problem this way, but I shall be highly obliged with your
responses. My client code is as under
DMTServiceStub dmtStub =
*new* DMTServiceStub();
dmtStub._getServiceClient().engageModule(Constants.
*MODULE_ADDRESSING*);
dmtStub._getServiceClient().getOptions().setUseSeparateListener(
*true*);
RunAnalysisDocument runAnalysisEnvelope = RunAnalysisDocument.Factory.*
newInstance*();
DMTServiceCallbackHandler callback =
*new* DMTServiceCallbackHandler(*null*){
*public* *void* receiveResultRunAnalysis(RunAnalysisResponseDocument resp){
*log*.info("Call back, The run id is " +
resp.getRunAnalysisResponse().getRunAnalysisResult().getRunID());
}
*public* *void* receiveErrorRunAnalysis(Exception e){
*log*.info("Error received " + e);
}
};
*for*(Long key: dealXMLFileStrings.keySet())
{
//send data to webservices
RunAnalysis runAnalysisRequest = RunAnalysis.Factory.*newInstance*();
runAnalysisRequest.setDealXml((String)dealXMLFileStrings.get(key).get(0));
runAnalysisRequest.setAnalysisName(
"StochasticRun");
runAnalysisEnvelope.setRunAnalysis(runAnalysisRequest);
dmtStub.startRunAnalysis(runAnalysisEnvelope, callback);
*log*.info("The client is free now");
}
*The output on console is *
16:44:27,020 INFO [ModuleDeployer] Deploying module: addressing-1.3
16:44:27,035 INFO [DefaultConnectionListener] Listening on port 6060
16:44:27,035 INFO [PopulateAnalysisResultsBean] The client is free now
16:44:27,238 INFO [HttpMethodBase] Discarding unexpected response: HTTP/1.1
100 Continue
16:44:57,755 INFO [HTTPSender] Unable to sendViaPost to url[
http://hp170408.sol.prytaniagroup.com/DMTService/Service.svc]
*
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.read(
*BufferedInputStream.java:235*)
at org.apache.commons.httpclient.HttpParser.readRawLine(Unknown Source)
at org.apache.commons.httpclient.HttpParser.readLine(Unknown Source)
at org.apache.commons.httpclient.HttpConnection.readLine(Unknown Source)
at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(Unknown
Source)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(Unknown
Source)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(Unknown Source)
at org.apache.commons.httpclient.HttpMethodBase.execute(Unknown Source)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(Unknown
Source)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(Unknown
Source)
at org.apache.commons.httpclient.HttpClient.executeMethod(Unknown Source)
at org.apache.commons.httpclient.HttpClient.executeMethod(Unknown Source)
at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(
*AbstractHTTPSender.java:520*)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(
*HTTPSender.java:191*)
at org.apache.axis2.transport.http.HTTPSender.send(
*HTTPSender.java:77*)
at
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(
*CommonsHTTPTransportSender.java:327*)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(
*CommonsHTTPTransportSender.java:206*)
at
org.apache.axis2.engine.AxisEngine$TransportNonBlockingInvocationWorker.run(
*AxisEngine.java:516*)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
*ThreadPoolExecutor.java:665*)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(
*ThreadPoolExecutor.java:690*)
at java.lang.Thread.run(
*Thread.java:595*)
16:44:57,755 INFO [AxisEngine] [MessageContext:
logID=urn:uuid:BDB72D53CA5246C9701216917897775] Read timed out
16:44:57,755 INFO [PopulateAnalysisResultsBean] Error received
org.apache.axis2.AxisFault: Read timed out
16:45:00,552 INFO [STDOUT] [SimpleHTTPServer] Stop called
16:45:00,552 INFO [SimpleHttpServer] Shut down connection listener
16:45:00,552 INFO [SimpleHttpServer] Shut down HTTP processors
16:45:00,552 INFO [SimpleHttpServer] HTTP protocol handler shut down
*I generate my proxy through the following task*
<target name="ConfigureDMTWebservice" description="Generates glue code for
DMT Web service">
<mkdir dir="src/gen-src-wsdl"/>
<java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">
<classpath refid="project.classpath"/>
<arg value="-uri"/>
<arg file="src/wsdl/DMTServiceOld.wsdl"/>
<arg value="-d"/>
<arg value="xmlbeans"/>
<arg value="-o"/>
<arg file="src/gen-src-wsdl"/>
</java>
<mkdir dir="src/gen-src-wsdl/classes"/>
<move todir="src/gen-src-wsdl/classes">
<fileset dir="src/gen-src-wsdl/resources">
<include name="**/*schema*/**/*.class"/>
<include name="**/*schema*/**/*.xsb"/>
</fileset>
</move>
<javac
srcdir="src/gen-src-wsdl"
destdir="src/gen-src-wsdl/classes"
deprecation="false"
failonerror="true" debug="true">
<classpath refid="project.classpath"/>
</javac>
<jar jarfile="../javalib/prytania/dmtwebservice.jar" >
<fileset dir="src/gen-src-wsdl/classes" />
</jar>
</target>
Despite following all the steps for true asynchronous messaging I get a time
out problem. Can anyone please guide me with it?