我试图解析WSDL文件,该文件在另一台服务器,但已经很难codded“本地主机”在上述文档。

当我把它拿来,显然程序抱怨“连接被拒绝”,因为没有什么是我的机器上运行。

我的问题是:是否有可能使用webproxy(如小提琴手)这些本地主机请求重定向到我的其他服务器,以便将WSDL引用是完整的

: - /

由于

P.S。我总是可以有固定的远程“WSDL”,但负责人会在这里,直到下周,我想从今天开始工作。

有帮助吗?

解决方案

您可以使用Fiddler从你的机器的代理,然后把它改写了WSDL将localhost更改为正确的机器名。

FiddlerScript食谱有关于如何编写这类的一个实例脚本。进入该网页,搜索“删除所有DIV标签(和内容DIV标签内)”。只要改变正则表达式匹配本地主机,并设置替换为您要使用的机器名。

其他提示

如果你的机器SSH访问,你应该能够使用SSH端口转发做到这一点。我假设你正在使用Windows(基于C#标签),所以你可以使用腻子如下解释:的使用端口转发用腻子。只要按照这些说明在“localhost”所需的端口转发到服务于WSDL服务器。

另外,如果你是一个基于* nix中机或苹果机上,使用SSH W /下面的命令:

ssh -L PORTYOUWILLUSE:localhost:PORTONSERVER username@serverhostname

例如,如果WSDL中的80端口提供服务,你可以做

ssh -L 80:localhost:80 username@server

一旦你在(与任何一种方法)记录的,任何请求到端口80上的本地主机将被重新路由到服务器。

如果您只想当你解析WSDL改变它几分钟,你也许可以在HOST文件,点“本地主机”更改为远程IP地址。该主机文件位于 “C:\ WINDOWS \ SYSTEM32 \ drivers \ etc下”。在Windows Vista / XP

还有,你可以做到这一点的一些方法,没有特别强劲的长期解决方案,但你提到你只是想要一些临时的,直到dev的回来。

如果该域之后的所有内容相匹配(如果你的远程URL是其它方面与本地主机),你可以编辑您的hosts文件的localhost条目。

在SYSTEM32 \ drivers \ etc下的 “hosts” 文件复制到您的桌面。打开记事本和改变这一行:

127.0.0.1   localhost

改变IP地址(127.0.0.1)到远程域。然后复制hosts文件放回etc目录。 (注意:这是不可能直接编辑该文件,因为管理员或其他方式)。

如果您对远程Web服务的多个领域,在IIS中,您需要更改网站以服务请求为“localhost”,这似乎有点奇怪,但它会工作,因为你的机器会令请求到服务器的IP地址,但指定请求域为“本地主机”。用鼠标右键单击在IIS中,选择属性的网站,那么该域“本地主机”添加到由该网站支持的HTTP标头值的列表。您可以忽略这一切,如果你通过一个IP地址来访问它在你的IIS网站将提供内容。如果单个IP地址的多个Web站点之间共享(这通常是这种情况),你会从IIS获得一个“主机名错误”的错误,因为它试图查找“localhost”的,并不能找到直接哪个网站请求。

另一种可能性是使用所谓的个人代理服务器 Proxomitron一起。这是一个有点老了,不再处于开发阶段,但它很容易安装和非常坚实的。

一旦你安装了它,打开它,然后单击“配置” - 更改端口侦听到80。接着,你需要创建一个重定向规则(它实际上并不是一个重定向,更多的URL重写的) 。你需要具备的文档快速阅读了解如何添加自己的重定向,但有很多是与应用出货样品。您正在寻找的规则是RDIR:

  

$ RDIR()更卑鄙,重定向没有告诉我你的浏览器在Proxomitron连接。当你想浏览器认为这会时,在现实中,它是去别的地方一个地方,这是非常有用的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top