是否可以使用 Axis2 和 Eclipse 生成 Web 服务客户端并让它使用包中已有的 java 类型,而不是创建它自己的类型。当然,原因是如果我已经创建了类型 A 并且它创建了自己的类型 A,我不能只将类型 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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)