Я пытаюсь добавить wsdl с помощью WCF. Но сначала я получаю предупреждение вот так; введите описание изображения здесь
Вот подробности:
Следующие утверждения политики не были импортированы:
XPath://wsdl:definitions[@targetNamespace='urn:sap-com:document:sap:soap:functions:mc-style']/wsdl:binding[@name='zz_binding_SOAP12']
Утверждения:
<saptrnbnd:OptimizedXMLTransfer xmlns:saptrnbnd='http://www.sap.com/webas/710/soap/features/transportbinding/'>..</saptrnbnd:OptimizedXMLTransfer> <sapattahnd:Enabled xmlns:sapattahnd='http://www.sap.com/710/features/attachment/'>..</sapattahnd:Enabled>
XPath://wsdl:definitions[@targetNamespace='urn:sap-com:document:sap:soap:functions:mc-style']/wsdl:binding[@name='zz_binding']
Необязательный элемент расширения WSDL «Политика» из пространства имен » http://schemas.xmlsoap.org/ws/2004/09/policy 'не было обработано.
XPath: //wsdl:definitions[@targetNamespace='urn:sap-com:document:sap:soap:functions:mc-style']/wsdl:portType[@name='zz_test_web_structure']/wsdl:operation[@name='ZzTestWebService']
Необязательный элемент расширения WSDL' Policy 'из пространства имен' http://schemas.xmlsoap.org/ws/2004/09/policy 'не был обработан.
XPath: //wsdl:definitions[@targetNamespace='urn:sap-com:document:sap:soap:functions:mc-style']/wsdl:portType[@name='zz_test_web_structure']
Я все еще не могу запустить службу wcf после ее добавления. Кто-нибудь знает об этом?
Microsoft WCF Web Service Reference Provider на основе конечной точки службы Mex, а именно конечной точки службы обмена метаданными вместо Web service definition language (страница WSDL).
Microsoft WCF Web Service Reference Provider
Mex
Web service definition language
<services> <service name="WcfService1.Service1"> <endpoint address="" binding="basicHttpBinding" contract="WcfService1.IService1" bindingConfiguration="mybinding"></endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint> </service> </services>
Или
Binding mexbinding = MetadataExchangeBindings.CreateMexHttpBinding(); sh.AddServiceEndpoint(typeof(IMetadataExchange), mexbinding, "mex");
Если вы предпочитаете генерировать прокси-класс клиента с использованием WSDL, вы можете попробовать инструмент SVCUtil.exe. https://docs.microsoft.com/en-us/dotnet/framework/wcf/servicemodel-metadata-utility-tool-svcutil-exe Все вышеперечисленные способы могут генерировать прокси-класс клиента. https://docs.microsoft.com/en-us/dotnet/framework/wcf/accessing-services-using-a-wcf-client Кроме того, в WCF4.5 есть новая функция под названием SingleWSDL, которая содержит весь WSDL со связанной схемой. Может отлично использоваться сторонней системой. В чем разница между параметрами? Wsdl и? SingleWsdl https://docs.microsoft.com/en-us/dotnet/framework/wcf/whats-new Не стесняйтесь дайте мне знать, если есть что-нибудь, с чем я могу помочь.
SingleWSDL