当前位置: 首页 > 面试题库 >

Axis2 Web服务客户端生成-类型而不修改客户端

宗沛
2023-03-14
问题内容

Axis2和Eclipse是否可以生成Web
Service客户端,并使其使用包中已经具有的Java类型,而不是创建自己的类型。原因当然是如果我已经创建了类型A,并且它创建了它自己的类型AI,则不能仅将类型A的变量分配给类型B的变量。

wsdl是从部署到应用程序服务器的Web服务生成的。如果无法从中生成它,则可以从已经存在的Java文件中生成一个客户端。


问题答案:

如果您确实想重用现有的类,则可以直接调用Axis2
API,而无需使用wsdl2java生成客户端。以下是一些调用Web服务的相对简单的代码。您只需要填写Web服务端点,方法QName,期望的返回类和服务参数。您可以将现有的类重用作返回值或参数。

如果您的Web服务非常复杂,则可能会发现您必须更深入地研究API才能使这种方法起作用。

serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();

EndpointReference targetEPR = new EndpointReference("http://myservice");

options.setTo(targetEPR);

QName methodName = new QName("ns","methodName");

Class<?>[] returnTypes = new Class[] { String.class };

Object[] args = new Object[] { "parameter" };

Object[] response = serviceClient.invokeBlocking(methodName, args,
                returnTypes);


 类似资料:
  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • 根据客户端与授权服务器安全地进行身份验证的能力(即维护客户端凭据机密性的能力),OAuth定义了两种客户端类型: 机密客户端 能够维持其凭据机密性(如客户端执行在具有对客户端凭据有限访问权限的安全的服务器上),或者能够使用 其他方式保证客户端身份验证的安全性。 公开客户端 不能够维持其凭据的机密性(如客户端执行在由资源所有者使用的设备上,例如已安装的本地应用程序或基于Web浏览器的应用),且不能通

  • 我正在学习系统如何将数百万个连接扩展到一个盒子。 通过早期的一套学习TCP 3路握手,NIO接受连接的方式。我运行了多个测试(简单的客户端-服务器代码),并一直遵循计数器- 在服务器上成功接受的次数() 在客户端成功打开()的次数,即成功计数 在客户端,成功的总和很重要 Ex:要启动的连接数N=10_000 场景1:(没有被服务器拒绝的连接,即在调用opne()时客户端没有引发异常) 服务器成功计

  • 问题内容: 我正在尝试为访问WSDL描述的Web服务的Java应用程序编写模块。WSDL源代码直接从我认为是ASP.NET Web服务的地方下载;服务URL以.asmx扩展名结尾,在浏览器中查看服务URL会显示一个链接,该链接可用于下载WSDL。 对我来说,一个关键要求是能够切换服务URL而无需重新编译。给我的URL显然是一个测试服务器,而且我知道在生产环境中,我将获得要使用的生产URL。我还希望

  • 我有一个包含10个微服务的微服务架构,每个微服务提供一个客户端。在由微服务团队管理/控制的客户机内部,我们只接收参数并将它们传递给一个通用http调用程序,该调用程序接收endpoint和N个params,然后进行调用。所有微服务都使用http和web api(我猜技术并不重要)。 对于我来说,作为微服务团队提供一个客户是没有意义的,应该是消费者的责任,如果他们想创建一些抽象或者直接调用它是他们的

  • 根据本教程使用Azure资源管理器创建Service Fabric集群,我创建了服务器自签名的.pfx证书,然后输入证书指纹、SourceVault、CertificateURL到Azure Portal。 我应该怎么做才能获得客户端证书,才能将它的指纹输入到azure Portal?