精华内容
下载资源
问答
  • packagecom.csnt.scdp.bizmodules.modules.plcj.common.helper;importcom.csnt.scdp.framework.util.JsonUtil;importorg.apache.xerces.dom.DeferredTextImpl;importorg.json.JSONException;importorg.w3c.dom.Docum...
    \n" +
    展开全文
  • WebService是提供特定服务的架构技术,通过标准的Web...下面主要围绕通过JAVA语言来介绍Webservice的定义和调用,通过JAVA语言开发WebService的方式又分为Axis、axis2、Xfire、CXF以及JWS。每种方式实现都有各自的...

    WebService是提供特定服务的架构技术,通过标准的Web协议提供服务,其目的是保证不同平台的应用服务可以相互操作。目前比较流行的实现是使用.NET和JAVA两种语言技术,并且两种实现语言可以相互操作;

    下面主要围绕通过JAVA语言来介绍Webservice的定义和调用,通过JAVA语言开发WebService的方式又分为Axis、axis2、Xfire、CXF以及JWS。每种方式实现都有各自的特点,由于本人使用CXF的方式比较熟练,而且,CFX和Spring无缝结合,所以下面重点介绍以CXF方式的实现。

    由于WebService实现分为服务端和客户端两种开发模式,接下来介绍WebService服务端开发、客户端开发及实例测试。

    环境准备

    JDK1.6及以上,需要的JAR文件有:commons-logging-1.1.1.jar、cxf-2.4.3.jar、neethi-3.0.1.jar、spring-aop-3.0.5.RELEASE.jar、spring-asm-3.0.5.RELEASE.jar、spring-beans-3.0.5.RELEASE.jar、spring-context-3.0.5.RELEASE.jar、spring-context-support-3.0.5.RELEASE.jar、spring-core-3.0.5.RELEASE.jar、spring-expression-3.0.5.RELEASE.jar、spring-web-3.0.5.RELEASE.jar、wsdl4j-1.6.2.jar、xmlschema-core-2.0.1.jar。

    1.服务端开发

    自定义接口类

    package cn.test.ws.service;

    import javax.jws.WebParam;

    import javax.jws.WebService;

    @WebService

    public interface GreetingService {

    public String welcome(@WebParam(name="username") String username);

    public int getNum(@WebParam(name="number") int number);

    }

    定义接口实现类

    package cn.test.ws.service.impl;

    import cn.test.ws.service.GreetingService;

    public class GreetingServiceImpl implements GreetingService {

    @Override

    public String welcome(String username) {

    System.out.println("服务端的方法为:greeting()");

    return "Hell0 "+username+",欢迎你调用JAVA下的WebService服务!";

    }

    @Override

    public int getNum(int number) {

    System.out.println("服务端的方法为:getNum()");

    return number;

    }

    }

    Spring.xml配置

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:jaxws="http://cxf.apache.org/jaxws"

    xsi:schemaLocation="

    http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans.xsd

    http://cxf.apache.org/jaxws

    http://cxf.apache.org/schemas/jaxws.xsd">

    serviceClass="cn.test.ws.service.GreetingService"

    address="/GreetingService">

    2. web.xml配置

    contextConfigLocation

    classpath:applicationContext.xml

    org.springframework.web.context.ContextLoaderListener

    CXF Servlet

    CXFServlet

    org.apache.cxf.transport.servlet.CXFServlet

    1

    CXFServlet

    /*

    3.客户端开发

    public static void main(String[] args) {

    JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();

    String wsUrl = "http://127.0.0.1:8080/WS/GreetingService?wsdl";

    String method ="welcome";

    String method2 =  "getNum";

    try {

    Client client = dcf.createClient(wsUrl);

    Object[] objects =client.invoke(method,"TEST");

    Object[] numbers =client.invoke(method2,6);

    System.out.println(objects[0].toString());

    System.out.println(numbers[0]);

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    4.实例测试

    WebService测试可以使用上述客户端main方法进行测试,也可通过在浏览器中进行测试,还有专门的webservice测试工具等众多方式进行测试。

    在浏览器中输入http://IP:端口/项目名称/GreetingService?wsdl即可看到已发布的服务端信息,并且通过输入制定参数显示服务端返回的信息,如:http://IP:端口/项目名称/GreetingService/welcome?username=test。

    展开全文
  • java请求webservice接口

    2017-09-07 15:28:50
    public static void main(String[] args) {  Client client;  try {  client = new Client(new URL("http://localhost:8080/webserviceTest/services/Banking?wsdl"));  
    public static void main(String[] args) {
            Client client;
            try {
                client = new Client(new URL("http://localhost:8080/webserviceTest/services/Banking?wsdl"));
                
                Object[] result = client.invoke("c",new Object[]{5,7});
                System.out.println(result[0]);    
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
    展开全文
  • 1.引入maven依赖:org.apache.httpcomponents...请求工具类:package com.hanvon.iface.web.utils;import org.apache.http.HttpEntity;import org.apache.http.client.config.RequestConfig;import org.apache.http...

    1.引入maven依赖:

    org.apache.httpcomponents

    httpclient

    4.5

    2.请求工具类:

    package com.hanvon.iface.web.utils;

    import org.apache.http.HttpEntity;

    import org.apache.http.client.config.RequestConfig;

    import org.apache.http.client.methods.CloseableHttpResponse;

    import org.apache.http.client.methods.HttpPost;

    import org.apache.http.entity.StringEntity;

    import org.apache.http.impl.client.CloseableHttpClient;

    import org.apache.http.impl.client.HttpClientBuilder;

    import org.apache.http.util.EntityUtils;

    import org.apache.log4j.Logger;

    import java.io.*;

    import java.net.HttpURLConnection;

    import java.net.URL;

    import java.nio.charset.Charset;

    /**

    * webservice发送请求工具类

    * Author:lsf

    * Date:19-01-08

    */

    public class WebServiceUtil {

    static int socketTimeout = 30000;// 请求超时时间

    static int connectTimeout = 30000;// 传输超时时间

    static Logger logger = Logger.getLogger(WebServiceUtil.class);

    /**

    * 使用SOAP发送消息(HttpClient方式)

    *

    * @param postUrl

    * @param soapXml

    * @param soapAction

    * @return

    */

    public static String doPostSoap(String postUrl, String soapXml,

    String soapAction) {

    String retStr = "";

    // 创建HttpClientBuilder

    HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();

    // HttpClient

    CloseableHttpClient closeableHttpClient = httpClientBuilder.build();

    HttpPost httpPost = new HttpPost(postUrl);

    // 设置请求和传输超时时间

    RequestConfig requestConfig = RequestConfig.custom()

    .setSocketTimeout(socketTimeout)

    .setConnectTimeout(connectTimeout).build();

    httpPost.setConfig(requestConfig);

    try {

    httpPost.setHeader("Content-Type", "text/xml;charset=UTF-8");

    httpPost.setHeader("SOAPAction", soapAction);

    StringEntity data = new StringEntity(soapXml,

    Charset.forName("UTF-8"));

    httpPost.setEntity(data);

    CloseableHttpResponse response = closeableHttpClient

    .execute(httpPost);

    HttpEntity httpEntity = response.getEntity();

    if (httpEntity != null) {

    // 打印响应内容

    retStr = EntityUtils.toString(httpEntity, "UTF-8");

    logger.info("response:" + retStr);

    }

    // 释放资源

    closeableHttpClient.close();

    } catch (Exception e) {

    logger.error("请求出错!", e);

    }

    return retStr;

    }

    /**

    * 使用HttpURLConnection方式连接

    * @param soapurl

    * @param soapXML

    * @return

    * @throws IOException

    */

    public static String urlConnectionUtil(String soapurl,String soapXML) throws IOException {

    //第一步:创建服务地址

    //http://172.25.37.31:8080/PeopleSoftService/getPerson.wsdl

    URL url = new URL(soapurl);

    //第二步:打开一个通向服务地址的连接

    HttpURLConnection connection = (HttpURLConnection) url.openConnection();

    //第三步:设置参数

    //3.1发送方式设置:POST必须大写

    connection.setRequestMethod("POST");

    //3.2设置数据格式:content-type

    connection.setRequestProperty("content-type", "text/xml;charset=utf-8");

    //3.3设置输入输出,因为默认新创建的connection没有读写权限,

    connection.setDoInput(true);

    connection.setDoOutput(true);

    //第四步:组织SOAP数据,发送请求

    //将信息以流的方式发送出去

    OutputStream os = connection.getOutputStream();

    os.write(soapXML.getBytes());

    StringBuilder sb = new StringBuilder();

    //第五步:接收服务端响应,打印

    int responseCode = connection.getResponseCode();

    if(200 == responseCode){//表示服务端响应成功

    //获取当前连接请求返回的数据流

    InputStream is = connection.getInputStream();

    InputStreamReader isr = new InputStreamReader(is);

    BufferedReader br = new BufferedReader(isr);

    // StringBuilder sb = new StringBuilder();

    String temp = null;

    while(null != (temp = br.readLine())){

    sb.append(temp);

    }

    is.close();

    isr.close();

    br.close();

    }

    os.close();

    return sb.toString();

    }

    }

    展开全文
  • 4,设置请求方式和请求头: 90 httpConn.setDoOutput( true ); // 是否有入参 91 httpConn.setDoInput( true ); // 是否有出参 92 httpConn.setRequestProperty("contentType", "UTF8" ); 93 ...
  • Java调用WebService可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用。理论上是一样的,只不过用Eclipse自动生成代码省事些。1、编写代码...
  • 最近,项目中用到WebService,需要调用外部Web服务(.NET)接口进行相关操作,于是简单了解了一下JavaWebService,感觉很是繁琐,由于时间关系,最后采用了HTTP请求的方式调用WebService。现在总结一下,以备今后使用...
  • (IBAction) webServicexRequestPost:(id)sender{//封装soap请求消息,构建webServices请求字符串NSString* soapMessage = [NSStringstringWithFormat:@"/n""/n""/n""/n""%@/n""/n""/n""/n",@"JINLONG"];NSString* ...
  • 小编典典SOAP请求是一个XML文件,包含要发送到...要使用Java实现简单的SOAP客户端,可以使用SAAJ框架(JSE 1.6及更高版本附带):带有Java附件API的SOAP(SAAJ) 主要用于直接处理任何Web ServiceAPI幕后发生的SOAP请求...
  • ​import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL...
  • 1、使用命令wsimport自动生成java代码wsimport是jdk自带的,可以根据wsdl文档生成客户端调用代码的工具.wsimport.exe位于JAVA_HOME\bin目录下。常用参数为:•-d - 将生成.class文件。默认参数。•-s - 将生成.java...
  • 有时需要模拟请求webservice服务,并处理返回的报文,根据报文的信息进行业务处理。样例代码如下:import java.io.ByteArrayOutputStream;import java.io.DataOutputStream;import java.io.InputStream;import java....
  • 只想调用远处webservice,不构建自己的,看了一些资料都是先构建,再请求。个人理解webservice提供一种服务,暴露某个...因此,未借助第三方jar,只用jdk提供jar做了个请求webservice的例子Java代码 import java.io...
  • 1.安装python 扩展 suds-master ...3. 连接webservice client = Client(url) 4.请求 KuaidiQuery 为接口方法 后面为参数,有的直接带实参 client.service.KuaidiQuery(Company='EMS', OrderNo...
  • java实现post请求webservice服务端

    千次阅读 2019-07-02 17:23:26
    当生成webService的客户端不好实现时,通过java的post请求不失为一种好办法。 1.例如我此时有一个wsdl文件 http://xxx.xxx.xxx.xxx:8081/APIService.svc?wsdl 2.通过SoapUI 我们可以将swdl文件转换。从而模拟...
  • 我使用下面的方式请求 public static String postData1(String urlAddress, String encodedType, Map,String> params) { try { URL url = new URL(urlAddress); URLConnection conn = url.openConnection...
  • import java.net.URL;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.xml.namespace.QName;import javax.xml.rpc.ParameterMode;import org.apache...
  • Java Post 请求Webservice 返回XML

    千次阅读 2012-09-03 20:24:05
    package legacy.servlet;...import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.
  • java WebService请求

    2017-03-14 17:28:00
    import org.apache.axis.client.Call; import org.apache.axis.client.Service;... * WebService请求 * @return */ private static String xinDaWebServiceReq(String meth,String xml){ String re...
  • NULL 博文链接:https://genius.iteye.com/blog/451378
  • Java 解析webservice xml成Java对象 这里是个 import com.alibaba.fastjson.JSONArray; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element;...
  • 这篇我们用Intellij IDEA来搭建一个WebService,并看看如何请求。首先,new project, 选择WebService项目,并选择Apache Axis:点击next,随便去个项目名称,比如webservice。finish之后,会有一些示例文件,默认有...
  • import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.xml.nam...
  • Java调用webservice天气预报(SOAP请求的方式获取天气信息并解析返回的XML)webservice网站为http://www.webxml.com.cn/WebServices/WeatherWS.asmx[java]viewplaincopypackagewebservice;importjava.io.InputStream;...
  • * @param params 请求参数 * @return */ public String getWebServiceData(String url,String params) throws IOException { //接受返回报文 String result = new String(); URL u ...
  • 企业列表var webservice = function() {var nameSpace = "http://ws.search.serviceinterface.ths.com";var url = "http://192.168.0.152:8082/service/ws/jsonWebService";//创建 xmlhttpvar xmlhttp;var callback;...
  • import org.apache.cxf.message.Message; import org.apache.cxf.phase.PhaseInterceptorChain; Message message = PhaseInterceptorChain.getCurrentMessage(); HttpServletRequest request = ...
  • 这篇我们用Intellij IDEA来搭建一个WebService,并看看如何请求。 首先,new project, 选择WebService项目,并选择Apache Axis: 点击next,随便去个项目名称,比如webservice。 finish之后,会有一些示例...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,108
精华内容 443
关键字:

java请求webservice

java 订阅