gpt4 book ai didi

java - 使用 Axis 调用 Web 服务中的 SOAPACTION_URI_PROPERTY

转载 作者:行者123 更新时间:2023-12-01 09:53:32 26 4
gpt4 key购买 nike

我想使用 axis 调用 Web 服务。我想使用此代码。有人可以告诉我 Call.SOAPACTION_URI_PROPERTY 的值应该是多少吗?

代码:

         try {

String endpoint = "http://www.w3schools.com/webservices/tempconvert.asmx";

Service service = new Service();
Call call= (Call) service.createCall();

call.setProperty( Call.SOAPACTION_USE_PROPERTY, new Boolean( true ) );
call.setProperty( Call.SOAPACTION_URI_PROPERTY, "http://tempuri.org/CelsiusToFahrenheit");

call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName(new QName("http://tempuri.org/CelsiusToFahrenheit","CelsiusToFahrenheit"));

String ret = (String) call.invoke( new Object[] {"20"} );
System.out.println("Sent '20', got '" + ret + "'");

} catch (Exception e) {
System.err.println(e.toString());
}

最佳答案

在这一行

call.setProperty( Call.SOAPACTION_USE_PROPERTY, new Boolean( true ) );
call.setProperty( Call.SOAPACTION_URI_PROPERTY, "http://tempuri.org/CelsiusToFahrenheit");

您正在告诉您要指定肥皂操作,并且肥皂操作是摄氏度到华氏度。

SOAP 操作不是强制性的,可用于告诉 Web 服务您要执行哪个方法。编辑:

因此要分配的值取决于您的 wsdl 中的规范。您应该找到一些名为“operation name='something'”的标签来查看为 WS 定义了哪些操作。

尝试更换

call.setOperationName(new QName("http://tempuri.org/CelsiusToFahrenheit","CelsiusToFahrenheit"));

call.setOperationName(new QName("http://tempuri.org","CelsiusToFahrenheit"));

关于java - 使用 Axis 调用 Web 服务中的 SOAPACTION_URI_PROPERTY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37429958/

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