2009-04-28 11 views
0

J'essaie de créer un service Web qui est un consommateur vers un autre service Web. Voici la disposition ..Comment appeler un service Web à partir d'un service Web

J'ai développé une classe Java et créé un service web. Puis j'ai utilisé les outils Eclipse pour générer un talon côté client et d'autres fichiers.

J'ai emballé ces fichiers dans un pot et je l'ai utilisé dans un autre projet. J'ai testé les fichiers dans le jar j'ai pu accéder au premier service web.

Maintenant, j'ai créé un autre webservices du projet dont j'ai testé le premier.

Maintenant, lorsque j'écris un client sur le deuxième service Web, il ne semble pas être en mesure de trouver les stubs pour le premier. me donne l'erreur suivante

org.apache.axis2.AxisFault: com/chats/patient/PatientDataStub à org.apache.axis2.util.Utils.getInboundFaultFromMessageContext (Utils.java:512) à org.apache. axis2.description.OutInAxisOperationClient.handleResponse (OutInAxisOperation.java:370) à org.apache.axis2.description.OutInAxisOperationClient.send (OutInAxisOperation.java:416) à org.apache.axis2.description.OutInAxisOperationClient.executeImpl (OutInAxisOperation. java: 228) à org.apache.axis2.client.OperationClient.execute (OperationClient.java:163) à com.esps.patient.PatientDataESPSStub.getPatientByID (PatientDataESPSStub.java:186) à com.esps.patient. ESPS TestClient.main (ESPSTestClient.java:22)

J'ai inclus tous les pots dans tous les projets.

Toute aide sera appréciée. Adhir

+0

Ces deux services Web résident-ils sur la même instance de serveur d'applications? c'est-à-dire dans la même guerre tomcat. –

+0

Pas très clair pour moi - Vous voulez dire que le client parlant à WebService1 et WebService1 parle à WebService2. Qui ne peut pas trouver le talon pour WebService2? Est-ce WebService1 ou vous l'obtenez dans Client? –

+0

Nathan, oui les deux webservices sont sur la même instance de serveur de tomcat mais dans des contextes différents. Bhushan, le client n'est pas en mesure de localiser le talon pour WS2 pas WS1. Vous avez bien compris. – Adhir

Répondre

1

En regardant le client d'exception ont trouvé le stub de WS1. L'erreur d'exception s'est produite lors de la lecture de la réponse.

Essayez tcpmon pour voir quelle était la demande et la réponse. Avant tcpmon, vous pouvez vérifier dans WS1 s'il reçoit des demandes du client en mettant quelques informations de débogage.

+0

le client parle à WS1 et WS1 parle à WS2. J'ai emballé les pots de souche de WS2 dans le client mais toujours pas aller. J'utilise les stubs du WS2 dans WS1 pas le client, juste FYI. Merci, mais la situation prévaut toujours – Adhir

+0

Dude vous avez vraiment besoin de poser correctement votre question, donc créé beaucoup de confusion. Lisez à nouveau votre commentaire, vous dites que le client parle à WS1 mais que vous mettez des talons de WS2. Si vous ne mettez pas de talon de WS1 dans le client, comment obtiendrez-vous le talon? –

+0

désolé de la confusion je vais essayer d'expliquer à nouveau consomme consomme client ----------------------> WS1 ----------- ----------------> WS2 a ws2 & a ws2 stub jars ws1 stub jars – Adhir

0

Si vous utilisez Spring frawe, alors je vous suggère d'utiliser RestTemplate pour appeler un autre Webservice à partir d'un autre Webservice.

Questions connexes