Melt butter or margarine in a heavy cooking pot. Add onions and chopped celery; saute until tender, about 4 minutes. Stir in flour, mixing well. Cook for about 1 minute, stirring constantly. Do not burn, or let it go lumpy. Add water, chicken broth, and chicken soup base; stir until smooth. Bring to a boil. Add diced potatoes and chopped asparagus. Reduce heat, and simmer for about 20 minutes. Puree soup in a food processor or blender in batches. Return to pot. Stir in half and half cream, soy sauce, and black and white pepper. Bring soup just to boil. Adjust seasonings to taste. Serve hot.