wcf - 如何在 WSDL 中为 WCF 服务设置 EndpointReference?
问题描述
我正在从给定的 WSDL 文件创建 WCF 服务。这里根据 WSDL,我想在 EndpointReference 地址中设置 urn 地址,如下所示
WSDL 示例:
<wsdl:service name="MyCustomService">
<wsdl:port name="SecurePort" binding="tns:Secure">
<soap12:address location="https://localhost:8453/MyService/Service.svc" />
<wsa10:EndpointReference>
**<wsa10:Address>urn:aaa.cc:abc:names:pqr:ddd</wsa10:Address>**
</wsa10:EndpointReference>
</wsdl:port>
<wsdl:port name="UnSecurePort" binding="tns:Unsecure">
<soap12:address location="http://localhost:8080/MyService/Service.svc" />
<wsa10:EndpointReference>
**<wsa10:Address>urn:aaa.cc:abc:names:pqr:ddd</wsa10:Address>**
</wsa10:EndpointReference>
</wsdl:port>
我见过一种叫做 IWsdlExportExtension 的东西。但仍在检查如何访问端点元数据并设置 urn 地址。
任何帮助都会被挪用...
谢谢你
解决方案
这是解决方案:
public void ExportEndpoint(WsdlExporter exporter, WsdlEndpointConversionContext context){
EndpointAddress address = context.Endpoint.Address;
var newAbsoluteUri = new Uri("urn:aaa.cc:abc:names:pqr:ddd");
context.Endpoint.Address = new EndpointAddress(newAbsoluteUri,
address.Identity, address.Headers, address.GetReaderAtMetadata(),
address.GetReaderAtExtensions());}
使用 IWsdlExportExtension 接口,我们可以更新 Endpoint 地址。
谢谢你
推荐阅读
- java - 如何使用 Mockito 模拟构造函数对象属性?
- kdb - kdb/q -- 如何按某些分组对行进行编号
- arrays - 以角度创建数组对象的数组
- python - 如何将下拉列表中的值传递到烧瓶中的另一个页面
- git - 在 git 中搜索与给定文件路径匹配的最后提交的文件
- javascript - 在继续下一次迭代之前等待
- cloud - 阿里云如何定义私有区域id
- python - Python PyQt5 如何使用 QWidget 显示完整的 QMenuBar
- node.js - 使用 Firebase Cloud Functions 时 Nodemailer 查询 A EREFUSED localhost
- amazon-web-services - Databricks 工作人员和 Elasticsearch 节点是否需要位于 AWS 的同一 VPC 中?