2011-10-12 17 views
6

Tengo el servidor SOAP ejecutándose. Necesito escribir un cliente SOAP para el servidor. ¿Puedes sugerir un complemento en eclipse o darme la URL relacionada con esto?cómo crear un cliente de jabón?

puede usted por favor me proporcione usted tiene cualquier código de cliente SOAP muestra?

Mi cliente SOAP debería usar como objetos complejos de parámetro de/argumentos de la función de SOAP que se expone en el servidor SOAP.

+0

Debe ser un poco más específico sobre lo que está tratando de hacer. Cual idioma ? Qué has intentado hasta ahora ? – fyr

+0

hola gracias por su respuesta rápida que quiero crear en java una de las soluciones puede ser import org.apache.axis.client no sé si es adecuado o no, pero algún tipo de esto me puede ayudar a crearlo –

Respuesta

3

Su pregunta es muy vaga, a fin de utilizar Apache CXF y seguir este tutorial:

  1. Este es el más reciente (2011) writeup: Creating a SOAP client with either Apache CXF or GlassFish Metro
  2. How to create a WSDL-first SOAP client in Java with CXF and Maven y
  3. This demo illustrates Apache CXF's support for SOAP headers

De otra manera, también puede utilizar Apache AXIS2.

+0

en el [Preguntas frecuentes de Apache CXF] (http://cxf.apache.org/faq.html#FAQ-CanCXFrunwithJDK1.7%3F) dice "TBD" en lo que respecta al soporte de Java 7. – Eyal

0

Eso es más o menos una cuestión general poco. Desde mi punto de vista, sugiero utilizar Apache CXF: http://cxf.apache.org/

Hay muestras muy buenas y usted define un WSDL y genera el servidor así como el código del cliente. También hay complementos Maven que hacen este TRABAJO automáticamente para usted. Incrustar un servicio web existente descrito por un WSDL también es posible.

Pero sin embargo, esto es más una cuestión de gustos y necesidades.

Las alternativas pueden ser encontrados, por ejemplo, aquí: http://java-source.net/open-source/web-services-tools

1

actualización de su eclipse nueva versión (lo he visto trabajar con Eclipse 3.3.2 Europa también aunque :)). Vaya al asistente de proyecto nuevo y bajo Servicio web seleccione Cliente del servicio web, haga clic en Siguiente y luego proporcione la ubicación del archivo wsdl de su servicio web. Eclipse generará automáticamente stubs de servicios web para usted.

3

Suponiendo Java:

1.- Ejecutar:

wsimport -keep -p myClient url_to_wsdl 

Dónde MyClient será una carpeta con los artefactos del cliente generado. url_to_wsdl la url a su WSDL.

2.- Crear una clase de cliente con un método con el siguiente código:

YourServiceClass service = new YourServiceClass(); 
    YourEndpointClass port = service.getPort(); 
    YourRequestClass request = new YourRequestClass(); 
    YourMessageClass message = new YourMessageClass(); //In case you have it 
    message.setParam1(param1); //depending on your message 
    message.setParam2(param2); 

    request.setMessage(message); 
    YourResponseClass response = port.ServiceOperation(request); //This call locks execution 

    System.out.println(response.getMessage().getResponse()); 
  • YourServiceClass es el artefacto generado la extiende javax.xml.ws.Service.

  • YourEndpointClass se puede ver en YourServiceClass en una operación que llama super.getPort();

  • YourRequestClass y YourResponseClass dependerá de cómo se gestiona el mensaje de solicitud y respuesta.

  • YourMessageClass sería una clase contenedora para su mensaje (según WSDL).

Todos Sus clases * deben haber sido generados por wsimport e importados a su clase de cliente. Con la bandera -keep en wsimport, podrá ver los archivos .java y determinar qué clases necesita para completar este código.

Cuestiones relacionadas