J'utilise axis2 pour mes services Web. Aujourd'hui, quand j'ai essayé d'utiliser mon propre fichier wsdl au lieu de l'axe2 par défaut généré un comportement inattendu observateur.Viens les détails.Utilisation du fichier wsdl personnalisé dans axis2 - Problème lors de l'utilisation de <xs:all> au lieu de <xs:sequence>
Ceci est la pièce originale du fichier wsdl.
<xs:element name="multiply">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="a" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="b" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="c" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
I changed <xs:sequence> to <xs:all> so that i can send elements in any order in soap request.Below is the changed one.
<xs:element name="multiply">
<xs:complexType>
<xs:all>
<xs:element minOccurs="0" name="a" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="b" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="c" nillable="true" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
Quand j'exécute ce que je reçois pour une valeur est Blanck et nulle b et c.
Ceci est la demande de savon que j'envoie <axis:multiply> <axis:a>a</axis:a> <axis:b>b</axis:b> <axis:c>c</axis:c> </axis:multiply>
au serveur.
Voici l'extrait de code que je utilise à côté serveur
public String multiply(String a, String b, String c) throws Exception
{
LogHelper.info(logger, "Begin - Multiply");
if (a.trim().equals(""))
LogHelper.info(logger, "value fo a is a=\"\"");
if (b == null)
LogHelper.info(logger, "value fo b is null");
if (c == null)
LogHelper.info(logger, "value fo c is null");
return "Hellow World";
}
sur la console pour les bûcherons Iam obtenir ci-dessous à mettre:
19:47:20,227 INFO [STDOUT] INFO [SampleWebService] Begin - Multiply
19:47:20,227 INFO [STDOUT] INFO [SampleWebService] value fo a is a=""
19:47:20,227 INFO [STDOUT] INFO [SampleWebService] value fo b is null
19:47:20,228 INFO [STDOUT] INFO [SampleWebService] value fo c is null
Peut-on dire pourquoi je suis valeurs receivng comme noir ou nul même si je fournis des valeurs.
Merci,
Narendra
Salut. Merci pour votre réponse. En utilisant axis2 1.5.2. Pouvez-vous me dire dans quelle version il est fixé (Est-il fixe dans axis2 1.5.3) – Narendra
Je ne sais pas pourquoi cela ne fonctionne pas pour vous :(Je l'ai testé avec axis2 1.5.1 S'il vous plaît voir ma réponse mise à jour. –