Tengo uno de los requisitos para desarrollar el cliente de servicio web en la versión autónoma de java de la aplicación que está usando spring framework. Mi pregunta es ¿cómo puedo desarrollar una clase de java que puede ser utilizado para llamar a un servicio web. Todo lo que tengo es la ubicación del WSDL y archivo wsdl? También esta aplicación se debe ejecutar en diff envt. donde url del WSDL es diff. Así que, básicamente quiero extraer la url de la propiedad, si es posible.

Escuché sobre el uso de JaxwsproxFactoryBean partir de la primavera de marco, pero al no encontrar ningún buen ejemplo de trabajo.

InformationsquelleAutor javauser2011 | 2011-07-26

2 Comentarios

  1. 3

    Si quieres ir con la Primavera, JaxwsProxyFactoryBean es el camino a seguir. Al menos yo lo hice.

    He seguido este ejemplo:

    http://krams915.blogspot.com/2010/12/spring-mvc-3-accessing-web-services.html

    No he probado el código exacto prevista en este artículo, pero he seguido paso por paso y me hizo el trabajo. Y es libre de problemas: la herramienta wsimport en este ejemplo se utiliza para la generación de las clases y JaxwsProxyFactoryBean se utiliza para inyectar el proxy:

    <bean id="subscriptionJaxProxyService" class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean"
     p:serviceInterface="org.krams.tutorial.oxm.SubscriptionPort"
     p:wsdlDocumentUrl="http://localhost:8081/spring-ws-standalone/krams/ws/subscription.wsdl"
     p:namespaceUri="http://krams915.blogspot.com/ws/schema/oss"
     p:serviceName="SubscriptionPortService"
     p:portName="SubscriptionPortSoap11"/>

    Finalmente, inyectar un contador de referencias/unmarshaller a través de la primavera (por ejemplo, Jaxb2Marshaller) para deserializar la web del servicio de respuestas.

    Notas:

    • asegúrese de comprobar en el artículo se menciona al principio:

    http://krams915.blogspot.com/2010/12/spring-ws-mvc-implementing-client.html

    • la parte más molesta era conseguir wsimport a trabajar. Asegúrese de utilizar la versión 1.12, desde los repositorios:

      <pluginRepository>
          <url>http://download.java.net/maven/2</url>
          <id>Java dot Net</id>
          <layout>default</layout>
          <name>Repository for JAX-WS commons</name>
      </pluginRepository>
  2. 0

    En mi opinión, usted no necesariamente tiene que utilizar la Primavera con el fin de crear un cliente de servicio web.

    wsimport herramienta puede ser utilizada para este propósito.

    abrir el símbolo del sistema, cambie dir a donde wsimport.bat /ws.import.sh y ejecutar el siguiente comando.

    wsimport -mantener -verbose ${su wsdl ubicación}

    Varios archivos de origen se han generado (más probablemente )en una carpeta llamada com. El nombre de la carpeta de nivel superior depende del nombre de la parte superior del paquete que ha utilizado en su wsdl.

Dejar respuesta

Please enter your comment!
Please enter your name here