2009-06-24 8 views
0

Nous connectons une application webservice (java) à partir de l'application C# (VS.Net 2003). Service Web fonctionnant sur le protocole HTTP 1.0. D'autre part VS.Net 2003 essayant d'atteindre avec le protocole HTTP 1.1. Par conséquent, les objets ont une valeur nulle.Problème de service Web .NET Framework

Par exemple, nous obtenons la chaîne [5] l'objet est correct mais les éléments du tableau sont une valeur nulle.

Nous devons prendre le protocole HTTP à 1.0. Avec 2005 et 2008 pas de problème. Comment faire cela dans VS 2003 framework 1.1?

Répondre

0

Pouvez-vous obtenir un exemple de ce qui devrait être affiché pour l'appel de service Web 1.0? Si oui, jetez un coup d'oeil à cela et assurez-vous que tout est passé dans l'enveloppe de savon correctement et tous les paramètres qui sont ajoutés à l'en-tête. Je viens de mettre à jour une application qui peut être utilisée pour faire des appels SOAP en utilisant un WebRequest et elle a échoué chaque fois que vous avez essayé d'appeler un service Web 1.1. Il y avait plusieurs problèmes.

1) namespace

- 1.2 = "soap12" 
    - 1.1 = "soap" 

    *Plus, the URL is different for each namespace. 

2) ContentType

- 1.2 = "application/soap+xml; charset=utf-8" 
    - 1.1 = "text/xml; charset=utf-8" 

3) Lors de l'appel des services Web 1.1 je dû mettre SoapAction dans l'en-tête. Sans cela, gardé une erreur 500 du serveur. J'ai découvert cela en consultant la page de test générée automatiquement par le service Web (qui contient des exemples d'appels SOAP 1.1 et 1.2). Je l'ai ensuite comparé à ce que nous construisions comme notre enveloppe SOAP/en en-tête. Une fois que ce que nous produisions correspondait à l'exemple, tout a fonctionné comme prévu.

Puisque je ne sais pas comment vous appelez le service Web Java, les informations ci-dessus peuvent ou non être applicables, mais au moins vous avez des choses à vérifier.

Si vous pouviez poster des informations plus spécifiques sur la façon dont vous appelez le service Web dans VS2003 (exemple de code), vous obtiendrez une réponse plus définitive.

Questions connexes