gpt4 book ai didi

Java Soap 客户端到 wsdl url

转载 作者:太空宇宙 更新时间:2023-11-04 06:56:20 25 4
gpt4 key购买 nike

我想用一些参数调用soap函数。我是用 python 实现的,但是如何在 java 上实现呢?

我的Python代码:

        url = 'http://78.188.50.246:8086/iskultur?singleWsdl'
client = Client(url)

d = dict(UserId='a', UserPass='b', Barkod=str(value))

result = client.service.Stok(**d)
return int(result)

我怎样才能在java上做到这一点?

谢谢大家

最佳答案

首先您需要生成代理类。您可以使用 wsimport (它是一个 Java SE 工具)来做到这一点:

wsimport -keep http://78.188.50.246:8086/iskultur?singleWsdl

这将生成类(在包中)并将结果放置在当前目录中。我测试了您的 URL,它生成了两个包层次结构(一个从“org”开始,另一个从“com”开始)。上面的命令将保留源代码,因此您可以将这些目录移动到 Java 项目源路径(稍后您应该在构建过程中包含此代码生成步骤)。

使用类路径中生成的类,您现在可以从 WSDL 创建一个 Service 实例(传递 URL 和服务的命名空间限定名称)。我从 WSDL 获得了该信息。

URL wsdlLocation = new URL("http://78.188.50.246:8086/iskultur?singleWsdl");
QName serviceName = new QName("http://tempuri.org/", "EbWCFtoLogo");

Service service = Service.create(wsdlLocation, serviceName);

然后您将获得一个代理,您可以在其中使用 Service.getPort() 传递端口接口(interface) (IEbWCFtoLogo) 来调用 SOAP 方法。现在您有了可以调用远程 SOAP 方法的引用。

IEbWCFtoLogo proxy = service.getPort(IEbWCFtoLogo.class);

wsimport 工具生成了一个接收 3 个参数的 stok() 方法。我使用您使用的一些值进行调用,它在下面的代码中返回 -1.0:

double value = proxy.stok("a", "b", "code");
System.out.println("Result: " + value);

关于Java Soap 客户端到 wsdl url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22699650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com