Java客户端调用Webservice接口流程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java客户端调用Webservice接口流程相关的知识,希望对你有一定的参考价值。

参考技术A

给你看看以前写的获取电话号码归属地的代码的三种方法,然后你就懂了。

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.PostMethod;

public class MobileCodeService 

    public void httpGet(String mobile,String userID) throws Exception
    
        //http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo?mobileCode=string&userID=string 
       URL url = new URL("http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo?mobileCode="+mobile+"&userID="+userID);
       HttpURLConnection conn =(HttpURLConnection)url.openConnection();
       conn.setConnectTimeout(5000);
       conn.setRequestMethod("GET");
       
       if(conn.getResponseCode()==HttpURLConnection.HTTP_OK)  //200
       
          InputStream is= conn.getInputStream();
          
          ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();  //
          
          byte [] buf = new byte[1024];
          int len = -1;
          while((len = is.read(buf))!=-1)
          
              //获取结果
              arrayOutputStream.write(buf, 0, len);
          
          
          System.out.println("Get方式获取的数据是:"+arrayOutputStream.toString());
          arrayOutputStream.close();
          is.close();
       
    
    
    
    public void httpPost(String mobile,String userID) throws HttpException, IOException
    
        //访问路径   http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo
        //HttpClient访问
        
        HttpClient httpClient = new HttpClient();
        PostMethod pm = new PostMethod("http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo");
        
        pm.setParameter("mobileCode", mobile);
        pm.setParameter("userID", userID);
        
        int code= httpClient.executeMethod(pm);
        System.out.println("状态码:"+code);
        
        //获取结果
        String result = pm.getResponseBodyAsString();
        System.out.println("获取到的数据是:"+result);
    
    
    public void SOAP() throws Exception
    
        HttpClient client = new HttpClient();
        
        PostMethod method = new PostMethod("http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx");
        
        //设置访问方法的参数
        method.setRequestBody(new FileInputStream("C:\\\\soap.xml"));
        
        method.setRequestHeader("Content-Type","text/xml; charset=utf-8");
        
        int code= client.executeMethod(method);
        System.out.println("状态码:"+code);
        
        //获取结果
        String result = method.getResponseBodyAsString();
        System.out.println("获取到的数据是:"+result);
    
    
    public static void main(String[] args) throws Exception 
        MobileCodeService mcs=new MobileCodeService();
        mcs.httpGet("18524012513", "");
        //mcs.httpPost("18524012513", "");
        //mcs.SOAP();
    

java调用webservice接口实现发送短信??????

提供接口:http://124.42.126.246/GoComProtocol/GoComWebService.dll/wsdl/IGoComWebService

感觉没得一点头绪,望各位大侠多多指点啊!!

参考技术A 首先我访问不到你提供的webservice
你可以直接找那个给你webservice的人对他提供的方法进行询问
不知你是什么项目框架所以不能给出具体的方案,如果是spring的话直接在配置文件中进行配置就可。首先必须获得客户端以及地址,客户端提供的是接口的定义及规范,地址是要我们进行连接的。

例如:
<bean id="XXService" class="com.xx.客户端接口" factory-bean="XXServiceFactory" factory-method="create" />
<bean id="XXServiceFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.xx.客户端接口" />
<property name="address" value="地址/>
</bean>
然后你就可以在你的业务层进行注入,这个是采用cxf的方式,当然也可以有其他方式追问

我就是用的spring ,但我不知道这里的地址指的是什么地址呀????

追答

http://124.42.126.246/GoComProtocol/GoComWebService.dll/wsdl/IGoComWebService

本回答被提问者采纳

以上是关于Java客户端调用Webservice接口流程的主要内容,如果未能解决你的问题,请参考以下文章

java调用webservice接口实现发送短信??????

java调用java编写的WebService接口服务端收到的参数为空

C# 调用java webservice 接口

java客户端调用webservice 超时问题

java WebService接口采用SOAP协议的调用

java axis调用webservice,接口方法中的数组型参数应该怎么传参