Hi all,

I am trying to use the same example.
I am encoutering the same problem. I have also caught the http request inside tcpmon.
You can find it hereafter :

POST /axis2/services/RMSampleService HTTP/1.1
User-Agent: Axis2
SOAPAction: http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence
Host: localhost:13000
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://localhost:13000/axis2/services/RMSampleService</wsa:To>
<wsa:ReplyTo>
<wsa:Address>http://129.183.18.65:6060/axis2/services/__ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__</wsa:Address>
</wsa:ReplyTo>
<wsa:MessageID>urn:uuid:F568425CAF0692619511492482122053</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 have entered the wsa adress into my web browser (http://129.183.18.65:6060/axis2/services/__ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__) and I get the following SOAP message :

-
<soapenv:Envelope>
-
<soapenv:Header>
-
<wsa:ReplyTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
</wsa:ReplyTo>
<wsa:MessageID>urn:uuid:46BED3F8855DCCC1B2114924808940114</wsa:MessageID>
<wsa:Action>http://www.w3.org/2005/08/addressing/fault</wsa:Action>
</soapenv:Header>
-
<soapenv:Body>
-
<soapenv:Fault>
<faultcode>soapenv:Client</faultcode>
<faultstring>unknown</faultstring>
-
<detail>
-
<Exception>
java.lang.NullPointerException
at org.apache.axis2.util.CallbackReceiver.receive(CallbackReceiver.java:32)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:454)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPGetRequest(HTTPTransportUtils.java:138) at org.apache.axis2.transport.http.HTTPWorker.processRequest(HTTPWorker.java:226) at org.apache.axis2.transport.http.server.SimpleConnectionThread.run(SimpleConnectionThread.java:92) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
</Exception>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>

Does anybody knows why I am getting a NPE into CallbackReceiver ?
I tried to debug axis2 into eclipse but I never reached the breakpoint I put on the line 32...

Can you help me please ?

Thanks a lot for your answers.
Regards,
Charles


Mancinelli Elodie 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]




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

Reply via email to