当我在Web服务中调用方法时发生错误 [英] error occured when i call a method in my web service

查看:64
本文介绍了当我在Web服务中调用方法时发生错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我目前正在开发Web服务:

但是当我调用此方法时,发生此错误:

测试表单仅适用于将原始类型作为参数的方法"


请帮助我:((:((

这是我的代码:

Hi,

I am currently developing a web service:

but when I call this method this error occurred:

"The test form is only available for methods with primitive types as parameters"


Please help me :(( :((

This is my code:

<br />
[WebMethod]<br />
        public FactureTopNet CreationFacture( ref int NUM_FACTURE, ref  int NUM_JUR_FACT,ref  int SOCIETE, ref int TYPE, ref string LOGIN_CREATION,ref  DateTime DATE_CREATION, ref string LOGIN_MODIFICATION,ref  DateTime DATE_MODIFICATION,ref  Decimal MNT_FACT,ref  decimal REMISE, ref decimal NET_PAYE,ref decimal REST_PAYE,ref  string OBSERV, ref int ID_CLIENT,ref  string REMARQUE,ref  string MONTANTTEXT, ref int TIMBRE, ref int AVOIR, ref int NUM_LISTE,ref  int ID_REV,ref  int NUM_PF, ref int NUM_PP, ref string REFERENCE, ref string CLE, ref int ID_COM,ref  decimal MONTANT_COM, ref DateTime DATE_COM,ref int RED_COM, ref  int INTER_GROUPE)<br />
        {<br />
<br />
            System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();<br />
            conn.ConnectionString = @"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=topnet;Initial Catalog=TopnetBase;Data Source=SWEET-4B6F892B4\SQLEXPRESS";<br />
            conn.Open();<br />
            FactureTopNet facture = new FactureTopNet();<br />
            int r;<br />
            string req = "INSERT INTO facture (NUM_FACTURE, NUM_JUR_FACT, SOCIETE, TYPE, LOGIN_CREATION, DATE_CREATION,LOGIN_MODIFICATION,DATE_MODIFICATION,MNT_FACT, REMISE, NET_PAYE, REST_PAYE, OBSERV, ID_CLIENT, REMARQUE, MONTANTTEXT, TIMBRE, AVOIR,NUM_LISTE,ID_REV,NUM_PF,NUM_PP, REFERENCE, CLE, ID_COM,MONTANT_COM, DATE_COM, RED_COM, INTER_GROUPE)VALUES(''" + NUM_FACTURE + "'',''" + NUM_JUR_FACT + "'',''" + SOCIETE + "'',''" + TYPE + "'',''" + LOGIN_CREATION + "'',''" +DATE_CREATION + "'',''" + LOGIN_MODIFICATION + "'',''" + DATE_MODIFICATION + "'',''" + MNT_FACT + "'',''" + REMISE + "'',''" + NET_PAYE + "'',''" + REST_PAYE + "'',''" + OBSERV + "'',''" + ID_CLIENT + "'',''" + REMARQUE + "'',''" + MONTANTTEXT + "'',''" + TIMBRE + "'',''" + AVOIR + "'',''" + NUM_LISTE + "'',''" + ID_REV + "'',''" + NUM_PF + "'',''" + NUM_PP + "'',''" + REFERENCE + "'',''" + CLE + "'',''" + ID_COM + "'',''" +MONTANT_COM + "'',''" + DATE_COM + "'',''" + RED_COM + "'',''" + INTER_GROUPE + "'')";<br />
            System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(req, conn);<br />
            r = command.ExecuteNonQuery();<br />
            facture.NUM_FACTURE = NUM_FACTURE;<br />
            facture.NUM_JUR_FACT = NUM_JUR_FACT;<br />
           <br />
            facture.SOCIETE = SOCIETE;<br />
            facture.TYPE = TYPE;<br />
            facture.LOGIN_CREATION = LOGIN_CREATION;<br />
            facture.DATE_CREATION = DATE_CREATION;<br />
            facture.LOGIN_MODIFICATION = LOGIN_MODIFICATION;<br />
            facture.DATE_MODIFICATION = DATE_MODIFICATION;<br />
            facture.MNT_FACT = MNT_FACT;<br />
            facture.REMISE = REMISE;<br />
            facture.NET_PAYE = NET_PAYE;<br />
            facture.REST_PAYE = REST_PAYE;<br />
            facture.OBSERV = OBSERV;<br />
            facture.ID_CLIENT = ID_CLIENT;<br />
            facture.REMARQUE = REMARQUE;<br />
            facture.MONTANTTEXT = MONTANTTEXT;<br />
            facture.TIMBRE = TIMBRE;<br />
            facture.AVOIR = AVOIR;<br />
            facture.NUM_LISTE = NUM_LISTE;<br />
            facture.ID_REV = ID_CLIENT;<br />
            facture.NUM_PF = NUM_PF;<br />
            facture.NUM_PP = NUM_PP;<br />
            facture.REFERENCE = REFERENCE;<br />
            facture.CLE = CLE;<br />
            facture.ID_COM = ID_COM;<br />
            facture.MONTANT_COM = MONTANT_COM;<br />
            facture.DATE_COM = DATE_COM;<br />
            facture.RED_COM = RED_COM;<br />
            facture.INTER_GROUPE = INTER_GROUPE;<br />
            return facture;<br />
            <br />
            <br />
            <br />
<br />
        }<br />

推荐答案

我写了一个提示技巧:

将动态参数列表传递到Web服务 [ ^ ]

I wrote a tip trick about it:

Pass Dynamic List of Parameters to Web Service[^]

That should get you started.


我很确定您不能将ref用作参数修饰符.与其从地狱中获取参数列表,不如创建一个XML字符串并仅传递一个参数,然后返回带有结果的xml字符串.

相信我-它更容易维护.
I''m pretty sure you can''t use ref as a parameter modifier. Instead of doing th parameter list from hell, create a XML string and pass just one parameter, and return a xml string with the results.

Believe me - it''s much simpler and easier to maintain.


可能是由于数据类型不匹配所致.您可以查看此页面

http://forums.asp.net/t/1373290.aspx [
May be this is due to data type mismatch.You can check this page

http://forums.asp.net/t/1373290.aspx[^]


这篇关于当我在Web服务中调用方法时发生错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆