java调用webservice接口

java怎么调用webservice接口呢?不知道的小伙伴来看看小编今天的分享吧!

java调用webservice接口有三种方法。

方法一:直接AXIS调用远程的web service,输入代码:

public void doSelectRiskReportForm(HttpServletRequest request,

HttpServletResponse response){

//调用接口

//方法一:直接AXIS调用远程的web service

try {

String endpoint = "http://localhost:8080/platform-jxcx-service/services/settlementServiceImpl?wsdl";

Service service = new Service();

Call call = (Call) service.createCall();

call.setTargetEndpointAddress(endpoint);

String parametersName = "settle_num"; // 参数名//对应的是 public String printWord(@WebParam(name = "settle_num") String settle_num);

//

call.setOperationName("printWord"); // 调用的方法名//当这种调用不到的时候,可以使用下面的,加入命名空间名

call.setOperationName(new QName("http://jjxg_settlement.platform.bocins.com/", "printWord"));// 调用的方法名

call.addParameter(parametersName, XMLType.XSD_STRING, ParameterMode.IN);//参数名//XSD_STRING:String类型//.IN入参

call.setReturnType(XMLType.XSD_STRING); // 返回值类型:String

String message = "123456789";

String result = (String) call.invoke(new Object[] { message });// 远程调用

System.out.println("result is " + result);

} catch (Exception e) {

System.err.println(e.toString());

}

}

方法二:直接SOAP调用远程的webservice

下载jar,SOAP 使用 HTTP 传送 XML,尽管HTTP 不是有效率的通讯协议,而且 XML 还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML 是一个开放、健全、有语义的讯息机制,而 HTTP 是一个广泛又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。但是如果效率对你来说很重要,那么你应该多考虑其它的方式,而不要用 SOAP。

import org.apache.soap.util.xml.*;

import org.apache.soap.*;

import org.apache.soap.rpc.*;

import java.io.*;

import java.net.*;

import java.util.Vector;

public class caService {

public static String getService(String user) {

URL url = null;

try {

url = new URL(

"http://192.168.0.100:8080/ca3/services/caSynrochnized");

} catch (MalformedURLException mue) {

return mue.getMessage();

}

// This is the main SOAP object

Call soapCall = new Call();

// Use SOAP encoding

soapCall.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);

// This is the remote object we're asking for the price

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

// This is the name of the method on the above object

soapCall.setMethodName("getUser");

// We need to send the ISBN number as an input parameter to the method

Vector soapParams = new Vector();

// name, type, value, encoding style

Parameter isbnParam = new Parameter("userName", String.class, user,

null);

soapParams.addElement(isbnParam);

soapCall.setParams(soapParams);

try {

// Invoke the remote method on the object

Response soapResponse = soapCall.invoke(url, "");

// Check to see if there is an error, return "N/A"

if (soapResponse.generatedFault()) {

Fault fault = soapResponse.getFault();

String f = fault.getFaultString();

return f;

} else {

// read result

Parameter soapResult = soapResponse.getReturnValue();

// get a string from the result

return soapResult.getValue().toString();

}

} catch (SOAPException se) {

return se.getMessage();

}

}

}

方法三:直接使用eclipse生成客户端.idea类同

以天气预报的为例:

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

用编辑器打开下载的文件,将

<s:element ref="s:schema" /> <s:any />

替换成

<s:any minOccurs="2" maxOccurs="2" />

然后将文件另存为weather.wsdl。

打开保存的文件路径输入cmd,输入

wsimport -s . weather.wsdl

显示以上内容,即为生成成功,以下这是生成的文件

新建一个测试类WebserviceTest .java:

public class WebserviceTest {

public static void main(String[] args) {

//也可以使用new WeatherWebService(url)此方法可重新设置请求的地址 URL url=new URL("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl")

WeatherWebService factory = new WeatherWebService();

WeatherWebServiceSoap weatherWebServiceSoap = factory.getWeatherWebServiceSoap(); //WeatherWebServiceSoap为调用的实现类

ArrayOfString strArray = null;

strArray = weatherWebServiceSoap.getWeatherbyCityName("武汉");

System.out.println(strArray.getString());

}

}

显示以下内容 即为调用成功。

以上就是小编今天的分享了,希望可以帮助到大家。

标签:java webservice接口

免责声明:本内容来自橡树街平台创作者或收集于互联网公开资源,不代表橡树街网的观点和立场。如有侵权内容,请联系我们删除。联系邮箱:ihuangque@qq.com
相关推荐
  • Java干什么的
    Java干什么的
    08-05
  • java comparator
    java comparator
    08-05
  • java tuple
    java tuple
    08-05
  • Java主要做什么
    Java主要做什么
    08-05
  • java作用是什么
    java作用是什么
    08-05
  • java框架有什么
    java框架有什么
    08-05
  • java待遇怎么样
    java待遇怎么样
    08-05
  • Java认证有什么用
    Java认证有什么用
    08-05
  • Java要学些什么
    Java要学些什么
    08-05
  • java程序员能做什么
    java程序员能做什么
    08-05