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