Hi-
For the second scenario (filter using rules instead of the web service): If you have rules that try to filter and set values, you might need to look into using the formula current(). This allows the browser form to get the value from the current field; using dot (.) in the formula boxes often fails.
For the web service scenario, it's hard to know since I'm assuming it's a custom web service (and we don't know how that is designed to work).
One troubleshooting option is to disable rules (one by one) in your form; there may be a rule that is causing an issue (even if it looks like it shouldn't cause an issue).