stackoverflow.com/questions/39635522/...

ользую WSDL-первый (предоставляемый нашим клиентом) подход для разработки службы WCF, но WSDL, сгенерированные из моей службы wcf, немного отличаются от WSDL, предоставленного мне нашим клиентом, и из-за этого несоответствия клиент сталкивается с трудностями при вызове мой сервис.

Клиент предоставил wsdl:

<wsdl:service name='CheckoutService'> <wsdl:port binding='tns:CheckoutBinding' name='CheckoutServicePort'> <soap:address location='place holder to service uri' /> </wsdl:port> </wsdl:service>


WSDL, сгенерированный из службы wcf:

<wsdl:service name="CheckoutService"> <wsdl:port binding="tns:CheckoutBinding" name="CheckoutBinging"> <soap:address location="place holder to service uri" /> </wsdl:port> </wsdl:service>

и мои настройки сервиса следующие:

<endpoint name="CheckoutBinding" address="" binding="basicHttpBinding" bindingName="CheckoutServicePort" bindingConfiguration="basicHttpBinding" bindingNamespace="<<namespace>>" contract="<<contractname>>" />

Я использовал WSCF.Blue для генерации кода заглушки сервера из предоставленного клиентом wsdl и внес незначительные изменения в сгенерированный код, чтобы выдавать WSDL точно так же, как тот, который был предоставлен клиентом, но я не понимаю, какие изменения нужно внести в Конфигурационный файл или в сгенерированном коде, чтобы получить тот же «wsdl: port / @ name», что и в wsdl-файле, предоставленном клиентом.

Согласно этомуURLсвойство serviceendpoint name сопоставляется с wsdl: port / @ name и wsdl: binding / @ name. Исходя из этого, значение атрибута конечной точки / @ name в моем конфигурационном файле отображается на wsdl: port / @ name и wsdl: binding / @ name, но я хочу, чтобы разные имена отображались на wsdl: port / @ name и wsdl: binding / атрибуты @name.

Пожалуйста, помогите мне в достижении этого.

Ответы на вопрос(1)

Ваш ответ на вопрос