精华内容
下载资源
问答
  • java调用webservice接口案例,精简,service调用webservice接口案例;不用生成一堆代码,逻辑清晰
  • JAVA调用WEBSERVICE接口

    2017-07-12 09:25:47
    JAVA调用WEBSERVICE接口
  • Java调用Webservice接口的jar包,里面还含有其他的jar,亲测有效
  • 主要介绍了Java调用WebService接口的方法,实例分析了有参方法Add的使用技巧,需要的朋友可以参考下
  • nodejs和Java调用webservice接口总结 做了一天终于调通了 Java和node工程都是可以使用,随便总结一下,下次忘记咯
  • 介绍了java代用webservice的实现方法,采用axis依赖的方式。对于任意webservie都可以实现简单条用,用最少的依赖和最少的代码实现调用
  • JAVA调用Webservice接口Demo

    热门讨论 2013-05-09 14:55:13
    JAVA调用Webservice接口Demo 直接上代码,下载下来可直接运行看到效果 1,IP查询 2,根据省份查城市
  • Java调用WebService接口实现发送手机短信验证码功能,只能用炫酷来形容,感兴趣就下载看看吧
  • 今天小编就为大家分享一篇关于Java调用CXF WebService接口的两种方式实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • JAVA调用WebService接口

    2018-09-13 09:41:04
    在网上查阅好多文章发现调用WebService的接口有很多种,最终我是采用的将WebService接口利用Ecplise将接口导入到本地,然后直接调用接口即可,具体方法如下: 1、在项目的Src下面新建Web Service Client ,点击下...

    文章前提:通过使用JAVA 编程语言调用.net发布的接口
    在网上查阅好多文章发现调用WebService的接口有很多种,最终我是采用的将WebService接口利用Ecplise将接口导入到本地,然后直接调用接口即可,具体方法如下:
    1、在项目的Src下面新建Web Service Client ,点击下一步输入你的接口地址,不要忘记在后面加上?WSDL如下图:
    新建

    填写地址

    2、新建成功后在你的Src下面就会多出以下内容,这里分出两部分内容,第一为所有实体类,第二是你调用接口中的方法时所需要的类。

    3、前期工作准备完毕后就进入正式的接口调用了,这时就可以通过s去直接调用方法了。
    黑色部分为你的接口地址

    展开全文
  • Javawebservice方式调用SAP接口传输数据的pdf文档,仅供参考!
  • Java调用WebService接口的四种方式

    千次阅读 2020-05-09 16:50:49
    调用WebServicewsimport生成代码Axis动态调用HTTP Connection调用 wsimport生成代码 配置java环境变量后在命令窗口中输入 -keep:是否生成java源文件 -d:指定.class文件的输出目录 -s:指定.java文件的输出目录 -p...

    使用wsimport生成代码(不推荐)

    配置java环境变量后在命令窗口中输入
    -keep:是否生成java源文件

    -d:指定.class文件的输出目录

    -s:指定.java文件的输出目录

    -p:定义生成类的包名,不定义的话有默认包名

    -verbose:在控制台显示输出信息

    -b:指定jaxws/jaxb绑定文件或额外的schemas

    -extension:使用扩展来支持SOAP1.2

    wsimport -encoding utf-8 -s D:\存放目录\ -p com.ws.cli -XadditionalHeaders -verbose  http://localhost/xxxx/xxxx?wsdl
    

    即可生成Java代码,然后将代码拷贝到项目中,直接调用即可。
    但这样生成的代码不够灵活,如果对方接口参数修改了,需要重新生成代码,不建议使用

    使用Axis-1.4 动态调用

    代码中使用的axis版本为1.4,需要注意的是不同版本的Axis相差很大,下面是调用代码

    /**
         * Axis动态调用wsdl
         *
         * @param wsdlUrl             服务地址
         * @param targetNamespace     服务命名空间
         * @param operationMethodName 接口方法名
         * @param bodyParams          body参数 <参数名,参数值>
         * @param headerParams        header参数 <参数名,参数值> (可为空)
         * @param loadPart            loadPart(设置header时才需要)
         * @return T
         */
        public static <T> T invokeWebservice_axis(String wsdlUrl, String targetNamespace,
                                                  String operationMethodName,
                                                  Map<String, Object> bodyParams,
                                                  Map<String, String> headerParams,
                                                  String loadPart) {
            try {
                //引用远程的wsdl文件
                Service service = new Service();
                Call call = (Call) service.createCall();
                call.setTargetEndpointAddress(wsdlUrl);
                //接口名
                call.setOperationName(new QName(targetNamespace, operationMethodName));
                //由于需要认证,故需要设置头部调用的密钥
                if (headerParams != null && headerParams.size() > 0) {
                    SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement(targetNamespace, loadPart);
                    soapHeaderElement.setNamespaceURI(targetNamespace);
                    Set<Map.Entry<String, String>> headParamSet = headerParams.entrySet();
                    for (Map.Entry<String, String> map : headParamSet) {
                        try {
                            soapHeaderElement.addChildElement(map.getKey()).setValue(map.getValue());
                        } catch (SOAPException e) {
                            e.printStackTrace();
                        }
                    }
                    call.addHeader(soapHeaderElement);
                }
                Object[] params = new Object[bodyParams.size()];
                //参数
                Set<Map.Entry<String, Object>> entries = bodyParams.entrySet();
                int i = 0;
                for (Map.Entry<String, Object> map : entries) {
                    call.addParameter(new QName(targetNamespace, map.getKey()), XMLType.XSD_STRING, ParameterMode.IN);
                    params[i] = map.getValue();
                    i++;
                }
                // 设置返回类型
                call.setReturnType(XMLType.XSD_STRING);
                //传递参数,并且调用方法
                String result = (String) call.invoke(params);
                return (T) result;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    

    使用HTTP+SOAP方式远程调用

    需要使用工具SoapUI, 创建测试项目,得到具体方法名和参数名

    /**
         * 通过SOAP调用WebService
         *
         * @param uri             address
         * @param soapRequestData soap表头
         * @param nodeName        返回信息的节点名
         * @return 指定节点的值
         */
        private static SAXReader reader = new SAXReader();
        public static String invokeWebservice_soap(String uri, String soapRequestData, String nodeName) {
            try {
                String method = uri;
                PostMethod postMethod = new PostMethod(method);
                byte[] b = soapRequestData.getBytes(StandardCharsets.UTF_8);
                InputStream is = new ByteArrayInputStream(b, 0, b.length);
                RequestEntity re = new InputStreamRequestEntity(is, b.length, "text/xml;charset=utf-8");
                postMethod.setRequestHeader("SOAPAction", "");
                postMethod.setRequestEntity(re);
                HttpClient httpClient = new HttpClient();
                Integer statusCode = httpClient.executeMethod(postMethod);
                byte[] responseBody = postMethod.getResponseBody();
                Document document = reader.read(new ByteArrayInputStream(responseBody));
                Map<String, String> nodeMap = new HashMap<>();
                getChildNodes(document.getRootElement(), nodeMap);
                return nodeMap.get(nodeName);
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    

    soapRequestData :通过SoapUI获取报文,拼接需要传递的参数
    调用示例如下:

    String soapRequestData = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" \n" +
             "xmlns:wsi=\"http://xxx.webservice.xxx.com/\">\n" +
                    "   <soapenv:Header/>\n" +
                    "   <soapenv:Body>\n" +
                    "      <wsi:GlobalFunc>\n" +
                    "         <!--Optional:-->\n" +
                    "         <param1>" + "参数1" + "</param1>\n" +
                    "         <param2>" + "参数2"+ "</param2>\n" +
                    "         <param3>" + "参数3"+ "</param3>\n" +
                    "      </wsi:GlobalFunc>\n" +
                    "   </soapenv:Body>\n" +
                    "</soapenv:Envelope>";
            WsdlClient.invokeWebservice_soap("http://xx/Service?wsdl", soapRequestData);
    

    避免使用过程中出现类、参数等错误,代码中使用的类路径如下,直接Ctrl + C

    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import org.apache.axis.encoding.XMLType;
    import org.apache.axis.message.SOAPHeaderElement;
    import org.apache.commons.httpclient.HttpClient;
    import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
    import org.apache.commons.httpclient.methods.PostMethod;
    import org.apache.commons.httpclient.methods.RequestEntity;
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.Node;
    import org.dom4j.io.SAXReader;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.soap.SOAPException;
    import java.io.ByteArrayInputStream;
    import java.io.InputStream;
    import java.nio.charset.StandardCharsets;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;
    

    通过Spring注解方式调用

    代码比较简单,就不写了
    链接: 注解方式调用.

    展开全文
  • Java调用.NET的WebService接口实例,jar包删减到三个,干净清爽,里面包含注多注释和图解,搞了半天的家伙拿出来与大家分享,无任何BUG,修改里面的参数即可直接运行,对于这种好东西,花了半天时间10分不算高,重在...
  • java调用webService接口的几种方法

    千次阅读 2019-07-24 10:56:15
    webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来...1.可以通过带有webservice插件的Eclipse直接生成调用webservice客户端代码 在Eclipse中生成webservice客户端代码,New----...

            webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。

    1.可以通过带有webservice插件的Eclipse直接生成调用webservice客户端代码

    在Eclipse中生成webservice客户端代码,New---->Other---->Webservice---->Webservice Client,选择之前拷贝到eclipse中的wsdl路径点击finish,这样eclipse就帮我们自动生成了webservice的客户端,接下来只需在程序中调用即可,在程序中调用eclipse自动生成的webservice客户端;

            

    生成的客户端代码:

        

    测试案例:

     

    2.使用axis1.4或2.X生成webservice的客户端代码

    1、下载axis1.4,解压; 
    2、在axis-1_4目录下新建wsdl2java-client.bat(.bat批处理文件,可任意命名)文件,增加内容如下:

    set Axis_Lib=.\lib
    set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
    %Java_Cmd% org.apache.axis.wsdl.WSDL2Java   -p com.lmb.client.ws C:\Users\Administrator\Desktop\axis-1_4\axis-1_4\lmbtest.xml
    pause

    注意:其中com.lmb.client.ws为生成的客户端代码的包路径,C:\Users\Administrator\Desktop\axis-1_4\axis-1_4\lmbtest.xml为wsdl文件。

    3、双击wsdl2java-client.bat:

    可以看到相关路径下生成的客户端代码如下:

    4、调用方法如下:

    public class WebServiceClientTest{
        public static void main(String[] args){
            String wsdl = "http://xxx.xxx.xx.xx:8082/csp/services/c_lttb/orderToHeLiWebservice";
            String requestStr = "";
    
            // 有些webservice需要登录,登陆后才能进行一些操作,这个需要设置如下两个参数: 
            //1、 超时时间 
            stub.setTimeout(1000 * 60 * 20); 
            //2、 次数设置true,登录后才能保持登录状态,否则第二次调用ws方法时仍然会提示未登录。 
            stub.setMaintainSession(true);
    
            org.apache.axis.client.Service service = new org.apache.axis.client.Service();
            OrderToHeLiWebserviceHttpBindingStub stub = new OrderToHeLiWebserviceHttpBindingStub(
                new java.net.URL(wsdl), service);
            String response = stub.urgeWorkOrderServiceSheet(requestStr); //调用ws提供的方法
            System.out.println("response >>> " + response);
        }
    }
    

    3.手写客户端代码方式

    新建一个maven工程

    pom.xml添加jar依赖: 

    <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
        <!--axis2 begin-->
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-spring</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-transport-http</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-transport-local</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-xmlbeans</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <!--axis2 end-->
            <dependency>
    			<groupId>org.apache.ant</groupId>
    			<artifactId>ant</artifactId>
    			<version>1.9.7</version>
    		</dependency>
    		<dependency>
    		    <groupId>org.jdom</groupId>
    		    <artifactId>jdom</artifactId>
    		    <version>2.0.2</version>
    		</dependency>
    		<dependency>
    		    <groupId>commons-net</groupId>
    		    <artifactId>commons-net</artifactId>
    		    <version>3.3</version>
    		</dependency>
    		<dependency>
    		    <groupId>javax.mail</groupId>
    		    <artifactId>javax.mail-api</artifactId>
    		    <version>1.4.7</version>
    		</dependency>
    		<dependency>
    		    <groupId>javax.mail</groupId>
    		    <artifactId>mail</artifactId>
    		    <version>1.4.7</version>
    		</dependency>
    		<dependency>
    		    <groupId>javax.activation</groupId>
    		    <artifactId>activation</artifactId>
    		    <version>1.1.1</version>
    		</dependency>
    		<!-- https://mvnrepository.com/artifact/axis/axis -->
    		<dependency>
    		    <groupId>axis</groupId>
    		    <artifactId>axis</artifactId>
    		    <version>1.4</version>
    		</dependency>
    		
    		
      </dependencies>

    客户端代码:

    (1)这里是用axis调用的 我自己写的代码 由于我的服务端接口比较老 所以我采用这种方式成功上传了数据 但是传输的附件大小只能不超过20k,超过了就报系统找不到指定的路径,暂时不知道为什么,希望知道的人告知下

    package com.TestWebService.WebService;
    
    import java.io.File;
    
    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;
    import javax.xml.namespace.QName;
    
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import org.apache.axis.encoding.ser.JAFDataHandlerDeserializerFactory;
    import org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory;
    
    public class AxisToWebServiceImportData {
    	public String invokeByAxis() {
    		boolean result = false;
    		Service service = new Service();
    		String endPoint = "http://192.168.0.***:8080/ESWebService/services/DataInterfaceService";
    		try {
    		Call call = (Call) service.createCall();
    		call.setTargetEndpointAddress(endPoint);
    
    		call.setEncodingStyle("utf-8");
    		
    		String srcFilePath = "D:\\sip-data.zip";
            String userName = "admin";
            String password = "*****";
            String flk_id = "27";
            String wjm = "wj1327";
            String zipName = "sip-data.zip";
            String encode = "92BBE4B3******067E9E5F17";
            DataHandler dh = new DataHandler(new FileDataSource(srcFilePath));
            
            
            QName qnameattachment = new QName("DataInterfaceService", "DataHandler");
            call.registerTypeMapping(dh.getClass(),qnameattachment,JAFDataHandlerSerializerFactory.class,JAFDataHandlerDeserializerFactory.class);
    		call.addParameter("dh", qnameattachment, javax.xml.rpc.ParameterMode.IN);
            call.addParameter("userName", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
    		call.addParameter("password", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
    		call.addParameter("flk_id", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
    		call.addParameter("wjm", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
    		call.addParameter("zipName", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
    		call.addParameter("encode", org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
    		call.setReturnType(org.apache.axis.encoding.XMLType.XSD_BOOLEAN);
    		call.setOperationName(new QName(endPoint,"importData"));
    
    		result = (Boolean) call.invoke(new Object[]{dh,userName,password,flk_id,wjm,zipName,encode});
    		System.out.println("返回值:" + result);
    		} catch (Exception e) {
    		System.out.print("WebService请求异常!! ");
    		e.printStackTrace();
    		}
    		return "true";
    
    	}
    	public static void main(String[] args) {
    		AxisToWebServiceImportData a = new AxisToWebServiceImportData();
    		a.invokeByAxis();
    	}
    }
    

    (2)第二种方式是用RPC方式调用

    package com.TestWebService.WebService;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.Enumeration;
    import java.util.List;
    
    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;
    import javax.xml.namespace.QName;
    
    import org.apache.axiom.om.OMElement;
    import org.apache.axis2.AxisFault;
    import org.apache.axis2.addressing.EndpointReference;
    import org.apache.axis2.client.Options;
    import org.apache.axis2.rpc.client.RPCServiceClient;
    import org.apache.axis2.transport.http.HTTPConstants;
    
    import org.apache.tools.zip.ZipEntry;
    import org.apache.tools.zip.ZipFile;
    
    import org.jdom2.Attribute;
    import org.jdom2.Document;
    import org.jdom2.Element;
    import org.jdom2.JDOMException;
    import org.jdom2.input.DOMBuilder;
    import org.jdom2.input.SAXBuilder;
    import org.jdom2.output.DOMOutputter;
    import org.jdom2.xpath.XPath;
    
    public class ImportData {
    	public boolean TestWebService() {
    		boolean result = false;
    		
    		try {
    			RPCServiceClient serviceClient = new RPCServiceClient();
    			
    			 
                String url = "http://192.168.0.207:8080/ESWebService/services/DataInterfaceService";
                // 指定调用WebService的URL
                EndpointReference targetEPR = new EndpointReference(url);
                Options options = serviceClient.getOptions();
                // 确定目标服务地址
                options.setTo(targetEPR);
                
                // 确定调用方法
                options.setAction("importData");
                
                options.setProperty(HTTPConstants.CHUNKED, "false");// 把chunk关掉后,会自动加上Content-Length
                //解决高并发链接超时问题
                options.setManageSession(true);
                options.setProperty(HTTPConstants.REUSE_HTTP_CLIENT,true);
           
                //设置响应超时,默认5s
                options.setProperty(HTTPConstants.SO_TIMEOUT, 5000);
                //设置连接超时,默认5s
                options.setProperty(HTTPConstants.CONNECTION_TIMEOUT, 5000);
    
                String srcFilePath = "D:\\sip-data.zip";
                String userName = "admin";
                String password = "*****";
                String flk_id = "27";
                String wjm = "wj1327";
                String zipName = "sip-data.zip";
                String encode = "92BBE4B*****93A067E9E5F17";
                DataHandler dh = new DataHandler(new FileDataSource(new File(srcFilePath)));
                System.out.println("dh:::" + dh);
                // 指定方法的参数值
                Object[] parameters = new Object[] {dh,userName,password,flk_id,wjm,zipName,encode};
                
                // 创建服务名称
                // 1.namespaceURI - 命名空间地址 (wsdl文档中的targetNamespace)
                // 2.localPart - 服务视图名 (wsdl文档中operation的方法名称,例如<wsdl:operation name="getMobileCodeInfo">)
                QName qname = new QName("http://192.168.0.***:8080/ESWebService/services/DataInterfaceService", "importData");
                
                
                // 指定方法返回值的数据类型的Class对象
                Class[] returnTypes = new Class[] {Boolean.class};
                Object[] response = serviceClient.invokeBlocking(qname, parameters,returnTypes);
    //            OMElement element = serviceClient.invokeBlocking(qname, parameters);
    //            System.out.println("element::" + element);
                /*
                 * 值得注意的是,返回结果就是一段由OMElement对象封装的xml字符串。
                 * 我们可以对之灵活应用,下面我取第一个元素值,并打印之。因为调用的方法返回一个结果
                 */
    //            result = element.getFirstElement().getText();
    //            System.out.println(result);
    
                result =   (Boolean) response[0];
                
    		} catch (AxisFault e) {
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    		}
    		
    		
    		return result;
    	}
    	
    	
    	public static void main(String[] args) {
    		
    		ImportData t = new ImportData();
    		System.out.println("result:::"+ t.TestWebService());
    		
    	}
    }
    

    (3) 应用document方式调用 用ducument方式应用现对繁琐而灵活,引入相应的axis2的jar包

    package com.TestWebService.WebService;
    
    import java.io.File;
    
    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;
    import javax.xml.namespace.QName;
    
    import org.apache.axiom.om.OMAbstractFactory;
    import org.apache.axiom.om.OMElement;
    import org.apache.axiom.om.OMFactory;
    import org.apache.axiom.om.OMNamespace;
    import org.apache.axiom.om.OMText;
    import org.apache.axis2.AxisFault;
    import org.apache.axis2.addressing.EndpointReference;
    import org.apache.axis2.client.Options;
    import org.apache.axis2.client.ServiceClient;
    
    public class ImportDataTwo {
    	
    	public boolean TestImportData() {
    		boolean res = false;
    		try {
                ServiceClient serviceClient = new ServiceClient();
                //创建服务地址WebService的URL,注意不是WSDL的URL
                String url = "http://192.168.0.207:8080/ESWebService/services/DataInterfaceService";
                EndpointReference targetEPR = new EndpointReference(url);
                Options options = serviceClient.getOptions();
                options.setTo(targetEPR);
                //确定调用方法(wsdl 命名空间地址 (wsdl文档中的targetNamespace) 和 方法名称 的组合)
                options.setAction("http://192.168.0.207:8080/ESWebService/services/DataInterfaceService/importData");
    
                OMFactory fac = OMAbstractFactory.getOMFactory();
                /*
                 * 指定命名空间,参数:
                 * uri--即为wsdl文档的targetNamespace,命名空间
                 * perfix--可不填
                 */
                OMNamespace omNs = fac.createOMNamespace("http://192.168.0.***:8080/ESWebService/services/DataInterfaceService", "");
                // 指定方法
                OMElement method = fac.createOMElement("importData", omNs);
                // 指定方法的参数
                OMElement userName = fac.createOMElement("userName", omNs);
                userName.setText("admin");
                OMElement password = fac.createOMElement("password", omNs);
                password.setText("*****");
                
                String srcFilePath = "D:\\sip-data.zip";
                
                DataHandler dh2 = new DataHandler(new FileDataSource(new File(srcFilePath)));
                OMText textData = fac.createOMText(dh2, true);
                OMElement dh = fac.createOMElement("dh", omNs);
                dh.addChild(textData);
                System.out.println("dh:::" + dh2);
                
                OMElement flk_id = fac.createOMElement("flk_id", omNs);
                flk_id.setText("27");
                
                OMElement wjm = fac.createOMElement("wjm", omNs);
                wjm.setText("wj1327");
                
                OMElement zipName = fac.createOMElement("zipName", omNs);
                zipName.setText("sip-data.zip");
                
                OMElement encode = fac.createOMElement("encode", omNs);
                encode.setText("92BBE4B3BC*****393A067E9E5F17");
                
                
                method.addChild(dh);
                method.addChild(userName);
                method.addChild(password);
                method.addChild(flk_id);
                method.addChild(wjm);
                method.addChild(zipName);
                method.addChild(encode);
               // method.build();
                System.out.println(method);
                //远程调用web服务
                OMElement result = serviceClient.sendReceive(method);
                System.out.println(result);
    
            } catch (AxisFault axisFault) {
                axisFault.printStackTrace();
            }
        
    
    		
    		return true;
    	}
    	
    	public static void main(String[] args) {
    		ImportDataTwo t = new ImportDataTwo();
    		t.TestImportData();
    	}
    }
    

    暂时只接触到这么多webservice调用方式,码下来当作学习笔记了

     

     

    展开全文
  • java调用webservice接口示例代码

    千次阅读 2018-11-14 18:26:54
    import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import or...

    import java.io.UnsupportedEncodingException;
    import java.net.MalformedURLException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;

    import org.apache.commons.httpclient.HttpClient;
    import org.apache.commons.httpclient.methods.PostMethod;
    import org.apache.commons.httpclient.methods.StringRequestEntity;
    import org.apache.commons.lang.StringEscapeUtils;
    import org.apache.http.protocol.HTTP;

    public class WebServiceReqeustDemo {

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            WebServiceReqeustDemo demo = new WebServiceReqeustDemo();
            demo.service();
        }

        public String service() {
            String result = "";
            try {
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String sendParamTime=formatter.format(new Date());
                //System.out.print(pInXmlDoc);
                PostMethod postMethod = new PostMethod("http://xxxx/article?wsdl");
                StringBuffer sb = new StringBuffer();
                sb.append("<soapenv:Envelope xmlns:soapenv=\"xxxxx/\" xmlns:ser=\"xxx/\">");
                sb.append("<soapenv:Header/>");
                sb.append("<soapenv:Body>");
                sb.append("<ser:getArticleByPage>");
                sb.append("<loginProperty>");
                sb.append("<password>easysite</password>");
                sb.append("<username>admin</username>");
                sb.append("</loginProperty>");
                sb.append("<columnId>31846</columnId>");
                sb.append("<pageNo>1</pageNo>");
                sb.append("<pageSize>3</pageSize>");
                sb.append("<queryContent></queryContent>");
                sb.append("<parameter></parameter>");
                sb.append("</ser:getArticleByPage>");
                sb.append("</soapenv:Body>");
                sb.append("</soapenv:Envelope>");

                postMethod.setRequestEntity(new StringRequestEntity(sb.toString(),
                        "application/xop+xml", HTTP.DEFAULT_CONTENT_CHARSET));
                // 最后生成一个HttpClient对象,并发出postMethod请求
                HttpClient httpClient = new HttpClient();

                postMethod.addRequestHeader("SOAPAction", "");

                httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(1000*20);
                int statusCode = httpClient.executeMethod(postMethod);
                //String result = "";
                //log.info("调中台接口返回码statusCode:"+statusCode);
                if (statusCode == 200) {
                    System.out.println("调用成功!");
                    String soapResponseData = postMethod.getResponseBodyAsString();
                    String begin = "<soap:Envelope xmlns:soap=\"xxxx/\">";
                    String end = "</soap:Envelope>";
                    result = soapResponseData.substring(
                            soapResponseData.indexOf(begin) ,
                            soapResponseData.indexOf(end)+ end.length());
                    result = StringEscapeUtils.unescapeXml(result);
                    //String receiveParamTime=formatter.format(new Date());
                    
                    String openId="";
                    System.out.println("返回值为:" + result);
                } else {
                    
                }
                //return "";
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                System.out.println(e.getMessage());
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            //return "";
            return result;
        } 
    }
     

    展开全文
  • java调用webservice接口的几种方法

    千次阅读 2019-10-21 09:04:09
    前几天看到群里有人问webservice,稍微总结一下!webservice的 发布一般都是使用WSDL(web service descriptive language...
  • java调用webservice接口 三种方法

    万次阅读 多人点赞 2018-09-05 17:40:42
    摘自其它:webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。今天搜索到了非常好的 webservice provider...
  • java调用webservice接口(.asmx)该系统提供了webservice接口。现在把记录一下,方便自己以后用,说不定也能帮到正在看这篇文档的你。 首先需要确认,我这边写的是java后台直接调用webservice接口,并且接口后缀为...
  • IDEA java 调用 webservice接口 示例: 再IDEA中新建一个maven工程 选中一个package点击Tools-WebServices-Generate java code from WSDL 参数说明:Web service WSDL URL可以是本地wsdl路径,也可以是网上已发布的...
  • java 调用webservice接口(.asmx).net

    千次阅读 2019-09-23 10:59:34
    拿到对接公司的一个接口,是用.net编写的webservice接口(.asmx),接口方会给到接口地址、方法名、参数及对方那边的返回值类型、测试数据。如果没有一下这些,那么就可以向客户那边索取。例(我这边接口方提供的数据...
  • java 调用webService接口工具类

    千次阅读 2018-06-11 11:23:54
    * call调用webservice接口用具类 * Created by AlterEgo on 2018/6/7. */ public class CallWebServiceUtils { /** * call调用webservice接口 * @param url 接口地址 * @param nameSpace 命名空间 * @param...
  • 上一篇介绍了使用JAXBContent...这个东西用起来太方便了,很快就能完成一套WebService接口调用方案。所以说遇到问题先去网上搜一搜有没有现成的解决方案是很有意义的。这个比自己闷头造轮子写出来的要快多了。特别...
  • 这里写自定义目录标题使用java调用webservice接口 使用java调用webservice接口 当我们使用java去访问webservice的接口时,有很多种方式,这里我们使用apache cxf的方式,因为他很方便的可以将wsdl文件直接转换生成...
  • Java调用WebService接口实现发送手机短信验证码功能-附件资源
  • 自定义xml调用webservice
  • java 调用webservice接口推送数据

    千次阅读 2019-10-25 17:18:05
    //调用接口逻辑 public static WebserviceResultBean sendDataAhtbaWebService(String soapXML) { // int responseCode=500; WebserviceResultBean ret = new WebserviceResultBean(); try { //1:创建服务...
  • java调用webservice接口 几种方法

    万次阅读 多人点赞 2017-03-15 15:31:28
    webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。今天搜索到了非常好的 webservice provider列表 ...
  • 公司web项目需要调用erp接口,格式是webservice格式,认证方式是用户名和密码,请求参数拼成一个webservice格式,接口调用返回解析成json格式,需要调用两个包,json包,dom4j包。 需要导入的包 &lt;...
  • String data = SmsWebserviceUtil.doRequest("接口地址", "请求方式",xml, "http://webservice","接口方法"); //System.out.println(data); String result=SmsWebserviceUtil.GetSoap(data); Map requestMap=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,466
精华内容 14,586
关键字:

java调用webservice接口

java 订阅