How do I redirect a remote IP to a local IP to stop "contacting the server" errors in Word?
I have a client's Word document to edit. It contains lots of pictures, which are evidently stored on their servers instead of in the file. As I page through the file, it pauses every time an image is encountered, with the message "Contacting the server for information - press ESC to cancel", then hangs until it times out after 20-30 seconds, and this delay makes it quite unusable.
Neither setting Word to display images only as placeholders, nor putting the document view into Draft mode, solves the problem. It still tries to "Contact the server" with the consequent delay.
While trying to solve this, I discovered (by opening the docx in a Zip programme and searching through the various XML files inside) that the picture references are of the following 3 forms:
<Relationship Id="xyz123" Type="http://schemas.openxmlformats.org/officeDocument/2... Target="file:///\\Server\Images\xxx.png" TargetMode="External"/>
<Relationship Id="xyz124" Type="http://schemas.openxmlformats.org/officeDocument/2... Target="file:///S:\Images\xxx.png" TargetMode="External"/>
<Relationship Id="xyz125" Type="http://schemas.openxmlformats.org/officeDocument/2... Target="file:///\\10.2.3.4\Images\xxx.png" TargetMode="External"/>
Editing the HOSTS file and appending "127.0.0.1 Server" seems to improve the problem with the first type. Using "SUBST S: C:\" from a command prompt may improve the problem with the second type; the results are not yet conclusive. However, I'm not sure how to approach the third type. Some ideas I've had so far:
- Append "127.0.0.1 10.2.3.4" to the HOSTS file (but I think it's only used with names, right?)
- Use something like port forwarding in the router (but it's a simple Linksys WAG200G and I think it can only forward ports to IPs, not outgoing IP requests to IPs?)
- Use a firewall (ZoneAlarm is installed) to set up an custom rule that all outgoing requests to 10.2.3.4 are redirected to 127.0.0.1 (but I think all the expert rules offer is 'blocking' and a quick trial indicates that this doesn't solve the delay)
- Extract the whole docx to XML, edit the XML manually to replace all of the server references to something like C:\1\, C:\2\ and C:\3\, recompile into docx, edit the file then reverse the procedure just before sending the file back to the client (rather long winded)
Incidentally, "http://schemas.openxmlformats.org/officeDocument/2... does not appear to be a valid URL, although a comment at http://www.docx4java.org/forums/pptx-java-f14/miss... implies that this is not a problem because it's just a URI and not intended to be accessed online. I'm not 100% sure though.
Does anyone have any further suggestions for how I could try to resolve this situation?
Although it might in theory simplify things if I could have the client fix the document, that's not possible for various reasons -- e.g. the pictures are being regularly updated at the same time that I (and other people with different versions) work on the text. I don't need to access the pictures at all, anyway -- in fact I'd prefer not to see them, as they're huge and would clog my drive as well as slow down my machine. I'm simply interested in working on the text without the delay caused by Word trying to access the images from the client's local network drives (to which I have no access). At the same time, I can't simply delete the pictures, because when my task is done, the client will want to take the file I have worked on and open it on their local system, when it will once again load in the images from their local drives.
- 8 years agoFavorite Answer
Three further ideas for you. I'm no expert though, so I'm just throwing these out there in case they trigger a brainwave in someone!
1) Use a proxy server (e.g. Proxomitron, old but still good) to intercept outgoing messages and rewrite them. This might only work for http though, and I've no idea what protocol Word uses to request remote data.
2) Use some form of white-hat IP spoofing / hijacking / forgery on the local network? Dunno how it's done, but evidently some people do it...
3) Use the computer browser service (not FireFox/Chrome etc. but the master browser / backup browser thing) which apparently tells computers on a LAN how to find other computers. I've also seen this described as the 'local DNS server', in which case it might be limited to 'names' though (like the HOSTS file). Depending on your OS, it might have been replaced by Microsoft Active Directory, although I think that only works on domain networks rather than a typical SOHO setup.
- BoberelliLv 68 years ago
One idea, can the client provide a VPN connection to the servers network? this way you will have access to the server when editing the doc.
You're right about the hosts file, it's for ip to host names, not redirecting ip addresses.