私は WCF Web サービス プロジェクト (VB.NET 3.5) を持っていますが、それが生成する WSDL には、次のように入力名と出力名がありません。
<wsdl:operation name="getListing">
<soap:operation soapAction="getListing" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
次のように、入力名と出力名を WSDL で定義する必要があります。
<wsdl:operation name="getListing">
<wsdlsoap:operation soapAction="getListing"/>
<wsdl:input name="getListingRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getListingResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
問題のメソッドの定義は次のとおりです。
<OperationContract(Action:="getListing")> _
<WebMethod(Description:="Retrieve Base64 binary.", EnableSession:=True)> _
Public Overloads Overrides Function getListing(<System.Xml.Serialization.XmlElementAttribute([Namespace]:="http://namespacehere.com")> ByVal getListingRequest As ListingRequest) As ListingResponse
私は何かばかげたことを見逃しているように感じます。誰かそれが何であるか知っていますか? 非常に多くのオプションとパラメーターがあり、これを決定する適切なものが見つかりません。