如何在WCF服务的WSDL中设置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接口,我们可以更新端点地址。

谢谢

最新更新