(Anterior) Diseño con SOAP

Cliente de web service Java utilizado para cotización

Código Fuente PDVSA.java .

package com.osmosislatina.xml.soap;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;


public class PDVSA
{

  public static void main(String [] args) throws Exception {
	
   String endpoint = "http://www.osmosis.com/axis/Petroleo";
	
    if (args == null || args.length != 2) {
	   System.err.println("Uso:
      PDVSA <tipo_de_petroleo> <numero_de_barriles>");
	   return;
    }
	
    String tipo = new String(args[0]);
    Integer barriles = new Integer(args[1]);
	
    if (!(tipo.equals("Azteca") || tipo.equals("Bolivar") 
    || tipo.equals("Brent") || tipo.equals("Mexico") 
    || tipo.equals("Texas-L"))) {
	
    System.err.println("Tipos de Petroleo Disponibles: 
                      <Azteca,Bolivar,Brent,Mexico,Texas-L>");
    return;
    }

     Service  service = new Service(); 
     Call     call    = (Call) service.createCall();
	
     call.setTargetEndpointAddress( new java.net.URL(endpoint) );

     call.setOperationName(new QName("Petroleo", "cotizacion"));
     call.addParameter( "op1", XMLType.XSD_STRING, ParameterMode.IN );
     call.addParameter( "op2", XMLType.XSD_INT, ParameterMode.IN );
     call.setReturnType( XMLType.XSD_DOUBLE );

     Double ret = (Double) call.invoke( new Object [] { tipo, barriles });
	
     System.out.println("Su cotizacion : " + ret);
    }
}

Menú Curso

XML y sus Orígenes

Manipulación y Proceso de XML

DOM, SAX y JDOM

Namespaces, Schemas y DTD's

XSL: XSLT, XPath y TraX

XMLRPC y SOAP (Web Services)

Diseño con XMLRPC

Diseño con SOAP .

Apéndice "A" (Procesando XML con parsers).

Apéndice "B" (Validando XML con Schemas y DTD's).

Apéndice "C" (XSL: XPath y "XSL Stylesheets").

Apéndice "D" (XMLRPC: Diseño).

Apéndice "E" (SOAP, WSDL, UDDI y WSIL : Diseño).