PDA

Ver la Versión Completa : Web Service Client


CLAUDIA CARDENAS
31/05/07, 22:08:44
Hola a todos!



Estoy tratando de realizar un Web Service Client con Netbeans para consumir un WS creado en SAP (ABAP), de acuerdo a un turorial encontrado en la Web, pero llego a un punto en el que quedo barada.



De acuerdo a la guía que estoy llevando (http://www.netbeans.org/kb/50/quickstart-webservice-client.html) , lo siguiente que debo realizar es:



Testing the Web Service
1. In the Projects window, within the Web Service References node, double-click the 'letterSolutionsMin' operation. The Test Web Service Operation dialog box appears.

Pero al realizar este punto no sucede nada, no se si es que estoy haciendo algo mal o me falta configurar algo.



paso a paso lo que he realizado, pero no me deja adjuntar porque es muy pesado, de antemano muchas gracias

P.D.: el documento paso a paso fue agregado en la parte de manuales de debido al tamañó, se llama WSClient - Netbeans

CLAUDIA CARDENAS
12/06/07, 17:48:02
después de varias piruetas ya he podido realizar el aplicativo para poder hacer el consumo, pero ahora me surge un error de autorizaciones (401)

javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://...100&wsdl=1.1. It failed with:

Server returned HTTP response code: 401 for URL: http://...100&wsdl=1.1.

alguien me comento que era un problema con librerias en java, pero la verdad es que no encuentro nada de documentación para esto, y pues sigo barada!

de antemano muchisimas gracias....

CLAUDIA CARDENAS
12/06/07, 19:50:34
Para poder realizar el consumo del Web service realice los siguientes pasos, todo lo realice en netbeans 5.5.1 con j2ee incorporado, a parte hice la instalación del j2sdk...

1. en la ventana Projects, clic derecho y seleccionar la opción nuevo proyecto.
2. aparecera la ventana New Project, en General, seleccionar Java Application
3. dar Next.
4. ingresar el nombre que se desea para la aplicación y finalmente dar clic en Finish
5. aparecera un Main.java, en donde existira clase main publica (public class Main) y dentro de esta existira un public Main, además de un public static void main.
6. Nuevamente en la ventana Projects, seleccionamos la aplicación
7. clic derecho en ella seleccionamos New -> Web Service Client
8. Seleccionamos la opción WSDL Url, e ingresamos la URL de nuestro WS.
9. para saber en SAP cual es la dirección del WS, ingresamos la transacción WSADMIN, allí nos apareceran diferentes carpetas con los WS que tenga nuestro sistema, seleccionamos el que queramos, damos ctrl + f1
10. nos aparecera una ventana que contiene las parametrizaciones de WSDL, dando clic en el chulo o enter.
11. nos pedira nuestro usuario y clave de sap, el cual es necesario ingresar.
12. mostrando el WS, en la barra de direcciones se verá la URL, esa es la que copiamos, para continuar en el punto 8.
13. además en la ventana de New Web Service Client, en el campo Package, escribimos client, y damos clic en finish
14. Netbeans ira a buscar WS, pidiendo así el usuario y la clave de sap, es normal.
15. aparecerá una nueva carpeta aliada a la aplicación, que tendrá el nombre de Web Services Reference, seleccionemos todo hasta la ultima instancia, ahi podremos ver nuestro Web Service, lo que nos indica que se esta haciendo el debido llamado... aparecerá como con un punto rojo al lado izquierdo.
16. selecciona el WS que se visualiza y arrastralo hasta el public static void main, del Main.java, de la aplicación.
17. se creará codigo un try - catch,

hasta acá voy yo, para saber que error sucede, el 401, ingreso la siguiente línea de codigo en el catch...

ex.printStackTrace();

18. Build -> build main project
19. Run -> Run Main Project

alguién me comento que erá por una libreria que necesitaba para sap en java y pues finalmente esto es lo que me muestra...

init:
deps-jar:
wsimport-init:
wsimport-client-check-ZCONSNIT_sap-client_100_wsdl_1.1:
wsimport-client-ZCONSNIT_sap-client_100_wsdl_1.1:
wsimport-client-generate:
wsimport-client-compile:
compile:
run:
javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://agerpdes.alfagres.com.co:8000/sap/bc/srt/rfc/sap/ZCONSNIT?sap-client=100&wsdl=1.1. It failed with:
Server returned HTTP response code: 401 for URL: http://agerpdes.alfagres.com.co:8000/sap/bc/srt/rfc/sap/ZCONSNIT?sap-client=100&wsdl=1.1.
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:136)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:122)
at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:226)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:189)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:159)
at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:81)
at javax.xml.ws.Service.<init>(Service.java:56)
at client.ZCONSNITService.<init>(ZCONSNITService.java:41)
at webserviceclient.Main.main(Main.java:28)
Caused by: java.io.IOException: Server returned HTTP response code: 401 for URL: http://agerpdes.alfagres.com.co:8000/sap/bc/srt/rfc/sap/ZCONSNIT?sap-client=100&wsdl=1.1
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1170)
at java.net.URL.openStream(URL.java:1007)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:785)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:236)
at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:107)
... 7 more
BUILD SUCCESSFUL (total time: 2 seconds)

CLAUDIA CARDENAS
27/06/07, 16:13:45
Bueno, alguién me comento que por C# se manejaba por credenciales, como para que, ni idea,

que enhuesada en la que sigo! :p

MIGUEL VASQUEZ
19/02/08, 04:07:35
Excelento como explicas los pasos para consumir un WS con netbean gracias por publicarlo. Yo programo en java pero igual me sirvio para consumir un WS de java en Websphere y Un glassfish.

edwinsap
22/03/12, 19:43:16
Estoy haciendo exactamente los pasos que comenta Claudia, mas la direccion de wsdl es https://www2.ventanillaunica.gob.mx/ventanilla-8/RecibirCoveService?wsdl, al realizar el ws cliente si importa las clases, etc.. mas al instanciar la informacion a mandar como parametros en la llamada. me sale el siguiente error, tienen idea cual seria la solucion.

Exception in thread "main" javax.xml.ws.WebServiceException: Cannot find 'https://www2.ventanillaunica.gob.mx/ventanilla-8/RecibirCoveService?wsdl' wsdl. Place the resource correctly in the classpath.
at mx.gob.ventanillaunica.cove.ws.service.RecibirCoveService.<clinit>(RecibirCoveService.java:38)
at dircprueba.DircPrueba.main(DircPrueba.java:65)
Java Result: 1
BUILD SUCCESSFUL (total time: 13 seconds)


de antemano gracias