iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >软件使用Java客户端类调用C# WebService
  • 816
分享到

软件使用Java客户端类调用C# WebService

2023-06-18 00:06:25 816人浏览 八月长安
摘要

这篇文章给大家分享的是有关软件使用Java客户端类调用C# WEBService的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用这个类不用安装任何第三方工具,因为采用Http的方式发送xml文件,所以你只需要安

这篇文章给大家分享的是有关软件使用Java客户端类调用C# WEBService的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

使用这个类不用安装任何第三方工具,因为采用Http的方式发送xml文件,所以你只需要安装好jdk就可以了。执行此类还可以获得WebServices或xml rpc server返回的xml字符流,你可以根据返回的xml数据来进行其他程序处理。通过这种方式实现了Java平台和.net平台的数据交换和Java客户端类调用C# WebService。

下面是满足Java客户端类调用的源代码SOAPClient4XG.java:

   import java.io.*;  import java.net.*;   public class SOAPClient4XG {  public static void main(String[] args)   throws Exception {   if (args.length < 2) { //小于  System.err.println("Usage: java SOAPClient4XG " +  "http://soapURL soapEnvelopefile.xml" +  " [SOAPAction]");  System.err.println("SOAPAction is optional.");  System.exit(1);  }   String SOAPUrl = args[0];   String xmlFile2Send = args[1];   String SOAPAction = "";  if (args.length > 2) //大于  SOAPAction = args[2];   // Create the connection where we're Going   to send the file.  URL url = new URL(SOAPUrl);  URLConnection connection =   url.openConnection();  HttpURLConnection httpConn =   (HttpURLConnection) connection;   // Open the input file. After we copy   it to a byte array, we can see  // how big it is so that we can set the   HTTP Cotent-Length  // property. (See complete e-mail below   for more on this.)   FileInputStream fin =   new FileInputStream(xmlFile2Send);   ByteArrayOutputStream bout =   new ByteArrayOutputStream();   // Copy the SOAP file to the open connection.  copy(fin,bout);   fin.close();   byte[] b = bout.toByteArray();   // Set the appropriate HTTP parameters.  httpConn.setRequestProperty( "Content-Length",  String.valueOf( b.length ) );  httpConn.setRequestProperty("Content-Type","  text/xml; charset=utf-8");  httpConn.setRequestProperty("SOAPAction",SOAPAction);  httpConn.setRequestMethod( "POST" );  httpConn.setDoOutput(true);  httpConn.setDoInput(true);   // Everything's set up; send the XML   that was read in to b.  OutputStream out = httpConn.getOutputStream();  out.write( b );   out.close();   // Read the response and write it   to standard out.   InputStreamReader isr =  new InputStreamReader(httpConn.getInputStream());  BufferedReader in = new BufferedReader(isr);    String inputLine;   while ((inputLine = in.readLine()) != null)  System.out.println(inputLine);  in.close();  }   // copy method from From E.R. Harold's   book "Java I/O" public static void copy(InputStream in,   OutputStream out)   throws IOException {   // do not allow other threads to read from the  // input or write to the output while copying is // taking place   synchronized (in) {  synchronized (out) {   byte[] buffer = new byte[256];  while (true) {  int bytesRead = in.read(buffer);  if (bytesRead == -1) break;  out.write(buffer, 0, bytesRead);  }  }  }  }   }

编译:javac SOAPClient4XG.java

运行的命令格式: java -classpath . SOAPClient4XG

http://localhost/BokeServices/Service1.asmx c:loginReq.xml

http://tempuri.org/UserLoginReq

不过先不要运行上面的命令,先介绍一下命令行的意思,http://localhost/BokeServices/Service1.asmx是C# WebService的地址;

c:loginReq..xml里的内容是Java客户端类调用WebService方法的xml文件, http://tempuri.org是WebService方法的命名空间,一定要有,否则调用失败,如果你在C# WebServices中使用了方法默认的命名空间的话,就使用http://tempuri.org,否则要与C#中定义的一致,UserLoginReq是C# WebServices的方法名。注意xml文件中的方法名和参数名是与C# WebServices的方法名、参数名是一一对应的(参数顺序是可以颠倒的)。

我先介绍一个简单的例子(c:loginReq.xml),这个xml文件调用了远程C# WebService的UserLoginReq方法,并带UserAcc(用户名)和UserPwd(口令)两个参数,调用成功后C#会自动返回一个xml格式的SOAP包。

〈?xml version="1.0" encoding="utf-8"?〉  〈soap:Envelope xmlns:xsi="  http://www.w3.org/2001/XMLSchema-instance"   xmlns:xsd="http://www.w3.org/2001/XMLSchema"   xmlns:soap="http://schemas.xmlsoap.org/soap/  envelope/"〉  〈soap:Body〉  〈UserLoginReq xmlns="http://tempuri.org/"〉  〈UserAcc〉baozheng〈/UserAcc〉  〈UserPwd〉mypwd〈/UserPwd〉   〈/UserLoginReq〉  〈/soap:Body〉  〈/soap:Envelope〉

现在看一下C# WebServices的UserLoginReq的方法的定义:

public struct UserLoginResp  {  public string UserAcc;  public int Result;  }  [WebMethod]   public UserLoginResp UserLoginReq(string UserAcc,  string UserPwd,int ReqFrom)  {  …  }

注意结构UserLoginResp,C# WebServices返回SOAP信息时会自动将UserLoginResp结构转换成xml的格式。

用此类做xml rpc server 的客户端也很简单,下文是一个客户端rpc.xml文件,调用了xml rpc server 端实现的metaWeblog.deletePost方法。

〈?xml version="1.0" encoding="utf-8"?〉  〈methodCall〉  〈methodName〉metaWeblog.deletePost〈/methodName〉  〈params〉  〈param〉〈value〉appKeyValue〈/value〉〈/param〉  〈param〉〈value〉746〈/value〉〈/param〉   〈param〉〈value〉baozheng〈/value〉〈/param〉  〈param〉〈value〉Hello123〈/value〉〈/param〉  〈/params〉    〈/methodCall〉

调用命令的格式:

java -classpath %CLASSPATH%;. SOAPClient4XG.

http://192.168.25.97:8080/BokeeXmlRpc/xml-rpc rpc.xml

对比调用C# WebServices的命令行,可以看出调用xml rpc server的命令行少一个方法名参数。http://192.168.25.97:8080/BokeeXmlRpc/xml-rpc 是提供xml rpc 调用的server端servlet地址。

感谢各位的阅读!关于“软件使用Java客户端类调用C# WebService”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 软件使用Java客户端类调用C# WebService

本文链接: https://www.lsjlt.com/news/294962.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 软件使用Java客户端类调用C# WebService
    这篇文章给大家分享的是有关软件使用Java客户端类调用C# WebService的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用这个类不用安装任何第三方工具,因为采用http的方式发送xml文件,所以你只需要安...
    99+
    2023-06-18
  • java使用CXF生成客户端实现调用webService接口
    一、使用wsimport生成webService客户端 wsimport是JDK自带的解析wsdl文件生成本地客户端代码的工具。 生成本地客户端代码首先需要有一个wsdl结尾的访问地址或wsdl文件,...
    99+
    2023-09-29
    java 开发语言
  • 如何使用axis调用WebService及Java WebService调用工具类
    目录WebService 简介概述使用 axis 调用 WebService引入依赖WebService 调用工具类总结WebService 简介 概述 能使得运行在不同机器上的不同...
    99+
    2023-05-17
    axis调用webservice接口 java webservice接口调用方式 webservice如何调用
  • Python中WebService客户端接口调用及身份验证的问题
    目录WebService客户端接口调用及身份验证问题Python调用WebService接口踩坑记录1.报错信息2.解决方法WebService客户端接口调用及身份验证问题 最近由于...
    99+
    2024-04-02
  • C++实现简单FTP客户端软件开发
    本文实例为大家分享了C++实现简单FTP客户端软件开发的具体实现代码,供大家参考,具体内容如下 题目 简单FTP客户端软件开发(100分)网络环境中的一项基本应用就是将文件从一台计算...
    99+
    2022-11-13
    C++ FTP 客户端
  • Java的MD5工具类和客户端测试类怎么使用
    这篇文章主要讲解了“Java的MD5工具类和客户端测试类怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的MD5工具类和客户端测试类怎么使用”吧!什么是MD5?Message ...
    99+
    2023-06-22
  • C#中如何使用HttpPost调用WebService
    这篇文章主要介绍了C#中如何使用HttpPost调用WebService,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。WebService服务端代码public c...
    99+
    2023-06-29
  • vnc viewer西西软件,vnc viewer西西软件推荐,vnc客户端使用教程
    VNC作为一个优秀的远程控制软件,一直很受运维和站长等工作人员的喜欢。对于这样的一个软件,很多时候下载就成为了稍微复杂的问题。但如果使用IIS7服务器管理工具则要简单很多,它可以作为vnc的客户端,进行vnc的相关操作!而且,软件下载方便,...
    99+
    2023-06-04
  • openvpn windows客户端使用
    下载这个OpenVPN目前需要 翻 墙 在Google中搜索官网的下载地址,百度现在搜索不到了,在Google Chrome中搜索OpenVPN:https://openvpn.net/index.php/open-source/downl...
    99+
    2023-01-30
    客户端 openvpn windows
  • 如何使用VS Code的REST客户端插件进行API调用
    这篇文章主要介绍“如何使用VS Code的REST客户端插件进行API调用”,在日常操作中,相信很多人在如何使用VS Code的REST客户端插件进行API调用问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2024-04-02
  • openvpn linux客户端使用
    内网服务器是linux的,需要连接openvpn,访问线上的应用服务。需要安装客户端,方法和服务器类似。客户端和服务器端需要保持时间同步,这一点要特别说明一下,如果时间不同步,客户端是无法连接服务器的linux同步北京时间 # y...
    99+
    2023-01-30
    客户端 openvpn linux
  • restyclient使用Java客户端来访问Api
    目录1.使用Resty-client客户端来验证Api的权限2.使用client来执行表单请求3.使用client来发送application/json数据请求4.使用client来...
    99+
    2024-04-02
  • openvpn mac客户端使用
    1.安装Tunnelblick【OpenVPN客户端】Mac上使用OpenVPN,需要安装Tunnelblick【OpenVPN客户端】下载地址:https://tunnelblick.net/downloads.html下载稳定版本安装应...
    99+
    2023-01-30
    客户端 openvpn mac
  • 好用的管理客户软件
    简介 随着企业的不断发展和壮大,客户数量也会不断增加,如何有效地管理和维护客户关系成为了一个重要的问题。因此,一款好用的客户管理软件成为了企业必不可少的工具之一。客户管理软件的重要性提高工作效率使用客户管理软件可以极大地提高工作效率,通过软...
    99+
    2024-01-16
    好用 客户 软件
  • python仅作为客户端调用webser
    对于python仅作为客户端调用webservice的情况,推荐使用suds库来完成,比起zsi,soapy之类,它可以说是相当轻量级,使用非常方便。   1、简单类型的调用: #/bin/python #webservice.py de...
    99+
    2023-01-31
    仅作 客户端 python
  • ​java实现客户端调用的代码怎么写
    下面是一个简单的Java客户端调用示例代码: import java.io.BufferedReader; import java....
    99+
    2023-10-23
    ​java
  • python rpyc客户端怎么调用服务端
    这篇文章主要介绍“python rpyc客户端怎么调用服务端”,在日常操作中,相信很多人在python rpyc客户端怎么调用服务端问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pytho...
    99+
    2023-07-02
  • C#中使用HttpPost调用WebService的方法
    WebService服务端代码 public class WebServiceDemo : System.Web.Services.WebService { ...
    99+
    2024-04-02
  • Java使用Hutool调用WebService接口详解
    提示:本文显示baidu.com,皆为脱敏用,并非真正地址。 目录 前言 一、WebService是什么? 二、使用步骤 1.验证链接。 2.Soap调用测试 3.获取需要用到的数据 4.Hutool工具类调用 三、示例 1.单个入...
    99+
    2023-09-01
    1024程序员节
  • Trojan客户端使用教程
    Trojan客户端使用教程 此教程使用的是 Centos7 x86_64系统 1.开启Trojan客户端代理服务 使用此命令下载Trojan客户端 官方版本(GitHub): cd /usr/sr...
    99+
    2023-09-01
    linux 服务器 windows
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作