我需要澄清一下,以瞭解SOAP請求對於.Net 3.5 ASMX Web服務的要求。這是一個示例請求:SOAP請求名稱空間問題
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dp="http://www.datapower.com/schemas/management">
<soapenv:Body>
<spml:addRequest requestID="string" executionMode="synchronous" xmlns:spml="spmlnamespace">
<spml:psoID ID="23099469" targetID="string" />
<spml:data>
<spml:attr name='groupId'>
<spml:value>111111</spml:value>
</spml:attr>
<spml:attr name='mdn'>
<spml:value>5555555555</spml:value>
</spml:attr>
<spml:attr name='serviceId'>
<spml:value>SDCAT1</spml:value>
</spml:attr>
</spml:data>
</spml:addRequest>
</soapenv:Body>
</soapenv:Envelope>
這是否意味着我的asmx web服務方法應該命名爲「addRequest」?這是否也意味着此方法應該有兩個參數,第一個是類型「psoID」,第二個是類型「data」,如spml命名空間中定義的那樣?
您是否試圖對WSDL進行逆向工程? – 2010-07-30 19:33:16
是的,基本上。有一個WSDL提供給我,但我無法使用wsdl.exe生成代理類,因爲如果複雜類型包含一系列複雜類型,該工具會導致它失敗。 – 2010-07-30 19:39:20
你確定它是WSDL.exe中的一個錯誤,而不是一個垃圾WSDL,你會得到什麼錯誤?也許你應該更好地發佈wsdl.exe的wsdl部分,或許我們可以找出問題所在。 – 2010-07-30 19:45:52