2009-09-22 3 views
1

J'ai un webmethod comme ceci:Http poste à asmx avec le paramètre sans nom

[WebMethod] 
    public string HelloWorld(string a) 
    { 
     return a; 
    } 

Les instructions pour poster à mon asmx webmethod dire à afficher comme ceci:

POST /Service1.asmx/HelloWorld HTTP/1.1 
Host: localhost 
Content-Type: application/x-www-form-urlencoded 
Content-Length: length 

a=string 

Cependant, je veux être pouvoir accepter ceci:

POST /Service1.asmx/HelloWorld HTTP/1.1 
Host: localhost 
Content-Type: application/x-www-form-urlencoded 
Content-Length: length 

string 

Comment puis-je faire cela? Merci

+0

Pourquoi voulez-vous faire cela? Aucun outil standard ne pourra communiquer avec votre service Web. –

Répondre

3

Il s'agit plus d'un problème du protocole HTTP POST plus d'un problème ASP.NET. Le format du corps POST doit être "variable = valeur; variable2 = valeur2 ..."

0

Juste pour répéter ce problème. J'ai un problème similaire où un outil 3ème partie affiche un objet JSON {a:1, b:2, c:3}

mon code .net ressemble

public bool AcceptPush(ABCObject ObjectName) 

L'outil 3ème partie ne publie pas {ObjectName:{a:1, b:2, c:3}} si elle ne n'y aurait pas de problème.

Vous pouvez coder le .net comme ceci:

public bool AcceptPush(int a, int b, int c) 

Mais en réalité, ce qui est beaucoup plus laid et l'objet acutal est beaucoup plus compliqué que cet exemple simple

Questions connexes