Hi all,

Tools use: Axis2 1.0, Sandesha2 1.0 and apache-tomcat-5.5.15
I try to do the sandesha2 user guide. I deploy on tomcat the aar giving by the sandesha2 1.0-bin.zip. I recover the client in the user guide. I do instructions of sandesha2 user guide.
I only change this in the client code:
private static String toEPR = "http://127.0.0.1:8080/axis2/services/RMSampleService";; private static String CLIENT_REPO_PATH = "/home/mancinee/workspace/wsrm/client/Client_Repo";
....
I add this property
clientOptions.setProperty(MessageContextConstants.TRANSPORT_URL,"http://localhost:8070/axis2/services/RMSampleService";);

I use TCPMon to observe SOAP message.
I put 8080 on the Target Port and I listen on the port 8070.

The error appears when I launch my client. I can access tomcat, but it returns an error: HTTP/1.1 500 Internal Error Servlet The server met an internal error which stopped the request. I can't say more because I do not have more information.
The http request caugth in tcpmon is:

POST /axis2/services/RMSampleService HTTP/1.1
User-Agent: Axis2
SOAPAction: http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence
Host: 127.0.0.1:8070
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8

320
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:wsa="http://www.w3.org/2005/08/addressing";>
   <soapenv:Header>
<wsa:To>http://127.0.0.1:8080/axis2/services/RMSampleService</wsa:To>
      <wsa:ReplyTo>
<wsa:Address>http://129.183.149.72:6060/axis2/services/__ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__</wsa:Address>
      </wsa:ReplyTo>
<wsa:MessageID>urn:uuid:07B228029E7191235511496802483123</wsa:MessageID> <wsa:Action>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</wsa:Action>
   </soapenv:Header>
   <soapenv:Body>
<wsrm:CreateSequence xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm";>
         <wsrm:AcksTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
         </wsrm:AcksTo>
      </wsrm:CreateSequence>
   </soapenv:Body>
</soapenv:Envelope>0

I restart the setup of axis2 and download the sandesha2 1.0-bin.zip. But no difference.
The tomcat logs give no information.

I don't understand why Tomcat return this error.
Can someone have an idea?

Thanks for you time.

Regards
Elodie
package client;

import java.io.File;
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.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.axis2.context.MessageContextConstants;
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://127.0.0.1:8080/axis2/services/RMSampleService";;

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

    public static void main(String[] args) throws Exception {

        String axis2_xml = CLIENT_REPO_PATH + File.separator +"client_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);
        clientOptions.setProperty(MessageContextConstants.TRANSPORT_URL,"http://localhost:8070/axis2/services/RMSampleService";);

        serviceClient.setOptions(clientOptions);

//      serviceClient.engageModule(new QName ("sandesha2"));
//      serviceClient.engageModule(new QName ("addressing"));
        System.out.println("Envoi");
        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()) {
        	System.out.println("boucle");
            Thread.sleep(1000);
        }
        System.out.println("Fin du programme");

        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();
        }
    }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to