Consumir servicios web en Java puede ser tan sencillo como el hacerlo desde .NET.
Para ello vamos a utilizar Apache AXIS
En primer lugar, creamos nuestro servicio web ASP.NET. Tendrá esta pinta:
using System; using System.Web.Services; using System.Web.Services.Protocols; namespace WebService1 { [WebService(Namespace = "http://tempuri.org/")] [SoapDocumentService(RoutingStyle = SoapServiceRoutingStyle.RequestElement)] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Service1 : System.Web.Services.WebService { [WebMethod] public Cotizacion ObtenerCotizacion (string code) { Cotizacion cot = new Cotizacion(); cot.Code = code; cot.Value = 12.2f; return cot; } } public class Cotizacion { private string _code; public string Code { get { return _code; } set { _code = value; } } private float _value; public float Value { get { return _value; } set { _value = value; } } } }
Como podéis ver, es un servicio muy simple, con un método ObtenerCotizacion
que recibe el código de una empresa y devuelve un ficticio valor de cotización.
Vamos a ver cómo construir el proxy para utilizarlo desde Java.
AXIS trae una herramienta para generar el archivo de descripción WSDL desde un archivo Java, o el proceso contrario, crear el código Java desde un archivo WSDL.
Para ello, debemos ejecutar:
java org.apache.axis.wsdl.WSDL2Java <url del wsdl>
En nuestro caso,
java org.apache.axis.wsdl.WSDL2Java http://localhost:1871/Service1.asmx?wsdl
Esto nos genera un paquete con el namespace del servicio web, en nuestro caso org.tempuri, que contendrá varias clases:
Service1.java
Service1Locator.java
Service1Soap.java
Service1Soap12Stub.java
Service1SoapStub.java
Cotizacion.java
Una vez el proxy está creado por AXIS, todo es coser y cantar. Veamos como invocarlo:
Si ejecutamos el ejemplo, la consola mostrará:
La cotización de MSFT es 12.2
Filed under: Coding, Tech, Web Services | Tagged: .net, apache axis, interoperability, Java, JAVA Technology, Web Services, wsdl |
Como eu faço para consumir um web server apache axis no VB.NET?
aqui fala-se espanhol, não brasileiro
He leido el articulo y me parece interesante, soy desarrollador de Visual C# y estoy incursionando en Java, sin embargo no logro instalar Axis, estoy utilizando Eclipse.
Ojala puedas iluminarme.
Saludos.