svcutil不会生成soap客户端

Dav*_*ave 2 .net soap wsdl

我有一个我想连接的Web服务,我无法弄清楚wsdl出了什么问题.

wsdl位于" http://marketplacebylaredoute.fr/spapi/SellerOrderService?wsdl ".然后我尝试运行svcutil http://marketplacebylaredoute.fr/spapi/SellerOrderService?wsdl并且它失败了.错误如下(仅提取)

Error: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.Se
rviceModel.Description.XmlSerializerMessageContractImporter
Error: These members may not be derived.
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://Redcats/Order
/SellerOrder/2.0']/wsdl:portType[@name='portType']
Run Code Online (Sandbox Code Playgroud)

知道这个wsdl可能有什么问题吗?

Swe*_*ell 8

问题来自于<wsdl:part>这样的问题:

<wsdl:part element="ns5:UpdateSellerOrderRequest_2.0" name="parameters">
Run Code Online (Sandbox Code Playgroud)

name="parameters",svcutil.exe认为该服务是doc/literal/wrapped.

如果将其更改为其他内容parameters,则svcutil.exe会将其解释为doc/literal/bare.

解决方案是:

使用Fiddler创建更改parameters为的代理parameters1.

快速而脏的代码:

static function OnBeforeResponse(oSession: Session) {
    if (m_Hide304s && oSession.responseCode == 304) {
        oSession["ui-hide"] = "true";
    }
    oSession.utilDecodeResponse();
    oSession.utilReplaceInResponse('parameters', 'parameters1');

}
Run Code Online (Sandbox Code Playgroud)