问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java调用 webservice 接口怎么调用

发布网友 发布时间:2022-04-29 04:39

我来回答

2个回答

懂视网 时间:2023-02-14 20:54

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());

}

}

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

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

热心网友 时间:2023-02-14 18:02

太简单了,这个跟Java访问url是一样的:

/**   
* 程序中访问http数据接口
* @param  urlStr webService地址地址   
*/
   public static String getURLContent(String urlStr) {   
/** 网络的url地址 */
URL url = null;  
/** http连接 */
HttpURLConnection httpConn = null;
/**//** 输入流 */   
BufferedReader in = null;   
StringBuffer sb = new StringBuffer();   
try{ 
url = new URL(urlStr); 
in = new BufferedReader( new InputStreamReader(url.openStream(),"UTF-8") );   
String str = null;
while((str = in.readLine()) != null) {
sb.append( str ); 

} catch (Exception ex) {   
ex.printStackTrace();
} finally{
try{ 
if(in!=null) {  
in.close(); 

}catch(IOException ex) {
ex.printStackTrace();


String result =sb.toString(); 
System.out.println(result); 
return result;
}

然后解析字符串就好了。是不是很简单

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音弹幕怎么关掉?怎么关闭抖音弹幕? 惠普LaserJet P3005D是否支持B5纸的双面打印? word打印出图片总是缺一部分怎么办-word打印图片不完整怎么解决_百度... 理想one哪里产的车辆? 抚州抚州ONE在哪里? one地址在哪里? 如何在图片上写字(如何在图片上添加文字) 网商贷为什么钱没到账 高级经济师职称怎么评 高级经济师需要评审吗 java程序如何调用webservice接口,实现发送短信功能 java调用WebService接口为什么这么慢 现在java调用webservice是用什么技术? java调用webservice错误:Could not send Message java开发webservice接口有几种方式 java调用webservice接口具体怎么调用 如何在java web 里面使用webservice技术 java 怎样调用本地webservice java怎么调用webservice 如何使用java做webservice java 如何实现webservice 怎么调用接口 面试题java实现webservice如何实现 你好,我想问有钱花贷款两万一天利息多少钱 尊享贷利率是多少? 有钱花尊享贷利息 秋海棠用什么来繁殖? 四季海棠有哪些繁殖方法? 四季海棠繁殖方法是什么? 秋海棠的繁殖方式是怎样的? 海棠花如何播种繁殖? 怎么将支付宝盒上的绑定码被朋友绑定了绑定账户解除? 紫菜包饭,紫菜包饭的做法,紫菜包饭怎么做 淘宝店开今日头条需要什么资质 桂花怎样晾晒 如何晒出色泽金黄的桂花干? 又小又弯曲的铁棍山药好不好 为什么商家不能进驻淘宝头条注册头条号 金丝山药和铁棍山药哪个好 烘桂花时,桂花会不会变色?谁来告诉我?怎么样才会不变色 如何选购好的铁棍山药?请说出好的铁棍山药的辨别方法。谢谢啦。_百度知... 魅族手机可以一键换机吗? 桂花应该怎么晒? 自媒体这么火,掌柜们如何用自媒体方式玩转淘宝 在淘宝上买的今日头条号。为什么老是封号? 淘宝营业执照可以入驻今日头条吗 铁棍山药是较细的好,还是较粗点好 魅蓝u10一键换机在那里 魅族mx5怎么样怎么样跟小米3一键换机 vivox9plus的一键换机功能在哪里 怎样将手机里的pdf下载到步步高家教机s5?