在本地和测试调用时,都OK,调用方法是“Call+soap服务的方法名”,
比如soap服务为soapServer,方法为AddRecord()则在web引用后会有方法叫CallAddRecord();
但是部署到正式服务器上后就变成了Operation 'CallAddRecord' is not defined in the WSDL for this service
比如soap服务为soapServer,方法为AddRecord()则在web引用后会有方法叫CallAddRecord();
但是部署到正式服务器上后就变成了Operation 'CallAddRecord' is not defined in the WSDL for this service
像我的webmethod在wsdl中是
<wsdl:operation name="WDC_GenerateTrueview">
<soap:operation soapAction="http://www.wilcom.com.au/WilcomDesignCreationService/2008/September/WDC_GenerateTrueview" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>在vs生成的代理类中是
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.wilcom.com.au/WilcomDesignCreationService/2008/September/WDC_GenerateT" +
"rueview", RequestNamespace="http://www.wilcom.com.au/WilcomDesignCreationService/2008/September/", ResponseNamespace="http://www.wilcom.com.au/WilcomDesignCreationService/2008/September/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public string WDC_GenerateTrueview(string requestXml) {
object[] results = this.Invoke("WDC_GenerateTrueview", new object[] {
requestXml});
return ((string)(results[0]));
}