Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4047808
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T13:44:15+00:00 2026-05-20T13:44:15+00:00

I am writing an integration webservice which will consume various webservices from a couple

  • 0

I am writing an integration webservice which will consume various webservices from a couple different backend systems. I want to be able to parallelize non-dependent service calls and be able to cancel requests that take too long (since I have an SLA to meet).

to aid in parallel backend calls, I am using the ASYNC client apis (generated by wsimport using the client-side jax-ws binding alteration files)

the issue I am having is that when I try to cancel a request, the Response<> appropriately marks the request as canceled, however the actual request is not really canceled. apparently some part of the JAX-WS runtime actually submits a com.sun.xml.ws.api.pipe.Fiber to the run queue which is what actually does the request. the cancel on the Result<> does not prevent these PIPEs from running on the queue and making the request.

has anyone run into this issue or a similar issue before?

My code looks like this:


List<Response<QuerySubscriberResponse>> resps = new ArrayList<Response<QuerySubscriberResponse>>();

for (int i = 0; i < 10; i++) {
    resps.add(FPPort.querySubscriberAsync(req));
}

for (int i = 0; i < 10; i++) {
    logger.info("Waiting for " + i);
    try {
        QuerySubscriberResponse re = resps.get(i).get(1,
                TimeUnit.SECONDS);   // execution time for this request is 15 seconds, so we should always get a TimeoutException
        logger.info("Got: "
                + new Marshaller().marshalDocumentToString(re));
    } catch (TimeoutException e) {
        logger.error(e);
        logger.error("Cancelled: " + resps.get(i).cancel(true));

        try {
            logger.info("Waiting for my timed out thing to finish -- technically I've canceled it");
            QuerySubscriberResponse re = resps.get(i).get(); // this causes a CancelledExceptio as we would expect
            logger.info("Finished waiting for the canceled req");
        } catch (Exception e1) {
            e1.printStackTrace();
        }


    } catch (Exception e) {
        logger.error(e);
    } finally {
        logger.info("");
        logger.info("");
    }
}  

I would expect that all of these requests would end up being cancelled, however in reality they all continue to execute and only return when the backend finally decides to send us a response.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T13:44:15+00:00Added an answer on May 20, 2026 at 1:44 pm

    as it turns out this was indeed a bug in the jax-ws implementation. Oracle has issued a Patch (RHEL) against wls 10.3.3 to address this issue.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm writing the application which has Twitter integration (JTwitter + OAuthSignpost). I'm able to
I'm writing an application which will involve interaction with the database. The application will
As part of a suite of integration tests I am writing, I want to
I'm writing an integration test where I will be inserting a number of objects
I'm writing an integration test in Grails using GORM. I want to do something
I'm writing some integration test with plone.app.testing. Sometimes I want to print something to
I'm writing a hook for Git that will let me select workitems from TFS
I am writing integration tests.Now, before tests are run I want to setup the
I am writing a set of integration tests (Unit tests with MS Test which
I'm writing an android app that will connect to a REST/JSON webservice. Users will

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.