我有一个带有XML文档的asmx web服务作为输入参数。就像这样...
public System.Xml.XmlDocument Load_DOK(System.Xml.XmlDocument XmlDoc)
{
//some irrelevant code....
}
现在进行测试我创建了一个带有按钮的表单,并提供了本地服务参考...我想调用web服务并将XML作为输入参数传递...
这是代码......但我认为这是错误的..
private void button1_Click(object sender, EventArgs e)
{
//Load XML document
string XmlFilePath = "C:\\Documents and Settings\\XPMUser\\Desktop\\STC-ovi\\STC_1.xml";
XmlDocument XmlDoc = new XmlDocument();
XmlDoc.Load(XmlFilePath);
//Call web serivce and pass the XML as input parametar - > THIS PART IS WRONG I THINK!!!!
TEST_FORMA.PrimatService.Load_DOKRequestBody req = new TEST_FORMA.PrimatService.Load_DOKRequestBody();
TEST_FORMA.PrimatService.Load_DOKResponseBody resp = new TEST_FORMA.PrimatService.Load_DOKResponseBody();
TEST_FORMA.PrimatService.PrimatServiceSoapClient WS = new TEST_FORMA.PrimatService.PrimatServiceSoapClient();
resp = WS.Load_DOK(XmlDoc);
}
在对象浏览器中我有这个组件
Load_DOKRequest
Load_DOKRequestBody
Load_DOKResponse
Load_DOKResponseBody
当我执行上面的代码时,我收到消息......“方法或操作没有实现。”
我认为上述网络服务电话是完全错误的......
答案 0 :(得分:0)
当我尝试将XmlDocument发送到ASMX webservice时,抛出了以下错误:
无法转换为System.Xml.XmlDocument'到' System.Xml.Linq.XElement'
当我将XElement发送到ASMX Web服务而不是XmlDocument时,该方法正确地接收了XML。
ServiceReference1.WebService1SoapClient webservice = new ServiceReference1.WebService1SoapClient();
webservice.Load_DOK(new XElement("test"));
和webservice方法:
[WebMethod]
public System.Xml.XmlDocument Load_DOK(System.Xml.XmlDocument XmlDoc)
{
return null;
}