相关疑难解决方法(0)

WSDL优先方法:如何为wsdl:port和wsdl:binding指定不同的名称?

我遵循WSDL优先(由我们的客户提供)方法来开发WCF服务,但是从我的wcf服务生成的WSDL与我们的客户提供给我的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>


从wcf服务生成的WSDL:

<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,但我不知道要在客户端提供什么更改.配置文件或生成的代码,以获得与客户端提供的wsdl文件相同的"wsdl:port/@ name".

根据此URL,serviceendpoint名称属性将映射到wsdl:port/@ name和wsdl:binding/@ name.基于此,我的配置文件中的endpoint/@ name属性值映射到wsdl:port/@ name和wsdl:binding/@ name但我希望将不同的名称映射到wsdl:port/@ name和wsdl:binding/@name属性.

请帮助我实现这一目标.

wcf wsdl

12
推荐指数
1
解决办法
1万
查看次数

标签 统计

wcf ×1

wsdl ×1