Robert
http://www.braziloutsource.com/
On 3/13/06, Brian Shields <
[EMAIL PROTECTED]> wrote:
Tony,
Apologies for jumping into this thread on an unrelated issue but i
notice you have axis2 deployed on JBoss 4.0. I am about to undertake
this task and was wondering if there was any resources on the web to
help in it. I dont have a lot of experience with JBoss so not looking
forward to it!!
Regards,
Brian
Antony Wilson wrote:
>
> I have not been able to get the EchonNonBlockingDualClient example to
> work as described in the documentation. In my setup, I have Axis2
> deployed to JBoss 4.0.3 and I have modified the
> userguide.example1.MyService to delay for about 10 seconds before
> responding (leaving the 'echo' method). After packaging and deploying
> the MyService.aar to Axis2, I run EchoNonBlockingDualClient
> example...slightly modified to add a print statement within the while
> loop...like so
>
> public static void main(String[] args) {
> try {
> OMElement payload = ClientUtil.getEchoOMElement();
>
> Options options = new Options();
> options.setTo(targetEPR);
> options.setTransportInProtocol (Constants.TRANSPORT_HTTP);
> options.setUseSeparateListener(true);
>
> //Callback to handle the response
> Callback callback = new Callback() {
> public void onComplete(AsyncResult result) {
> try {
> StringWriter writer = new StringWriter();
>
> result.getResponseEnvelope().serialize(XMLOutputFactory.newInstance()
> .createXMLStreamWriter(writer));
> writer.flush ();
> System.out.println(writer.toString());
>
>
> } catch (XMLStreamException e) {
> onError(e);
> }
> }
>
> public void onError(Exception e) {
> e.printStackTrace();
> }
> };
>
> //Non-Blocking Invocation
> ServiceClient sender = new ServiceClient();
> sender.setOptions(options);
> sender.sendReceiveNonblocking(payload, callback);
>
> //Wait till the callback receives the response.
> while (!callback.isComplete()) {
> System.out.println("waiting...");
> Thread.sleep(1000);
> }
> //Need to close the Client Side Listener.
>
> We I run it the code appears to block/wait at the
> "sender.sendRecieveNonBlocking(...)" line for about 10 seconds. When
> the program continues, I never see any print statements since the
> "callback.isComplete()" is true by the time it gets to that point in
> the code. The really bizarre part is that if I use
> "options.setUseSeparateListener(false)"...the behavior is exactly what
> I was originally expecting...I see several "waiting..." print
> statements before the callback's onComplete is invoked. My
> operational scenario requires a dual channel transport since my
> webservice calls can be really long...therefore using a single two-way
> transport (e.g., options.setUseSeparateListener(false)) is not a
> viable option.
>
> Bottomline, I can't seem to get the two-way dual channel stuff
> (EchoNonBlockingDualClient) to work for me. I must be missing
> something obvious...but I don't see what it is. Any help would be
> appreciated.
>
> Thanks,
> Tony
>
>
--
Brian Shields BSc. MSc.,
PhD Candidate,
Department of Information Technology,
National University of Ireland,
Galway,
Ireland.
