J'essaie d'utiliser Axis2 pour se connecter à un service web SOAP. Cela fonctionnait précédemment dans l'Axe 1, mais 2 cause des problèmes. J'ai régénéré le code Java en utilisant wsdl2java
qui a généré les stubs pour Axis2, mais il est tombé lors du traitement d'un élément de la réponse du serveur avec une "valeur de sous-élément inattendue".axis2 "valeur de sous-élément inattendue"
Le fragment du document en question est wsdl:
<complexType name="A">
<sequence>
<element name="a" type="xsd:base64Binary" minOccurs="1" maxOccurs="1" nillable="false" />
<element name="b" type="xsd:string" minOccurs="1" maxOccurs="1" />
<element name="c" type="xsd:string" minOccurs="1" maxOccurs="1" />
<element name="d" type="xsd:string" minOccurs="1" maxOccurs="1" />
<element name="e" type="xsd:string" minOccurs="1" maxOccurs="1" />
<element name="f" type="xsd:string" minOccurs="1" maxOccurs="1" />
</sequence>
</complexType>
La réponse ressemble à être retourné:
<stuff>
<a>dsfusdbifsdisuibvuidnfuisndfvl\sbvuidn</a>
<b>string</b>
<c>string</c>
<d>string</d>
<e>string</e>
<f>string</f>
</stuff>
<stuff>
<a>dsfusdbifsdisdfsfsdfsdfuibvuidnfuisndfvl\dfgd</a>
<b>string</b>
<c>string</c>
<d>string</d>
<e>string</e>
<f>string</f>
</stuff>
<stuff>
<a>dsfusdbifsdisuibvuidnfuisndfvl\sdfsdfvv</a>
<b>string</b>
<c>string</c>
<d>string</d>
<e>string</e>
<f>string</f>
</stuff>
<stuff>
<a>wwasdfgfbdfb\sbv==uidn</a>
<b>string</b>
<c>string</c>
<d>string</d>
<e>string</e>
<f>string</f>
</stuff>
genre de chose. La plupart de ces blocs <stuff>
processus bien, mais le dernier échoue <b>
avec l'erreur ci-dessus. Débogage du code, il échoue car reader.isStartElement()
renvoie false et new javax.xml.namespace.QName("","b").equals(reader.getName())
est false - reader.getName()
renvoie "a". Le débogage plus loin, reader.currentElement
signale "chaîne" au lieu du type d'objet enveloppé qu'il renvoie généralement. J'ai essayé ceci avec Axiom 1.2.7 et 1.2.8 - les deux semblent souffrir du même problème. Est-ce un bug connu, ou quelqu'un peut-il nous éclairer sur ce qui pourrait se passer?
Je réalise que c'est une vieille question .. mais comment changer de liaison? –