Red de conocimiento informático - Conocimiento informático - Cómo llamar a servicios de red usando WSDL

Cómo llamar a servicios de red usando WSDL

Veamos cómo Java llama a estos servicios web a través de archivos WSDL:?

Tenga en cuenta que el siguiente código no se ha probado realmente. Es solo para ilustrar estas situaciones. Las diferentes versiones de Axis son muy diferentes. Será mejor que consulte el ejemplo en el sitio de Apache. para ilustrarlo.

1. ¿AXIS llama directamente a servicios web remotos?

Creo que este método es más adecuado para aquellos expertos. Pueden entender directamente el archivo WSDL en formato XML. Yo no puedo entenderlo, especialmente porque no me especializo en esta línea de trabajo. Incluso después de leer un párrafo se olvida el tiempo.

El modo de llamada directa es el siguiente:?

import?java.util.Date;

import?java.text.DateFormat;

import?org. apache.axis .client.Call;

importar?org.apache.axis.client.Service;

importar?javax.xml.namespace.QName;

importar? java.lang.Integer;

importar?ParameterMode;

público?caClient?{

público?static?void?main(String[] ?args) ?{ intentar?*;

importar?java.util.Vector;

public?class?caService{

public?static?String? getService(String ?user)?{

URL?url?=?null;

¿intentar?{

url=new?URL("http:/ /192.168.0.100: 8080/ca3/services/caSynrochnized");

}?catch?(MalformedURLException?mue)?{ return?mue.getMessage(); } //Esto?es?main ?SOAP?objeto

Llamar?soapCall?=?new?Call();

//?Use?SOAP?encoding?

soapCall.setEncodingStyleURI( Constants.NS_URI_SOAP_ENC );

//? Este es el objeto remoto por el que estamos pidiendo el precio

soapCall.setTargetObjectURI("urn:xmethods-caSynrochnized");

///? Este es el nombre del método en el objeto anterior

SoapCall.setMethodName("getUser");

/? Necesitamos enviar el número ISBN como parámetro de entrada al método

Vector? SoapParams?= newVector();

// nombre, tipo, valor, estilo de codificación

Parámetro isbnParam?setParams(soapParams);

try?{//Llamar al método remoto en el objeto Response?soapResponse?=?soapCall.invoke(url, ""); // ¿Comprueba si hay un error y devuelve "N/A"? if (soapResponse.generatedFault())? { ¿Fault?fault?=?soapResponse.getFault(); String?f?=?fault.getFaultString(); return?f; obtenerRetorno

Valor(); //?obtener?{ retorno?