1、接着学习调用WebService服务的第三种方法,通过UrlConnection调用Webservice服务。
2、还是一样,必须启动一个WebService服务,代码:
package com.wang.webservice.service; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class HelloService { public String sayHello( String name ){ System.out.println(name); return "hello " + name; } public static void main(String[] args) { Endpoint.publish("http://127.0.0.1:1234/helloservice", new HelloService()); } }
与上一篇文章用的WebService服务端一样。启动,
3、编写客户端代码:
package com.wang.webservice.urlconnection; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; /* * 通过UrlConnection调用Webservice服务 */ public class App { public static void main(String[] args) { URL wsUrl = null; try { wsUrl = new URL("http://127.0.0.1:1234/helloservice"); HttpURLConnection conn = (HttpURLConnection) wsUrl.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8"); OutputStream os = conn.getOutputStream(); //请求体 String soap = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:q0=\"http://service.webservice.wang.com/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + "<soapenv:Body><q0:sayHello><arg0>tom</arg0></q0:sayHello></soapenv:Body></soapenv:Envelope>"; os.write(soap.getBytes()); InputStream is = conn.getInputStream(); byte[] b = new byte[1024]; int len = 0; String s = ""; while( (len = is.read(b))!=-1 ){ String ss = new String(b,0,len,"UTF-8"); s += ss; } //返回的是拦截中的返回体; System.out.println(s); is.close(); os.close(); conn.disconnect(); } catch (MalformedURLException e) { System.out.println("创建URL失败"); e.printStackTrace(); } catch (IOException e) { System.out.println("URL打开失败"); e.printStackTrace(); } } }
这里面注解中的请求体和返回体,在上一篇文章中介绍了,这里不再重复,
运行后,调用WebService服务端成功。这种方法更底层一些;
相关推荐
因为要通过js或urlConnection调用服务器提供的方法。需要使用soap协议文本。 2,我们可以通过js和urlConnection轻量级的调用服务器方法。 我们之前都是使用服务器提供的类来调用,耦合度较高,服务器的代码改动会...
使用URLConnection,JAXB调用webservice的公共方法,简单好用,分享一下!
webservice实例运用: 客户端调用webservice的方式: 1、通过wsimport生成客户端代码 2、通过客户端编程的方式调用 3、通过ajax调用js+xml 4、通过URLConnection调用
WebService URLConnection request/response JDK1.3及以上都有实现 例子比较乱...
URLConnection和HttpClient使用入门
使用URL和URLConnection(多线程下载)
安卓URLConnection进行网络编程,一个简单的例子,服务器也有~
okhttp-urlconnection:3.10.0
URL以及URLConnection的使用
一个通过Socket或URLConnection传文件的示例 Socket URLConnection 文件传输
介绍了各种IOS程序连接服务器的方法,开发IOS程序必备文档
同时使用picasso和OKHttp的时候,需要加入OKHttp-urlconnection
NULL 博文链接:https://bijian1013.iteye.com/blog/2299735
JDK中的URLConnection参数详解
java中用URLConnection类post方式提交表单的方法。
URL的openConnection()方法将返回一个URLConnection对象,该对象...程序可以通过URLConnection实例向该URL发送请求,读取URL引用的资源。 程序Demo示范了如何向Web站点发送GET请求、POST请求,并从Web站点取得响应。
如果你用java编写了一个类似QQ的客户端(举例说明),想给webqq这样的网页或是servlet等发送消息,实现交互,那么URLConnection对你会很有帮助。需要的朋友请下载,如果有需要我们也可以互相交流,我也是一个java...
import java.net.URLConnection; /** * 使用URLConnection下载文件或图片并保存到本地。 * * @author 老紫竹(laozizhu.com) */ public class URLConnectionDownloader { public static void main...
android 使用URL和URLConnection(多线程下载)_Hi Android_百度空间
主要用于截取页面!虽然有HttpClient但是有时候这个还是比较有用的!