Hi Elodie,

Have you configured the tcp monitor correctly. You should start tomcat in the port 8080 and have a mapping in tcp monitor from port 8070 to 8080.

Add the following additional line to the client code to send the request through the ctp monitor.
        clientOptions.setProperty(MessageContextConstants.TRANSPORT_URL,"http://localhost:8070/axis2/services/RMSampleService");


Chamikara


On 6/2/06, Mancinelli Elodie <[EMAIL PROTECTED]> wrote:
Hello

Tools use: Axis2 1.0, Sandesha2 1.0 and apache-tomcat-5.5.15
I'm trying to use the User guide example with the client
"UserguideClient.java" in sandesha2 1.0-bin.zip. I use the
RMSampleService.aar given in the Sandesha2-1.0-bin.zip. When I launch
the client, it could never get a connection to the server. In the
Console, I have no response. But when I have a look in TCPMon, I can see
the request "CreateSequence" was sent, because the client didn't reveive
the "ResponseCreateSequence". I tried to change the timeout but it
doesn't solve the problem, I think the connection to the server is not
available but the ERP is OK.

A moment later, the time out error appeared for all request CreateSequence:

POST /axis2/services/RMSampleService HTTP/1.1
User-Agent: Axis2
SOAPAction: http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence
Host: www.apache.org:8080


java.net.ConnectException: Connection timed out
   at java.net.PlainSocketImpl.socketConnect(Native Method)
   at java.net.PlainSocketImpl.doConnect (PlainSocketImpl.java:333)
   at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
   at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
   at java.net.SocksSocketImpl.connect(SocksSocketImpl.java :366)
   at java.net.Socket.connect(Socket.java:507)
   at java.net.Socket.connect(Socket.java:457)
   at java.net.Socket.<init>(Socket.java:365)
   at java.net.Socket.<init>(Socket.java:178)
   at org.apache.ws.commons.tcpmon.Connection.run(Connection.java:372)

   Code Client

package client;

import javax.xml.namespace.QName;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement ;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.soap.SOAPBody;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference ;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.client.async.AsyncResult;
import org.apache.axis2.client.async.Callback;
import org.apache.axis2.context.ConfigurationContext ;
import org.apache.axis2.context.ConfigurationContextFactory;
import org.apache.sandesha2.client.SandeshaClientConstants;

public class UserguideEchoClient {

   private final static String applicationNamespaceName =
"http://tempuri.org/";
   private final static String echoString = "echoString";
   private final static String Text = "Text";
   private final static String Sequence = "Sequence";
   private final static String echoStringResponse = "echoStringResponse";
   private final static String EchoStringReturn = "EchoStringReturn";
   private static String toEPR =
" http://localhost:8080/axis2/services/RMSampleService";

   private static String CLIENT_REPO_PATH =
"/home/mancinee/workspace/exemplewsrm/client/Client_Repo";

   public static void main(String[] args) throws AxisFault,
InterruptedException{

       String axis2_xml = CLIENT_REPO_PATH + "/client_axis2.xml";
       System .out.println (axis2_xml);
       ConfigurationContext configContext =
ConfigurationContextFactory.createConfigurationContextFromFileSystem (CLIENT_REPO_PATH,axis2_xml);

       ServiceClient serviceClient = new ServiceClient
(configContext,null);

       Options clientOptions = new Options ();
       clientOptions.setTo(new EndpointReference (toEPR));
       clientOptions.setTransportInProtocol(Constants.TRANSPORT_HTTP);
       clientOptions.setUseSeparateListener(true);
       serviceClient.setOptions(clientOptions);

//      serviceClient.engageModule (new QName ("sandesha2"));
//      serviceClient.engageModule(new QName ("addressing"));


       clientOptions.setProperty(SandeshaClientConstants.LAST_MESSAGE,
"true");
       Callback callback1 = new TestCallback ("Callback 1");
       serviceClient.sendReceiveNonBlocking
(getEchoOMBlock("echo1","sequence1"),callback1);
       Callback callback2 = new TestCallback ("Callback 2");

serviceClient.sendReceiveNonBlocking (getEchoOMBlock("echo2","sequence1"),callback2);


       clientOptions.setProperty(SandeshaClientConstants.LAST_MESSAGE,
"true");
       Callback callback3 = new TestCallback ("Callback 3");

serviceClient.sendReceiveNonBlocking(getEchoOMBlock("echo3","sequence1"),callback3);


       while (!callback1.isComplete()) {
           Thread.sleep(1000);
       }

       Thread.sleep(4000);

   }

   private static OMElement getEchoOMBlock(String text, String
sequenceKey) {
       OMFactory fac = OMAbstractFactory.getOMFactory();
       OMNamespace applicationNamespace =
fac.createOMNamespace(applicationNamespaceName,"ns1");
       OMElement echoStringElement = fac.createOMElement(echoString,
applicationNamespace);
       OMElement textElem = fac.createOMElement(Text,applicationNamespace);
       OMElement sequenceElem =
fac.createOMElement(Sequence,applicationNamespace);

       textElem.setText(text);
       sequenceElem.setText(sequenceKey);
       echoStringElement.addChild(textElem);
       echoStringElement.addChild(sequenceElem);

       return echoStringElement;
   }

   static class TestCallback extends Callback {

       String name = null;
       public TestCallback (String name) {
           this.name = name;
       }

       public void onComplete(AsyncResult result) {
           SOAPBody body = result.getResponseEnvelope().getBody();

           OMElement echoStringResponseElem =
body.getFirstChildWithName(new QName
(applicationNamespaceName,echoStringResponse));
           OMElement echoStringReturnElem =
echoStringResponseElem.getFirstChildWithName(new QName
(applicationNamespaceName,EchoStringReturn));

           String resultStr = echoStringReturnElem.getText();
           System.out.println("Callback '" + name +  "' got result:" +
resultStr);
       }

       public void onError (Exception e) {
           System.out.println("Error reported for test call back");
           e.printStackTrace();
       }
   }
}

Thanks for your time

Regards

Elodie

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to