Once upon a time I hit an issue with a client that sounds similar, and
here are some notes from then:

#Used strace to find /etc/zypp/services.d which had a file causing the error.
> strace -s 999 -ttt -ff zypper dup >zypper.strace 2>&1
Feel free to try out the command above, or just look under
/etc/zypp/services.d to see if something in there is old, and clean it out
from there.

Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below.

If you want to send me a private message, please let me know in the
forum as I do not use the web interface often.