Regardez votre fichier WSDL. Dans Axis2 1.5 l'outil wsdl2java
utilisera ce port SOAP1.2 pour générer le noeud final cible pour votre talon:
<wsdl:port name="HelloWorldServiceHttpSoap12Endpoint" binding="ns:HelloWorldServiceSoap12Binding">
<soap12:address location="http://localhost:8082/axis2/services/HelloWorldService.HelloWorldServiceHttpSoap12Endpoint/" />
</wsdl:port>
Vous pouvez utiliser l'option -pn
de wsdl2java
si vous avez besoin d'utiliser un autre port.
Téléchargez votre fichier WSDL localement et vérifiez que la section du port est correcte (pas de https). Générez en outre les sources avec wsdl2java, par ex. sur ma machine:
[email protected]:~/axis2-1.5.1/bin> ./wsdl2java.sh -uri /home/lucho/sayhello.wsdl
Using AXIS2_HOME: /home/lucho/axis2-1.5.1
Using JAVA_HOME: /opt/jdk1.6.0_18
Using JAVA_OPTS: -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
Retrieving document at '/home/lucho/sayhello.wsdl'.
Vérifiez maintenant votre stub généré, vous devriez voir quelque chose comme ceci dans le cas où votre WSDL ressemble à la mienne:
/**
* Default Constructor
*/
public HelloWorldServiceStub() throws org.apache.axis2.AxisFault {
this("http://localhost:8082/axis2/services/HelloWorldService.HelloWorldServiceHttpSoap12Endpoint/");
}
Ensuite, dans votre code de test vous pouvez également utiliser un constructeur pour votre talon qui prend le point final cible. En fait, je préfère cette approche parce que le client WS est plus flexible pour les changements dans le réseau cible. Pour votre question devrait être quelque chose comme:
public HelloWorldServiceStub(java.lang.String targetEndpoint)
Et last but not least, je vous recommande ce livre pour rapide tutoriel de démarrage SOAP Attachments using apache axis2
Cheerz!
Le truc RoseIndia est assez mauvais, je vous conseillerais de trouver une source différente pour les tutoriels. – skaffman