【发布时间】:2011-03-11 21:17:01
【问题描述】:
以下是我的服务的 wsdl 文件:
<wsdl:types>
<xsd:schema targetNamespace="http://tempuri.org/Imports">
<xsd:import schemaLocation="http://localhost:3789/VideoUpload.svc?xsd=xsd0" namespace="http://tempuri.org/" />
<xsd:import schemaLocation="http://localhost:3789/VideoUpload.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
<xsd:import schemaLocation="http://localhost:3789/VideoUpload.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/UploadVideoProtocol" />
</xsd:schema>
</wsdl:types>
-----
<wsdl:definitions>
<wsdl:service name="VideoUpload">
<wsdl:port name="BasicHttpBinding_IVideoUpload" binding="tns:BasicHttpBinding_IVideoUpload">
<soap:address location="http://localhost:3789/VideoUpload.svc" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
在上面,我可以通过在服务契约和行为的代码中指定自定义命名空间来更改命名空间。
但我需要更改架构位置中指定的端点地址,
schemaLocation="http://localhost:3789/VideoUpload.svc?xsd=xsd0"
到我自己定义的端点地址为:
schemaLocation="http://myservice.com:8080/VideoUpload.svc?xsd=xsd0"
实现这一目标的程序是什么?代码中必须提到什么来更改生成的默认端点?谁能帮我解决这个问题?
【问题讨论】:
-
您必须更改 httpGetUrl。看看这些帖子。 knowledgebaseworld.blogspot.com/2010/06/…knowledgebaseworld.blogspot.com/2010/06/…
-
嘿,谢谢...效果很好。但是当我分配一个域名而不是我无法访问的 IP 地址时。如何使用相同的域名而不是指定 IP 地址?
-
它应该可以工作,因为 dns 解析 IP 地址并将请求发送到特定 IP,请确保配置设置
-
web config 或 IIS 的配置设置?我已将 IIS 上托管的特定服务的主机标头更改为某个域 (www.yourdomain.com)。我在 httpGetUrl 中提到了与 http:\\www.yourdomain.com:8080/VideoUpload.svc? 相同的内容。但它不起作用。我可以知道在 IIS 中必须更改的所有设置是什么吗?你能帮我解决这个问题吗?
标签: wcf wcf-binding