ちょっとしゃがみた後、私はインターネット上でpostを見つけました。それは、要求と応答パラメータの両方に同じ名前を使用しているため、wsdl.exeはそれを解決できないと死ぬ
<wsdl:message name="someMessageRequest">
<wsdl:part name="parameters" element="ns0:someMessageRequest"/>
</wsdl:message>
<wsdl:message name="someMessageResponse">
<wsdl:part name="parameters" element="ns0:someMessageResponse"/>
</wsdl:message>
... SNIP ...
<soap:operation style="document" soapAction="someMessage"/>
<wsdl:input>
<soap:body use="literal" parts="parameters"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" parts="parameters"/>
</wsdl:output>
:
が提供WSDLは次のようにスニペットを持っていたことが判明します。
マイ修正:
<wsdl:message name="someMessageRequest">
<wsdl:part name="parametersRequest" element="ns0:someMessageRequest"/>
</wsdl:message>
<wsdl:message name="someMessageResponse">
<wsdl:part name="parametersResponse" element="ns0:someMessageResponse"/>
</wsdl:message>
... SNIP ...
<soap:operation style="document" soapAction="someMessage"/>
<wsdl:input>
<soap:body use="literal" parts="parametersRequest"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" parts="parametersResponse"/>
</wsdl:output>
今すぐプロキシが生成されます。
、SOAの楽しみの一つは、あなたがWSDLのあなたが動作するように提供されている信頼ことはできないということです:)
svcutilは、.NET 3.0およびそれ以降のスタイルのプロキシのを生成します。私はまだwsdl.exeが生成する古い2.0スタイルが必要です。 – FlySwat
wsdl.exeを試しましたか? –
あなたはどう思いますか? – FlySwat