When I update through YaST, I get similar errors on two repositories. They have to be skipped to get the others to work. When I look on the server, the directory and file are indeed not there. This was working normally until fairly recently.
Repositories have been cleaned up with zypper clean. Afterwards, the response to zypper ref still shows the same two repository errors:
Retrieving repository 'Mozilla' metadata .............................................................[done]
Building repository 'Mozilla' cache ..................................................................[done]
Repository 'google-chrome' is up to date.
Repository 'isv:ownCloud:desktop' is up to date.
Retrieving repository 'Emulators:Wine' metadata ......................................................[done]
Building repository 'Emulators:Wine' cache ...........................................................[done]
Repository 'Libdvdcss Repository' is up to date.
Retrieving repository 'Packman Repository' metadata ..................................................[done]
Building repository 'Packman Repository' cache .......................................................[done]
File '/repodata/repomd.xml' not found on medium 'http://download.opensuse.org/distribution/leap/42.3/repo/non-oss/'
Abort, retry, ignore? [a/r/i/...? shows all options] (a): i
Do you want to disable the repository openSUSE-Leap-42.3-Non-Oss permanently? [yes/no] (no):
Skipping repository 'openSUSE-Leap-42.3-Non-Oss' because of the above error.
File '/repodata/repomd.xml' not found on medium 'http://download.opensuse.org/distribution/leap/42.3/repo/oss/'
Abort, retry, ignore? [a/r/i/...? shows all options] (a): i
Do you want to disable the repository openSUSE-Leap-42.3-Oss permanently? [yes/no] (no):
Skipping repository 'openSUSE-Leap-42.3-Oss' because of the above error.
Retrieving repository 'openSUSE-Leap-42.3-Update' metadata ...........................................[done]
Building repository 'openSUSE-Leap-42.3-Update' cache ................................................[done]
Repository 'openSUSE-Leap-42.3-Update-Non-Oss' is up to date.
Repository 'skype (stable)' is up to date.
Some of the repositories have not been refreshed because of an error.
Also, I can successfully perform updates on an openSUSE virtual machine that lives on the same network. It currently has a much simpler repository structure.
Deleting and re-adding the repositories has fixed the issue.
I could not find a way to change the type of an existing repository. The two affected ones are system repositories that have been there since the beginning, untouched by me. I do add and remove repos from time to time, but not those.